Typescript
Typescript
CODE SNIPPETS
========================
TITLE: Run a [Link] Container
DESCRIPTION: Starts an interactive, pseudo-TTY session in a new [Link] container.
The container is automatically removed upon exit. This is a basic command to get a
running [Link] environment.
SOURCE: [Link]
[Link]#_snippet_0
LANGUAGE: docker
CODE:
```
docker run -it --rm node
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_5
LANGUAGE: bash
CODE:
```
c:\> cd work
C:\work> git clone ...tsserverfuzzer...
C:\work> cd tsserverfuzzer
C:\work\tsserverfuzzer> docker run -it --rm -v %cd%:/fuzzer -w /fuzzer -u node node
bash
```
LANGUAGE: powershell
CODE:
```
PS C:\work> cd work
PS C:\work> git clone ...tsserverfuzzer...
PS C:\work> cd tsserverfuzzer
PS C:\work\tsserverfuzzer> docker run -it --rm -v $pwd:/fuzzer -w /fuzzer -u node
node bash
```
----------------------------------------
SOURCE: [Link]
Compiler-API-(TypeScript-1.4).md#_snippet_0
LANGUAGE: bash
CODE:
```
npm install -g typescript
npm link typescript
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_1
LANGUAGE: sh
CODE:
```
npm install -D @types/node
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: sh
CODE:
```
# Install the deps
gem install gollum
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_0
LANGUAGE: sh
CODE:
```
npm install typescript@latest
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_2
LANGUAGE: typescript
CODE:
```
// no provided actors, `assign` should still work
setup().createMachine({
entry: assign(() => ({})),
});
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_0
LANGUAGE: sh
CODE:
```
npm install -g typescript
npm link typescript
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: bash
CODE:
```
cd TypeScript
npm ci
hereby runtests-parallel
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_10
LANGUAGE: dockerfile
CODE:
```
docker run ... -v %USERPROFILE%\.npmrc:/home/node/.npmrc:ro ...
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_11
LANGUAGE: bash
CODE:
```
docker run -it --rm ... node bash
# Inside container:
# apt update; apt install sudo
# Then run your script:
# node /work/[Link] 1 3.3 3.4 false
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_2
LANGUAGE: sh
CODE:
```
npm install @typescript/analyze-trace
npx analyze-trace some_directory
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_3
LANGUAGE: docker
CODE:
```
docker run -it --rm -u node -w /home/node node bash
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_14
LANGUAGE: shell
CODE:
```
C:\> docker ps
... node id ...
C:\> docker exec -it 123 bash
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_6
LANGUAGE: bash
CODE:
```
node@...:/fuzzer$ npm install
...
node@...:/fuzzer$ npm run build
...
node@...:/fuzzer$ git status
...
node@...:/fuzzer$ node lib/Fuzzer/[Link]
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_4
LANGUAGE: docker
CODE:
```
docker run -it --rm -v c:\foo:/work node bash
```
----------------------------------------
TITLE: Run Container with Custom Command
DESCRIPTION: Starts an interactive session in a [Link] container and overrides the
default entrypoint to launch a `bash` shell. This allows executing custom commands
within the container before it exits.
SOURCE: [Link]
[Link]#_snippet_2
LANGUAGE: docker
CODE:
```
docker run -it --rm node bash
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_1
LANGUAGE: docker
CODE:
```
docker run -it --rm node:12
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_7
LANGUAGE: bash
CODE:
```
docker run ...same... -p 9229:9242 node bash
```
----------------------------------------
SOURCE: [Link]
reference/jsxJsxsCjsTransformCustomImportPragma(jsx=react-
jsxdev).[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
/// <reference path="/.lib/[Link]" />
/* @jsxImportSource react */
import "./preact";
const a = <>
<p></p>
text
<div className="foo"></div>
</>
export {};
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_12
LANGUAGE: javascript
CODE:
```
const orGUI =
"Or, as long as you're a gui-dependent windows user,"
+ "just use the docker gui...";
[Link](orGUI);
```
----------------------------------------
SOURCE: [Link]
Compiler-API-(TypeScript-1.4).md#_snippet_4
LANGUAGE: TypeScript
CODE:
```
/// <reference path="typings/node/[Link]" />
/// <reference path="typings/typescript/[Link]" />
import fs = require("fs");
import ts = require("typescript");
import path = require("path");
// Create the language service host to allow the LS to communicate with the
host
var servicesHost: [Link] = {
getScriptFileNames: () => filenames,
getScriptVersion: (filename) => files[filename] &&
files[filename].[Link](),
getScriptSnapshot: (filename) => {
var file = files[filename];
return {
getText: (start, end) => [Link](start, end),
getLength: () => [Link],
getLineStartPositions: () => [],
getChangeRange: (oldSnapshot) => undefined
};
},
getCurrentDirectory: () => [Link](),
getScriptIsOpen: () => true,
getCompilationSettings: () => options,
getDefaultLibFilename:(options) => '[Link]',
log: (message) => [Link](message)
};
[Link](diagnostic => {
var lineChar =
[Link]([Link]);
[Link](` ${[Link] && [Link]} ($
{[Link]},${[Link]}): ${[Link]}`);
});
}
[Link](o => {
[Link]([Link], [Link], "utf8");
});
}
}
// Initialize files constituting the program as all .ts files in the current
directory
var currentDirectoryFiles = [Link]([Link]()).
filter(filename=> [Link] >= 3 && [Link]([Link] - 3,
3) === ".ts");
//map(filename => [Link]([Link](), filename));
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_2
LANGUAGE: APIDOC
CODE:
```
[Link](locales?: string | string[], options?: DisplayNamesOptions)
Provides human-readable names for BCP 47 language tags.
Parameters:
locales: A string with a BCP 47 language tag, or an array of such tags.
options: An object with properties like 'type' (e.g., 'region', 'language',
'script', 'currency') and 'style'.
Example Usage:
const regionNamesInEnglish = new [Link](['en'], { type: 'region' });
[Link]([Link]('US')); // Expected: "United States"
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
const jsx = <>
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
declare const counterLogic: ActorLogic<{ type: "INCREMENT" }>;
// example usage
setup({
actors: { counter: counterLogic },
}).createMachine({
entry: assign((spawn) => {
spawn("counter"); // ok
spawn("alarm"); // error
~~~~~~~
!!! error TS2345: Argument of type '"alarm"' is not assignable to parameter of type
'"counter"'.
return {};
}),
});
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_72
LANGUAGE: typescript
CODE:
```
function prepareBaselineReport(): string {
var reportContent = htmlLeader;
// Delete the [Link] file if needed
if ([Link](reportFilename)) {
reportContent = [Link](reportFilename);
reportContent = [Link](htmlTrailer, '');
} else {
reportContent = htmlLeader;
}
return reportContent;
}
```
----------------------------------------
SOURCE: [Link]
reference/jsxJsxsCjsTransformKeyPropCustomImportPragma(jsx=react-
jsx).[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
/// <reference path="/.lib/[Link]" />
/* @jsxImportSource react */
import "./preact";
const props2 = { answer: 42 }
const a2 = <div key="foo" {...props2}>text</div>;
const b2 = <div {...props2} key="bar">text</div>;
export {};
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: bash
CODE:
```
npm ci
```
----------------------------------------
SOURCE: [Link]
reference/nodeModulesPackageImports(module=node16).[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
// esm format file
import * as cjs from "#cjs";
import * as mjs from "#mjs";
import * as type from "#type";
cjs;
mjs;
type;
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_1
LANGUAGE: text
CODE:
```
Microsoft SDKs Folder:
"%ProgramFiles%\Microsoft SDKs\TypeScript\<version-number>"
(contains [Link] and dependencies)
"%ProgramFiles%\Microsoft SDKs\TypeScript\<version-number>\build"
(versions 2.3+; contains [Link], [Link],
dependencies)
"%ProgramFiles%\Microsoft SDKs\TypeScript\<version-number>\versions"
(versions 2.3+; used by stub target file)
MSBuild folder:
"%ProgramFile%\MSBuild\Microsoft\VisualStudio\v14.0\TypeScript"
(contains stub target file for versions 2.3+)
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_12
LANGUAGE: typescript
CODE:
```
const jsx = > </>;
```
----------------------------------------
SOURCE: [Link]
reference/nodeModulesPackageImports(module=node18).[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
// esm format file
import * as cjs from "#cjs";
import * as mjs from "#mjs";
import * as type from "#type";
cjs;
mjs;
type;
```
----------------------------------------
TITLE: TypeScript: Get Accessor Cannot Have Parameters or Must Return Value
DESCRIPTION: This snippet illustrates TypeScript errors TS1054 and TS2378. TS1054
indicates that a 'get' accessor in a class cannot accept parameters. TS2378
signifies that a 'get' accessor must always return a value, which is not satisfied
in the example.
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: TypeScript
CODE:
```
class C {
get Foo(a: number) { }
~~~
!!! error TS1054: A 'get' accessor cannot have parameters.
~~~
!!! error TS2378: A 'get' accessor must return a value.
}
```
----------------------------------------
SOURCE: [Link]
Server-(tsserver).md#_snippet_0
LANGUAGE: cmd
CODE:
```
npm install --save typescript
ls node_modules\typescript\lib\[Link]
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: bash
CODE:
```
tsc --v
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_15
LANGUAGE: TypeScript
CODE:
```
[Link]();
```
----------------------------------------
TITLE: TypeScript Bot Command Example
DESCRIPTION: Demonstrates how to invoke the TypeScript bot by issuing a command
within a GitHub comment. This is a user-facing interaction example.
SOURCE: [Link]
[Link]#_snippet_0
LANGUAGE: markdown
CODE:
```
@typescript-bot pack this
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: TypeScript
CODE:
```
var dec;
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_15
LANGUAGE: typescript
CODE:
```
/**
* Documentation for C
*/
class C {
/**
* constructor documentation
* @param a my parameter documentation
* @param b another parameter documentation
*/
constructor(a: string, b: C) { }
}
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_15
LANGUAGE: typescript
CODE:
```
export {}; // Silly test harness
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
import 'someModule';
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
module NonGeneric {
class C {
x: string;
get y() {
return 1;
}
set y(v) { }
fn() { return this; }
constructor(public a: number, private b: number) { }
}
LANGUAGE: typescript
CODE:
```
module Generic {
class C<T,U> {
x: T;
get y() {
return null;
}
set y(v: U) { }
fn() { return this; }
constructor(public a: T, private b: U) { }
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
export class C {
foo: string;
}
export var c: C;
var c2: C;
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_19
LANGUAGE: TypeScript
CODE:
```
"use strict";
class Greeter {
constructor(public greeting: string) {
}
greet() {
return "<h1>" + [Link] + "</h1>";
}
}
return greeters;
}
----------------------------------------
SOURCE:
[Link]
28
LANGUAGE: npm
CODE:
```
npx tsc -v
```
LANGUAGE: yarn
CODE:
```
yarn tsc -v
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: bash
CODE:
```
npm install -g hereby
```
----------------------------------------
SOURCE: [Link]
reference/project/maprootUrlSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
// === Auto Imports ===
// @Filename: /[Link]
import { Component } from "./[Link]";
/*|*/
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_0
LANGUAGE: XML
CODE:
```
<Import
Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$
(VisualStudioVersion)\TypeScript\[Link]"
Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$
(VisualStudioVersion)\TypeScript\[Link]')" />
```
----------------------------------------
SOURCE: [Link]
reference/jsxJsxsCjsTransformKeyPropCustomImportPragma(jsx=react-
jsx).[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
/// <reference path="/.lib/[Link]" />
/* @jsxImportSource preact */
const props = { answer: 42 }
const a = <div key="foo" {...props}>text</div>;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
!!! error TS2875: This JSX tag requires the module path 'preact/jsx-runtime' to
exist, but none could be found. Make sure you have types for the appropriate
package installed.
const b = <div {...props} key="bar">text</div>;
export {};
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_4
LANGUAGE: typescript
CODE:
```
import React from "react";
import { createStore } from "redux";
```
----------------------------------------
LANGUAGE: sh
CODE:
```
npm install --no-save pprof-it
```
LANGUAGE: sh
CODE:
```
npm --node-option="--require pprof-it" run <your-script-name>
```
----------------------------------------
SOURCE: [Link]
reference/
[Link]#_snippet_1
LANGUAGE: TypeScript
CODE:
```
class c {
}
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_1
LANGUAGE: XML
CODE:
```
<Import
Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$
(VisualStudioVersion)\TypeScript\[Link]"
Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$
(VisualStudioVersion)\TypeScript\[Link]')" />
```
----------------------------------------
SOURCE: [Link]
reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_4
LANGUAGE: typescript
CODE:
```
export enum E {
A
}
export var r10: typeof E;
export var r11: typeof E.A;
```
----------------------------------------
SOURCE: [Link]
reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
export * as a from './a';
```
----------------------------------------
SOURCE: [Link]
Compiler-API-(TypeScript-1.4).md#_snippet_1
LANGUAGE: typescript
CODE:
```
/// <reference path="typings/node/[Link]" />
/// <reference path="typings/typescript/[Link]" />
import ts = require("typescript");
[Link](diagnostic => {
var lineChar =
[Link]([Link]);
[Link](`${[Link]} (${[Link]},$
{[Link]}): ${[Link]}`);
});
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_13
LANGUAGE: shell
CODE:
```
docker ps
docker rm -f <container-id>
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_2
LANGUAGE: ts
CODE:
```
import { fromBar } from "bar";
fromBar
```
----------------------------------------
SOURCE: [Link]
reference/project/outSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: json
CODE:
```
{ "files": "[Link]" }
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_5
LANGUAGE: typescript
CODE:
```
class Greeter {
greeting: string;
constructor(message: string) {
[Link] = message;
}
greet() {
return "Hello, " + [Link];
}
}
----------------------------------------
SOURCE: [Link]
reference/YieldExpression17_es6.[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var v = { get foo() { yield foo; } }
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_2
LANGUAGE: typescript
CODE:
```
declare function f(): string;
export = f;
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: TypeScript
CODE:
```
namespace Foo {
export namespace Bar {
export class Greeter {
constructor(public greeting: string) {
}
greet() {
return "<h1>" + [Link] + "</h1>";
}
}
return greeters;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_3
LANGUAGE: typescript
CODE:
```
for (; i < 10;) { // ok
i++;
}
```
LANGUAGE: typescript
CODE:
```
for (; i > 1; i--) { // ok
}
```
----------------------------------------
SOURCE: [Link]
reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_16
LANGUAGE: typescript
CODE:
```
"use strict";
class Greeter {
constructor(public greeting: string) {
}
greet() {
return "<h1>" + [Link] + "</h1>";
}
}
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_12
LANGUAGE: typescript
CODE:
```
class C {
public get m3() {
return "Okay, because this is a return expression.";
}
}
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: typescript
CODE:
```
const file = [Link]("/[Link]");
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_52
LANGUAGE: typescript
CODE:
```
var addedFiles = [];
var precompile = () => {
// REVIEW: if any dependency has a triple slash reference then does postCompile
potentially have to do a recreate since we can't update references with updateUnit?
// easy enough to do if so, prefer to avoid the recreate cost until it proves
to be an issue
[Link](dep => {
addUnit([Link], [Link], false,
[Link]([Link]));
[Link]([Link]);
});
};
var postcompile = () => {
[Link](file => {
updateUnit('', file);
});
};
var context = {
filename: filename,
preCompile: precompile,
postCompile: postcompile
};
return context;
```
----------------------------------------
SOURCE: [Link]
reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/
[Link]#_snippet_0
LANGUAGE: typescript
CODE:
```
var m1_a1 = 10;
class m1_c1 {
public m1_c1_p1: number;
}
----------------------------------------
SOURCE: [Link]
reference/extensionLoadingPriority(moduleresolution=node16).[Link]#_snippet_3
LANGUAGE: typescript
CODE:
```
import a from "./[Link]";
import dir from "./dir";
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_3
LANGUAGE: typescript
CODE:
```
type Foo<T extends string> = {
[RemappedT in T as `get${RemappedT}`]: RemappedT;
};
const get = <T extends string>(t: T, foo: Foo<T>): T => foo[`get${t}`]; // Type
'Foo<T>[`get${T}`]' is not assignable to type 'T'
// Error details:
// [Link](82,57): error TS2322: Type 'Foo<T>[`get${T}`]' is not
assignable to type 'T'.
// 'T' could be instantiated with an arbitrary type which could be unrelated to
'Foo<T>[`get${T}`]'.
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_0
LANGUAGE: TypeScript
CODE:
```
export var x = 1;
```
----------------------------------------
SOURCE:
[Link]
LANGUAGE: bash
CODE:
```
npm install typescript@next
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_9
LANGUAGE: json
CODE:
```
{
"name": "sample_project",
"dependencies": {
"your_plugin": "file:..",
"typescript": "^4.4.3"
}
}
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: TypeScript
CODE:
```
var hello = "yo!";
[Link](hello);
```
----------------------------------------
SOURCE: [Link]
[Link]#_snippet_8
LANGUAGE: ts
CODE:
```
function init(modules: { typescript: typeof
import("typescript/lib/tsserverlibrary") }) {
const ts = [Link];
// Diagnostic logging
[Link](
"I'm getting set up now! Check the log for this message."
);
return prior;
};
return proxy;
}
return { create };
}
export = init;
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_1
LANGUAGE: TypeScript
CODE:
```
var hello = "yo!";
[Link](hello);
```
----------------------------------------
SOURCE: [Link]
reference/
[Link]
#_snippet_10
LANGUAGE: TypeScript
CODE:
```
for (var _g = 0, _h = [robotA, robotB]; _g < _h.length; _g++) {
// Loop body would go here
}
```
----------------------------------------
SOURCE: [Link]
reference/[Link]#_snippet_4
LANGUAGE: APIDOC
CODE:
```
new [Link](tag?: string, options?: LocaleOptions)
Creates a new Locale object.
Parameters:
tag: A string representing a BCP 47 language tag.
options: An object with properties to customize the locale.
resolvedOptions(): ResolvedLocaleOptions
Returns an object with the canonicalized locale properties.
Example Usage:
// Creating a Locale object
const locale = new [Link]('en-US');
[Link]([Link]); // "en"
[Link]([Link]); // "US"
// Using resolvedOptions
const localesArg = ["es-ES", new [Link]("en-US")];
[Link]((new [Link](localesArg, {type:
'language'})).resolvedOptions().locale); // "es-ES"
```