diff --git a/tests/baselines/reference/typesForUrlSearchParams01.errors.txt b/tests/baselines/reference/typesForUrlSearchParams01.errors.txt new file mode 100644 index 00000000000..964029aab3e --- /dev/null +++ b/tests/baselines/reference/typesForUrlSearchParams01.errors.txt @@ -0,0 +1,65 @@ +typesForUrlSearchParams01.ts(2,5): error TS2322: Type '[string, string]' is not assignable to type 'string'. +typesForUrlSearchParams01.ts(3,5): error TS2322: Type '[string, true]' is not assignable to type 'string'. +typesForUrlSearchParams01.ts(4,5): error TS2322: Type '[string, false]' is not assignable to type 'string'. +typesForUrlSearchParams01.ts(5,5): error TS2322: Type '[string, number]' is not assignable to type 'string'. +typesForUrlSearchParams01.ts(8,22): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +typesForUrlSearchParams01.ts(9,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +typesForUrlSearchParams01.ts(10,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. +typesForUrlSearchParams01.ts(17,28): error TS2495: Type 'URLSearchParams' is not an array type or a string type. +typesForUrlSearchParams01.ts(21,37): error TS2339: Property 'entries' does not exist on type 'URLSearchParams'. +typesForUrlSearchParams01.ts(25,30): error TS2339: Property 'values' does not exist on type 'URLSearchParams'. + + +==== typesForUrlSearchParams01.ts (10 errors) ==== + export const carQuery = new URLSearchParams([ + ["query", "suv"], + ~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '[string, string]' is not assignable to type 'string'. + ["new", true], + ~~~~~~~~~~~~~ +!!! error TS2322: Type '[string, true]' is not assignable to type 'string'. + ["accidents", false], + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '[string, false]' is not assignable to type 'string'. + ["miles", 42_000], + ~~~~~~~~~~~~~~~~~ +!!! error TS2322: Type '[string, number]' is not assignable to type 'string'. + ]); + + carQuery.set("used", true); + ~~~~ +!!! error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. + carQuery.append("year", 2023); + ~~~~ +!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. + carQuery.append("year", 2024); + ~~~~ +!!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'string'. + + let str: string | null, strs: string[]; + + str = carQuery.get("query"); + strs = carQuery.getAll("year"); + + for (const [key, value] of carQuery) { + ~~~~~~~~ +!!! error TS2495: Type 'URLSearchParams' is not an array type or a string type. + str = key; + str = value; + } + for (const [key, value] of carQuery.entries()) { + ~~~~~~~ +!!! error TS2339: Property 'entries' does not exist on type 'URLSearchParams'. + str = key; + str = value; + } + for (const value of carQuery.values()) { + ~~~~~~ +!!! error TS2339: Property 'values' does not exist on type 'URLSearchParams'. + str = value; + } + carQuery.forEach((value, key) => { + str = key; + str = value; + }); + \ No newline at end of file diff --git a/tests/baselines/reference/typesForUrlSearchParams01.js b/tests/baselines/reference/typesForUrlSearchParams01.js new file mode 100644 index 00000000000..9e73281da10 --- /dev/null +++ b/tests/baselines/reference/typesForUrlSearchParams01.js @@ -0,0 +1,70 @@ +//// [tests/cases/compiler/typesForUrlSearchParams01.ts] //// + +//// [typesForUrlSearchParams01.ts] +export const carQuery = new URLSearchParams([ + ["query", "suv"], + ["new", true], + ["accidents", false], + ["miles", 42_000], +]); + +carQuery.set("used", true); +carQuery.append("year", 2023); +carQuery.append("year", 2024); + +let str: string | null, strs: string[]; + +str = carQuery.get("query"); +strs = carQuery.getAll("year"); + +for (const [key, value] of carQuery) { + str = key; + str = value; +} +for (const [key, value] of carQuery.entries()) { + str = key; + str = value; +} +for (const value of carQuery.values()) { + str = value; +} +carQuery.forEach((value, key) => { + str = key; + str = value; +}); + + +//// [typesForUrlSearchParams01.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.carQuery = void 0; +exports.carQuery = new URLSearchParams([ + ["query", "suv"], + ["new", true], + ["accidents", false], + ["miles", 42000], +]); +exports.carQuery.set("used", true); +exports.carQuery.append("year", 2023); +exports.carQuery.append("year", 2024); +var str, strs; +str = exports.carQuery.get("query"); +strs = exports.carQuery.getAll("year"); +for (var _i = 0, carQuery_1 = exports.carQuery; _i < carQuery_1.length; _i++) { + var _a = carQuery_1[_i], key = _a[0], value = _a[1]; + str = key; + str = value; +} +for (var _b = 0, _c = exports.carQuery.entries(); _b < _c.length; _b++) { + var _d = _c[_b], key = _d[0], value = _d[1]; + str = key; + str = value; +} +for (var _e = 0, _f = exports.carQuery.values(); _e < _f.length; _e++) { + var value = _f[_e]; + str = value; +} +exports.carQuery.forEach(function (value, key) { + str = key; + str = value; +}); diff --git a/tests/baselines/reference/typesForUrlSearchParams01.symbols b/tests/baselines/reference/typesForUrlSearchParams01.symbols new file mode 100644 index 00000000000..2b1fcf46e78 --- /dev/null +++ b/tests/baselines/reference/typesForUrlSearchParams01.symbols @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/typesForUrlSearchParams01.ts] //// + +=== typesForUrlSearchParams01.ts === +export const carQuery = new URLSearchParams([ +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>URLSearchParams : Symbol(URLSearchParams, Decl(lib.dom.d.ts, --, --), Decl(lib.dom.d.ts, --, --)) + + ["query", "suv"], + ["new", true], + ["accidents", false], + ["miles", 42_000], +]); + +carQuery.set("used", true); +>carQuery.set : Symbol(URLSearchParams.set, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>set : Symbol(URLSearchParams.set, Decl(lib.dom.d.ts, --, --)) + +carQuery.append("year", 2023); +>carQuery.append : Symbol(URLSearchParams.append, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>append : Symbol(URLSearchParams.append, Decl(lib.dom.d.ts, --, --)) + +carQuery.append("year", 2024); +>carQuery.append : Symbol(URLSearchParams.append, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>append : Symbol(URLSearchParams.append, Decl(lib.dom.d.ts, --, --)) + +let str: string | null, strs: string[]; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>strs : Symbol(strs, Decl(typesForUrlSearchParams01.ts, 11, 23)) + +str = carQuery.get("query"); +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>carQuery.get : Symbol(URLSearchParams.get, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>get : Symbol(URLSearchParams.get, Decl(lib.dom.d.ts, --, --)) + +strs = carQuery.getAll("year"); +>strs : Symbol(strs, Decl(typesForUrlSearchParams01.ts, 11, 23)) +>carQuery.getAll : Symbol(URLSearchParams.getAll, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>getAll : Symbol(URLSearchParams.getAll, Decl(lib.dom.d.ts, --, --)) + +for (const [key, value] of carQuery) { +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 16, 12)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 16, 16)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) + + str = key; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 16, 12)) + + str = value; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 16, 16)) +} +for (const [key, value] of carQuery.entries()) { +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 20, 12)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 20, 16)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) + + str = key; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 20, 12)) + + str = value; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 20, 16)) +} +for (const value of carQuery.values()) { +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 24, 10)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) + + str = value; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 24, 10)) +} +carQuery.forEach((value, key) => { +>carQuery.forEach : Symbol(URLSearchParams.forEach, Decl(lib.dom.d.ts, --, --)) +>carQuery : Symbol(carQuery, Decl(typesForUrlSearchParams01.ts, 0, 12)) +>forEach : Symbol(URLSearchParams.forEach, Decl(lib.dom.d.ts, --, --)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 27, 18)) +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 27, 24)) + + str = key; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>key : Symbol(key, Decl(typesForUrlSearchParams01.ts, 27, 24)) + + str = value; +>str : Symbol(str, Decl(typesForUrlSearchParams01.ts, 11, 3)) +>value : Symbol(value, Decl(typesForUrlSearchParams01.ts, 27, 18)) + +}); + diff --git a/tests/baselines/reference/typesForUrlSearchParams01.types b/tests/baselines/reference/typesForUrlSearchParams01.types new file mode 100644 index 00000000000..9b81c5543d7 --- /dev/null +++ b/tests/baselines/reference/typesForUrlSearchParams01.types @@ -0,0 +1,143 @@ +//// [tests/cases/compiler/typesForUrlSearchParams01.ts] //// + +=== typesForUrlSearchParams01.ts === +export const carQuery = new URLSearchParams([ +>carQuery : URLSearchParams +>new URLSearchParams([ ["query", "suv"], ["new", true], ["accidents", false], ["miles", 42_000],]) : URLSearchParams +>URLSearchParams : { new (init?: string | string[][] | Record | URLSearchParams | undefined): URLSearchParams; prototype: URLSearchParams; } +>[ ["query", "suv"], ["new", true], ["accidents", false], ["miles", 42_000],] : ((string | boolean)[] | (string | number)[])[] + + ["query", "suv"], +>["query", "suv"] : string[] +>"query" : "query" +>"suv" : "suv" + + ["new", true], +>["new", true] : (string | boolean)[] +>"new" : "new" +>true : true + + ["accidents", false], +>["accidents", false] : (string | boolean)[] +>"accidents" : "accidents" +>false : false + + ["miles", 42_000], +>["miles", 42_000] : (string | number)[] +>"miles" : "miles" +>42_000 : 42000 + +]); + +carQuery.set("used", true); +>carQuery.set("used", true) : void +>carQuery.set : (name: string, value: string) => void +>carQuery : URLSearchParams +>set : (name: string, value: string) => void +>"used" : "used" +>true : true + +carQuery.append("year", 2023); +>carQuery.append("year", 2023) : void +>carQuery.append : (name: string, value: string) => void +>carQuery : URLSearchParams +>append : (name: string, value: string) => void +>"year" : "year" +>2023 : 2023 + +carQuery.append("year", 2024); +>carQuery.append("year", 2024) : void +>carQuery.append : (name: string, value: string) => void +>carQuery : URLSearchParams +>append : (name: string, value: string) => void +>"year" : "year" +>2024 : 2024 + +let str: string | null, strs: string[]; +>str : string | null +>strs : string[] + +str = carQuery.get("query"); +>str = carQuery.get("query") : string | null +>str : string | null +>carQuery.get("query") : string | null +>carQuery.get : (name: string) => string | null +>carQuery : URLSearchParams +>get : (name: string) => string | null +>"query" : "query" + +strs = carQuery.getAll("year"); +>strs = carQuery.getAll("year") : string[] +>strs : string[] +>carQuery.getAll("year") : string[] +>carQuery.getAll : (name: string) => string[] +>carQuery : URLSearchParams +>getAll : (name: string) => string[] +>"year" : "year" + +for (const [key, value] of carQuery) { +>key : any +>value : any +>carQuery : URLSearchParams + + str = key; +>str = key : any +>str : string | null +>key : any + + str = value; +>str = value : any +>str : string | null +>value : any +} +for (const [key, value] of carQuery.entries()) { +>key : any +>value : any +>carQuery.entries() : any +>carQuery.entries : any +>carQuery : URLSearchParams +>entries : any + + str = key; +>str = key : any +>str : string | null +>key : any + + str = value; +>str = value : any +>str : string | null +>value : any +} +for (const value of carQuery.values()) { +>value : any +>carQuery.values() : any +>carQuery.values : any +>carQuery : URLSearchParams +>values : any + + str = value; +>str = value : any +>str : string | null +>value : any +} +carQuery.forEach((value, key) => { +>carQuery.forEach((value, key) => { str = key; str = value;}) : void +>carQuery.forEach : (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void +>carQuery : URLSearchParams +>forEach : (callbackfn: (value: string, key: string, parent: URLSearchParams) => void, thisArg?: any) => void +>(value, key) => { str = key; str = value;} : (value: string, key: string) => void +>value : string +>key : string + + str = key; +>str = key : string +>str : string | null +>key : string + + str = value; +>str = value : string +>str : string | null +>value : string + +}); +