From 929735ef7d8bafb29c17e39b26042ada8529e670 Mon Sep 17 00:00:00 2001 From: Alex Jerabek <38896772+AlexJerabek@users.noreply.github.com> Date: Fri, 31 Jul 2026 16:01:07 -0700 Subject: [PATCH 1/8] [office-js, office-js-preview] Revise the TrackedObjects.remove description (#75337) --- types/office-js-preview/index.d.ts | 14 ++++++++------ types/office-js/index.d.ts | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/types/office-js-preview/index.d.ts b/types/office-js-preview/index.d.ts index b4c5cf86b01644..ce221737319f25 100644 --- a/types/office-js-preview/index.d.ts +++ b/types/office-js-preview/index.d.ts @@ -26352,15 +26352,17 @@ declare namespace OfficeExtension { */ add(objects: ClientObject[]): void; /** - * Release the memory associated with an object that was previously added to this collection. - * Having many tracked objects slows down the Office application, so please remember to free any objects you add, once you're done using them. - * You will need to call `context.sync()` before the memory release takes effect. + * If the given proxy object is already in this collection, this method releases the memory associated with the object. + * You need to call `context.sync()` before the memory release takes effect. + * If the given proxy object isn't in this collection, the proxy object won't be stored after `context.sync()` is called. + * This speeds up instances where many objects are created for single-use operations. */ remove(object: ClientObject): void; /** - * Release the memory associated with an object that was previously added to this collection. - * Having many tracked objects slows down the Office application, so please remember to free any objects you add, once you're done using them. - * You will need to call `context.sync()` before the memory release takes effect. + * If the given proxy objects are already in this collection, this method releases the memory associated with the objects. + * You need to call `context.sync()` before the memory release takes effect. + * If the given proxy objects aren't in this collection, the proxy objects won't be stored after `context.sync()` is called. + * This speeds up instances where many objects are created for single-use operations. */ remove(objects: ClientObject[]): void; } diff --git a/types/office-js/index.d.ts b/types/office-js/index.d.ts index 6fd0bd20984cf7..45b2890f4bebe1 100644 --- a/types/office-js/index.d.ts +++ b/types/office-js/index.d.ts @@ -25899,15 +25899,17 @@ declare namespace OfficeExtension { */ add(objects: ClientObject[]): void; /** - * Release the memory associated with an object that was previously added to this collection. - * Having many tracked objects slows down the Office application, so please remember to free any objects you add, once you're done using them. - * You will need to call `context.sync()` before the memory release takes effect. + * If the given proxy object is already in this collection, this method releases the memory associated with the object. + * You need to call `context.sync()` before the memory release takes effect. + * If the given proxy object isn't in this collection, the proxy object won't be stored after `context.sync()` is called. + * This speeds up instances where many objects are created for single-use operations. */ remove(object: ClientObject): void; /** - * Release the memory associated with an object that was previously added to this collection. - * Having many tracked objects slows down the Office application, so please remember to free any objects you add, once you're done using them. - * You will need to call `context.sync()` before the memory release takes effect. + * If the given proxy objects are already in this collection, this method releases the memory associated with the objects. + * You need to call `context.sync()` before the memory release takes effect. + * If the given proxy objects aren't in this collection, the proxy objects won't be stored after `context.sync()` is called. + * This speeds up instances where many objects are created for single-use operations. */ remove(objects: ClientObject[]): void; } From 7ac563702e1ad0558066f1110c7700228333ab43 Mon Sep 17 00:00:00 2001 From: Remco Haszing Date: Sat, 1 Aug 2026 01:17:22 +0200 Subject: [PATCH 2/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75315=20Add=20?= =?UTF-8?q?type=20definitions=20for=20get-form-data=20by=20@remcohaszing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/get-form-data/.npmignore | 5 ++ types/get-form-data/get-form-data-tests.ts | 24 +++++++++ types/get-form-data/index.d.ts | 63 ++++++++++++++++++++++ types/get-form-data/package.json | 17 ++++++ types/get-form-data/tsconfig.json | 20 +++++++ 5 files changed, 129 insertions(+) create mode 100644 types/get-form-data/.npmignore create mode 100644 types/get-form-data/get-form-data-tests.ts create mode 100644 types/get-form-data/index.d.ts create mode 100644 types/get-form-data/package.json create mode 100644 types/get-form-data/tsconfig.json diff --git a/types/get-form-data/.npmignore b/types/get-form-data/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/get-form-data/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/get-form-data/get-form-data-tests.ts b/types/get-form-data/get-form-data-tests.ts new file mode 100644 index 00000000000000..01c1b26953da2f --- /dev/null +++ b/types/get-form-data/get-form-data-tests.ts @@ -0,0 +1,24 @@ +import getFormData, { getFieldData } from "get-form-data"; + +declare const form: HTMLFormElement; + +// $ExpectType Record +let data = getFormData(form); + +data.boolean = true; +data.string = "string"; +data.stringArray = ["string"]; +data.file = new File([], ""); +data.files = [new File([], "")]; + +getFormData(form, {}); +getFormData(form, { includeDisabled: true }); +getFormData(form, { trim: true }); + +// $ExpectType Value | null +let value = getFieldData(form, "name"); +value = getFormData.getFieldData(form, "other"); + +getFieldData(form, "a", {}); +getFieldData(form, "b", { includeDisabled: true }); +getFieldData(form, "c", { trim: true }); diff --git a/types/get-form-data/index.d.ts b/types/get-form-data/index.d.ts new file mode 100644 index 00000000000000..d8ed2b1531ece9 --- /dev/null +++ b/types/get-form-data/index.d.ts @@ -0,0 +1,63 @@ +export interface Options { + /** + * if `true`, disabled inputs will not be ignored. + * + * @default false + */ + includeDisabled?: boolean | undefined; + + /** + * if `true`, leading and trailing whitespace will be trimmed from user input in text entry form + * inputs. + * + * @default false + */ + trim?: boolean | undefined; +} + +export type Value = boolean | string | string[] | File | File[]; + +/** + * Extracts data from a `
`'s `.elements` collection - in order to use `.elements`, form inputs + * must have `name` or `id` attributes. Since multiple inputs can't have the same `id` and a `name` + * allows an input to qualify as a successful control for form submission, `name` attributes are + * preferred and will be given priority if both are present. + * + * @returns + * Properties in the returned data object are mostly consistent with what would have been sent as + * request parameters if the form had been submitted: + * + * * Disabled inputs are ignored by default. + * * Text inputs will always contribute a value, which will be `''` if they are empty. + * * Checkbox inputs will only contribute a value if they are checked, in which case their `value` + * attribute will be used. + * * Form elements which represent multiple values (select-multiple, or multiple inputs with the + * same name, file inputs with `multiple`) will only contribute a value if they have at least one + * value to submit. Their values will always be held in an `Array`, even if there is only one. + * + * Exceptions to this are: + * + * * If a checked checkbox doesn't have a `value` attribute, its value will be `true`. Normally it + * would default to `'on'` when submitted, but this isn't as useful a default on the client. + * * Buttons are completely ignored, as it's only possible to determine which button counts as + * successful after it's been used to submit the form. + */ +declare function getFormData(form: HTMLFormElement, options?: Options): Record; +declare namespace getFormData { + export { getFieldData }; +} +export default getFormData; + +/** + * Extracts data for a named field from a ``'s `.elements` collection. + * + * Options are as documented for {@link getFormData}. + * + * @returns + * This function is used by {@link getFormData}, so the documentation for individual return values + * above also applies. + * + * `null` will be returned if the field is non-existent, disabled, or shouldn't contribute a value + * (e.g. unchecked checkboxes, multiple selects with no selections, file inputs with no selections). + */ +export function getFieldData(form: HTMLFormElement, fieldName: string, options?: Options): Value | null; diff --git a/types/get-form-data/package.json b/types/get-form-data/package.json new file mode 100644 index 00000000000000..b8410f53a757a2 --- /dev/null +++ b/types/get-form-data/package.json @@ -0,0 +1,17 @@ +{ + "private": true, + "name": "@types/get-form-data", + "version": "3.0.9999", + "projects": [ + "https://github.com/insin/get-form-data" + ], + "devDependencies": { + "@types/get-form-data": "workspace:." + }, + "owners": [ + { + "name": "Remco Haszing", + "githubUsername": "remcohaszing" + } + ] +} diff --git a/types/get-form-data/tsconfig.json b/types/get-form-data/tsconfig.json new file mode 100644 index 00000000000000..78eda5056d1d27 --- /dev/null +++ b/types/get-form-data/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "module": "node16", + "lib": [ + "dom", + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "get-form-data-tests.ts" + ] +} From d6df5813e90896647c3fd997d3fadf6879dd6fb5 Mon Sep 17 00:00:00 2001 From: Remco Haszing Date: Sat, 1 Aug 2026 01:17:45 +0200 Subject: [PATCH 3/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75313=20Add=20?= =?UTF-8?q?type=20definitions=20for=20mime-match=20by=20@remcohaszing?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/mime-match/.npmignore | 5 +++++ types/mime-match/index.d.ts | 26 ++++++++++++++++++++++++++ types/mime-match/mime-match-tests.ts | 21 +++++++++++++++++++++ types/mime-match/package.json | 17 +++++++++++++++++ types/mime-match/tsconfig.json | 19 +++++++++++++++++++ 5 files changed, 88 insertions(+) create mode 100644 types/mime-match/.npmignore create mode 100644 types/mime-match/index.d.ts create mode 100644 types/mime-match/mime-match-tests.ts create mode 100644 types/mime-match/package.json create mode 100644 types/mime-match/tsconfig.json diff --git a/types/mime-match/.npmignore b/types/mime-match/.npmignore new file mode 100644 index 00000000000000..93e307400a5456 --- /dev/null +++ b/types/mime-match/.npmignore @@ -0,0 +1,5 @@ +* +!**/*.d.ts +!**/*.d.cts +!**/*.d.mts +!**/*.d.*.ts diff --git a/types/mime-match/index.d.ts b/types/mime-match/index.d.ts new file mode 100644 index 00000000000000..97c76552fbc541 --- /dev/null +++ b/types/mime-match/index.d.ts @@ -0,0 +1,26 @@ +/** + * A simple function to checker whether a target mime type matches a mime-type pattern (e.g. `image/jpeg` matches `image/jpeg` OR `image/*`). + * + * @example + * var match = require('mime-match'); + * + * // exact match + * console.log(match('image/jpeg', 'image/jpeg')); + * // --> true + * + * // wildcard match + * console.log(match('image/jpeg', 'image/*')); + * // --> true + * + * // find which of our wildcard patterns matches a specific mimetype + * console.log(['application/*', 'image/*'].filter(match('image/jpeg'))); + * // --> ['image/*'] + * + * // charset suffix is ignored + * console.log(match('application/json', 'application/json; charset=utf-8')); + * // --> true + */ +declare function match(target: string): (pattern: string) => boolean; +declare function match(target: string, pattern: string): boolean; + +export = match; diff --git a/types/mime-match/mime-match-tests.ts b/types/mime-match/mime-match-tests.ts new file mode 100644 index 00000000000000..d8feade6d06ad4 --- /dev/null +++ b/types/mime-match/mime-match-tests.ts @@ -0,0 +1,21 @@ +import match = require("mime-match"); + +// exact match +// $ExpectType boolean +match("image/jpeg", "image/jpeg"); +// --> true + +// wildcard match +// $ExpectType boolean +match("image/jpeg", "image/*"); +// --> true + +// find which of our wildcard patterns matches a specific mimetype +// $ExpectType string[] +["application/*", "image/*"].filter(match("image/jpeg")); +// --> ['image/*'] + +// charset suffix is ignored +// $ExpectType boolean +match("application/json", "application/json; charset=utf-8"); +// --> true diff --git a/types/mime-match/package.json b/types/mime-match/package.json new file mode 100644 index 00000000000000..16c4e4fb060f78 --- /dev/null +++ b/types/mime-match/package.json @@ -0,0 +1,17 @@ +{ + "private": true, + "name": "@types/mime-match", + "version": "1.0.9999", + "projects": [ + "https://github.com/DamonOehlman/mime-match" + ], + "devDependencies": { + "@types/mime-match": "workspace:." + }, + "owners": [ + { + "name": "Remco Haszing", + "githubUsername": "remcohaszing" + } + ] +} diff --git a/types/mime-match/tsconfig.json b/types/mime-match/tsconfig.json new file mode 100644 index 00000000000000..04481276c2b38b --- /dev/null +++ b/types/mime-match/tsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "module": "node16", + "lib": [ + "es6" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "mime-match-tests.ts" + ] +} From 6079f58d31a49a8bb189e73dbfd581dcb24baecd Mon Sep 17 00:00:00 2001 From: sharpchen <77432836+sharpchen@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:29:17 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75210=20mpv-sc?= =?UTF-8?q?ript:=20add=20mp.input.*=20by=20@sharpchen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/mpv-script/index.d.ts | 126 ++++++++++++++++++++++++++++++++++++ 1 file changed, 126 insertions(+) diff --git a/types/mpv-script/index.d.ts b/types/mpv-script/index.d.ts index 256cc6fcdcc19f..68680114d94dbe 100644 --- a/types/mpv-script/index.d.ts +++ b/types/mpv-script/index.d.ts @@ -1889,6 +1889,132 @@ declare namespace mp { */ function compile_js(fname: string, content_str: string): (...args: unknown[]) => unknown; } + + namespace input { + interface GetOpts { + /** + * The string to be displayed before the input field. + */ + prompt?: string; + + /** + * A callback invoked when the user presses Enter. The first argument is the text in the console. + */ + submit?: (inputText: string) => void; + + /** + * Whether to keep the console open on submit. Defaults to false. + */ + keep_open?: boolean; + + /** + * A callback invoked when the console is shown. This can be used to present a list of options with `input.set_log()`. + */ + opened?: () => void; + + /** + * A callback invoked when the text changes. The first argument is the text in the console. + */ + edited?: (inputText: string) => void; + + /** + * A callback invoked when the user edits the text or moves the cursor. + * The first argument is the text before the cursor. + * The callback should return a table of the string candidate completion values and the 1-based cursor position from which the completion starts. + * console will show the completions that fuzzily match the text between this position and the cursor and allow selecting them. + * The third and optional return value is a string that will be appended to the input line without displaying it in the completions. + */ + complete?: (textBeforeCursor: string) => void; + + /** Whether to automatically select the first completion on submit if one wasn't already manually selected. Defaults to false. */ + autoselect_completion?: boolean; + + /** + * A callback invoked when the console is hidden, either because `input.terminate()` was invoked from the other callbacks, or because the user closed it with a key binding. + * The first argument is the text in the console, and the second argument is the cursor position. + */ + closed?: (inputText: string, cursorPosition: number) => void; + + /** + * A string to pre-fill the input field with. + */ + default_text?: string; + + /** + * The initial cursor position, starting from 1. + */ + cursor_position?: number; + + /** + * If specified, the path to save and load the history of the entered lines. + */ + history_path?: string; + + /** + * An identifier that determines which input history and log buffer to use among the ones stored for `input.get()` calls. + * Defaults to the calling script name with prompt appended. + */ + id?: string; + } + + /** + * Show the console to let the user enter text. + */ + function get(opts: GetOpts): void; + + /** + * Close the console. + */ + function terminate(): void; + + /** + * Add a line to the log buffer. + * `style` can contain additional ASS tags to apply to message, + * and `terminalStyle` can contain escape sequences that are used when the console is displayed in the terminal. + */ + function log(message: string, style?: string, terminalStyle?: string): void; + + /** + * Helper to add a line to the log buffer with the same color as the one used for commands that error. Useful when the user submits invalid input. + */ + function log_error(message: string): void; + + type Log = string | { text: string; style?: string; terminal_style?: string }; + + /** + * Replace the entire log buffer. + * `log` is a list of strings, or list with text, style and terminal_style keys. + */ + function set_log(log: Log[]): void; + + interface SelectOpts { + /** + * The string to be displayed before the input field. + */ + prompt?: string; + /** + * The list of the entries to choose from. + */ + items: string[]; + /** + * The 1-based integer index of the preselected item. + */ + default_item?: number; + /** + * The callback invoked when the user presses Enter. The first argument is the **1-based index** of the selected item. + */ + submit?: (idx: number) => void; + /** + * Whether to keep the console open on submit. Defaults to false. + */ + keep_open?: boolean; + } + + /** + * Specify a list of items that are presented to the user for selection. + */ + function select(opts: SelectOpts): void; + } } /** From 94619aac33894b1a39e4e81a6c70aa71096e823c Mon Sep 17 00:00:00 2001 From: sharpchen <77432836+sharpchen@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:29:47 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75325=20mpv-sc?= =?UTF-8?q?ript:=20add=20mp.format=5Ftime=20by=20@sharpchen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/mpv-script/index.d.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/types/mpv-script/index.d.ts b/types/mpv-script/index.d.ts index 68680114d94dbe..7b99aa48b494b5 100644 --- a/types/mpv-script/index.d.ts +++ b/types/mpv-script/index.d.ts @@ -1767,6 +1767,23 @@ declare namespace mp { */ function get_script_file(): string; + /** + * Format time number into readable string. + * Valid formats: + `%H`, `%h`: hour (`%H` is padded with 0 to two digits) + `%M`: minutes from 00-59 (hours are subtracted) + `%m`: total minutes (includes hours, unlike `%M`) + `%S`: seconds from 00-59 (minutes and hours are subtracted) + `%s`: total seconds (includes hours and minutes) + `%f`: like `%s`, but as float + `%T`: milliseconds (000-999) + * @param time time in seconds + * @param format defaults to `%H:%M:%S` + * @see https://github.com/mpv-player/mpv/blob/48e6c35c0e056d9e4ff04b98e012416697736d8a/common/common.c#L45 + * @see https://github.com/mpv-player/mpv/blob/48e6c35c0e056d9e4ff04b98e012416697736d8a/player/javascript.c#L829 + */ + function format_time(time: number, format?: string): string; + /** * Global modules search paths array for the require function */ From a33d3dc0006be83ea467737a8a9c79f69129efd9 Mon Sep 17 00:00:00 2001 From: Anna Bocharova Date: Sat, 1 Aug 2026 01:35:45 +0200 Subject: [PATCH 6/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75167=20fix(de?= =?UTF-8?q?pd):=20Augmented=20`process.listeners`=20should=20return=20func?= =?UTF-8?q?tions=20by=20@RobinTail?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/depd/depd-tests.ts | 2 ++ types/depd/index.d.ts | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/types/depd/depd-tests.ts b/types/depd/depd-tests.ts index 194b159fe70d2b..5028ce12d34942 100644 --- a/types/depd/depd-tests.ts +++ b/types/depd/depd-tests.ts @@ -40,3 +40,5 @@ process.on("deprecation", error => { err.namespace; // $ExpectType string err.stack; // $ExpectType string }); + +process.listeners("deprecation"); // $ExpectType ((deprecationError: DeprecationError) => void)[] diff --git a/types/depd/index.d.ts b/types/depd/index.d.ts index 450499e7b4df7d..f6eeb5fc8b14e1 100644 --- a/types/depd/index.d.ts +++ b/types/depd/index.d.ts @@ -31,7 +31,7 @@ declare global { event: "deprecation", listener: (deprecationError: depd.DeprecationError) => void, ): this; - listeners(event: "deprecation"): depd.DeprecationError[]; + listeners(event: "deprecation"): Array<(deprecationError: depd.DeprecationError) => void>; } } } From 8cefc2192126e49a3a3deff8e79b946a79f44151 Mon Sep 17 00:00:00 2001 From: Mike Cornwell Date: Fri, 31 Jul 2026 16:21:58 -1000 Subject: [PATCH 7/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75199=20Lodash?= =?UTF-8?q?:=20Add=20support=20for=20missing=20module=20level=20lodash=20e?= =?UTF-8?q?xports.=20by=20@macornwell?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/lodash/conforms.d.ts | 2 ++ types/lodash/lodash-tests.ts | 12 ++++++++++++ types/lodash/stubArray.d.ts | 2 ++ types/lodash/stubObject.d.ts | 2 ++ types/lodash/stubString.d.ts | 2 ++ 5 files changed, 20 insertions(+) create mode 100644 types/lodash/conforms.d.ts create mode 100644 types/lodash/stubArray.d.ts create mode 100644 types/lodash/stubObject.d.ts create mode 100644 types/lodash/stubString.d.ts diff --git a/types/lodash/conforms.d.ts b/types/lodash/conforms.d.ts new file mode 100644 index 00000000000000..b895ef36f4d14e --- /dev/null +++ b/types/lodash/conforms.d.ts @@ -0,0 +1,2 @@ +import { conforms } from "./index"; +export = conforms; diff --git a/types/lodash/lodash-tests.ts b/types/lodash/lodash-tests.ts index 562dec48a6ddb6..9a69c3d4daa58b 100644 --- a/types/lodash/lodash-tests.ts +++ b/types/lodash/lodash-tests.ts @@ -1,6 +1,10 @@ // eslint-disable-next-line @definitelytyped/no-relative-import-in-test import fp = require("./fp"); import _ = require("lodash"); +import conforms = require("lodash/conforms"); +import stubArray = require("lodash/stubArray"); +import stubObject = require("lodash/stubObject"); +import stubString = require("lodash/stubString"); import type { GetFieldType, @@ -3964,6 +3968,7 @@ fp.now(); // $ExpectType number _({ foo: (v: string) => false }).conforms().value()({ foo: "foo" }); // $ExpectType boolean _.chain({ foo: (v: string) => false }).conforms().value()({ foo: "foo" }); // $ExpectType boolean fp.conforms({ foo: (v: string) => false })({ foo: "foo" }); // $ExpectType boolean + conforms({ foo: (v: string) => false })({ foo: "foo" }); // $ExpectType boolean } // _.conformsTo @@ -7835,3 +7840,10 @@ _.templateSettings; // $ExpectType TemplateSettings type C = GetFieldType; // $ExpectType 'ObjValA' | undefined type D = GetFieldType; // $ExpectType number | undefined } + +// Stub modules +{ + stubArray(); // $ExpectType any[] + stubObject(); // $ExpectType any + stubString(); // $ExpectType string +} diff --git a/types/lodash/stubArray.d.ts b/types/lodash/stubArray.d.ts new file mode 100644 index 00000000000000..14d2735057b229 --- /dev/null +++ b/types/lodash/stubArray.d.ts @@ -0,0 +1,2 @@ +import { stubArray } from "./index"; +export = stubArray; diff --git a/types/lodash/stubObject.d.ts b/types/lodash/stubObject.d.ts new file mode 100644 index 00000000000000..bdb29a506441d9 --- /dev/null +++ b/types/lodash/stubObject.d.ts @@ -0,0 +1,2 @@ +import { stubObject } from "./index"; +export = stubObject; diff --git a/types/lodash/stubString.d.ts b/types/lodash/stubString.d.ts new file mode 100644 index 00000000000000..5792de16018891 --- /dev/null +++ b/types/lodash/stubString.d.ts @@ -0,0 +1,2 @@ +import { stubString } from "./index"; +export = stubString; From d1681105afb72067bf9dbd2ecfb7f400cb45ac5e Mon Sep 17 00:00:00 2001 From: Jimmy Leung <43258070+hkleungai@users.noreply.github.com> Date: Sat, 1 Aug 2026 11:35:02 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75204=20feat(l?= =?UTF-8?q?eaflet):=20Widen=20DivIconOptions.html=20type=20to=20Element=20?= =?UTF-8?q?by=20@hkleungai?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- types/leaflet/index.d.ts | 2 +- types/leaflet/leaflet-tests.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/types/leaflet/index.d.ts b/types/leaflet/index.d.ts index 8861fff8d2861f..240ebfd555e6d6 100644 --- a/types/leaflet/index.d.ts +++ b/types/leaflet/index.d.ts @@ -3023,7 +3023,7 @@ export namespace Icon { export function icon(options: IconOptions): Icon; export interface DivIconOptions extends BaseIconOptions { - html?: string | HTMLElement | false | undefined; + html?: string | Element | false | undefined; bgPos?: PointExpression | undefined; iconSize?: PointExpression | undefined; iconAnchor?: PointExpression | undefined; diff --git a/types/leaflet/leaflet-tests.ts b/types/leaflet/leaflet-tests.ts index 7f2db3cb8e2441..2e28c64ed6becb 100644 --- a/types/leaflet/leaflet-tests.ts +++ b/types/leaflet/leaflet-tests.ts @@ -706,7 +706,7 @@ class MyDivIcon extends L.DivIcon { } const divIconHtmlAsString = L.divIcon({ html: "" }); -const divIconHtmlAsElement = L.divIcon({ html: htmlElement }); +const divIconHtmlAsElement = L.divIcon({ html: svgElement }); const divIconHtmlAsFalse = L.divIcon({ html: false }); let defaultIcon = new L.Icon.Default(); defaultIcon = new L.Icon.Default({ imagePath: "apath" });