Skip to content

Commit 146cf7f

Browse files
committed
Merge remote-tracking branch 'prfork/fix-ts-optional' into types-v2-fixes
Merge PR processing#7863
2 parents 20ce8c7 + 1b7e808 commit 146cf7f

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

package.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,14 @@
6969
"license": "LGPL-2.1",
7070
"browser": "./lib/p5.min.js",
7171
"exports": {
72-
".": "./dist/app.js",
73-
"./core": "./dist/core/main.js",
72+
".": {
73+
"types": "./types/p5.d.ts",
74+
"default": "./dist/app.js"
75+
},
76+
"./core": {
77+
"types": "./types/core/main.d.ts",
78+
"default": "./dist/core/main.js"
79+
},
7480
"./shape": "./dist/shape/index.js",
7581
"./accessibility": "./dist/accessibility/index.js",
7682
"./friendlyErrors": "./dist/core/friendlyErrors/index.js",

utils/helper.mjs

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,8 @@ function generateDeclarationFile(items, organizedData) {
286286
params: (entry.params || []).map(param => ({
287287
name: param.name,
288288
type: generateTypeFromTag(param),
289-
optional: param.type?.type === 'OptionalType'
289+
optional: param.type?.type === 'OptionalType',
290+
rest: param.type?.type === 'RestType'
290291
})),
291292
module,
292293
submodule,
@@ -307,9 +308,14 @@ function generateDeclarationFile(items, organizedData) {
307308
params: (entry.params || []).map(param => ({
308309
name: param.name,
309310
type: generateTypeFromTag(param),
310-
optional: param.type?.type === 'OptionalType'
311+
optional: param.type?.type === 'OptionalType',
312+
rest: param.type?.type === 'RestType'
311313
})),
312-
returnType: entry.returns?.[0] ? generateTypeFromTag(entry.returns[0]) : 'void',
314+
returnType: entry.tags?.find(tag => tag.title === "chainable")
315+
? "this"
316+
: entry.returns?.[0]
317+
? generateTypeFromTag(entry.returns[0])
318+
: 'void',
313319
module,
314320
submodule,
315321
class: className,
@@ -423,7 +429,7 @@ export function generateTypeFromTag(param) {
423429

424430
let type = param.type;
425431
let prefix = '';
426-
const isOptional = param.type?.type === 'OptionalType';
432+
const isOptional = param.optional || param.type?.type === 'OptionalType';
427433
if (typeof type === 'string') {
428434
type = normalizeTypeName(type);
429435
} else if (param.type?.type) {
@@ -432,7 +438,7 @@ export function generateTypeFromTag(param) {
432438
type = 'any';
433439
}
434440

435-
if (param.type?.type === 'RestType') {
441+
if (param.rest || param.type?.type === 'RestType') {
436442
prefix = '...';
437443
}
438444

0 commit comments

Comments
 (0)