@marko/language-server 2.1.6 → 2.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -170,7 +170,10 @@ declare global {
170
170
  export function renderDynamicTag<Name>(tag: Name): DynamicRenderer<Name>;
171
171
 
172
172
  export function returnTag<
173
- Input extends { value: unknown; valueChange?: (value: any) => void },
173
+ Input extends {
174
+ value: unknown;
175
+ valueChange?: ((value: any) => void) | false | null;
176
+ },
174
177
  >(input: Input): Input;
175
178
 
176
179
  export function forOfTag<
@@ -221,6 +224,21 @@ declare global {
221
224
  content: BodyContent,
222
225
  ): ReturnAndScope<BodyContentScope<BodyContent>, void>;
223
226
 
227
+ export function forUntilTag<
228
+ From extends void | number,
229
+ Until extends number,
230
+ Step extends void | number,
231
+ BodyContent extends Marko.Body<[index: number], void>,
232
+ >(
233
+ input: {
234
+ from?: From;
235
+ until: Until;
236
+ step?: Step;
237
+ by?: (index: number) => string;
238
+ },
239
+ content: BodyContent,
240
+ ): ReturnAndScope<BodyContentScope<BodyContent>, void>;
241
+
224
242
  export function forTag<BodyContent extends AnyMarkoBody>(
225
243
  input: (
226
244
  | {
@@ -228,6 +246,11 @@ declare global {
228
246
  to: number;
229
247
  step?: number;
230
248
  }
249
+ | {
250
+ from?: number;
251
+ until: number;
252
+ step?: number;
253
+ }
231
254
  | {
232
255
  in: object | false | void | null;
233
256
  }
@@ -298,6 +321,32 @@ declare global {
298
321
  : never;
299
322
  };
300
323
 
324
+ export function forUntilAttrTag<
325
+ From extends void | number,
326
+ Until extends number,
327
+ Step extends void | number,
328
+ const Return,
329
+ >(
330
+ input: {
331
+ from?: From;
332
+ until: Until;
333
+ step?: Step;
334
+ },
335
+ content: (index: number) => Return,
336
+ ): {
337
+ [Key in keyof Return]: Return[Key] extends
338
+ | readonly (infer Item)[]
339
+ | (infer Item extends Record<PropertyKey, any>)
340
+ ? number extends From | Until | Step
341
+ ? undefined | Marko.AttrTag<Item>
342
+ : Step extends 0
343
+ ? never
344
+ : [Until] extends [From extends void ? 0 : From]
345
+ ? undefined
346
+ : Marko.AttrTag<Item>
347
+ : never;
348
+ };
349
+
301
350
  export function forAttrTag<const Return>(
302
351
  input:
303
352
  | {
@@ -310,6 +359,11 @@ declare global {
310
359
  from?: number;
311
360
  to: number;
312
361
  step?: number;
362
+ }
363
+ | {
364
+ from?: number;
365
+ until: number;
366
+ step?: number;
313
367
  },
314
368
  content: (...args: unknown[]) => Return,
315
369
  ): {
package/package.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@marko/language-server",
3
3
  "description": "Marko Language Server",
4
- "version": "2.1.6",
4
+ "version": "2.1.8",
5
5
  "bin": {
6
6
  "marko-language-server": "./bin.js"
7
7
  },
8
8
  "bugs": "https://github.com/marko-js/language-server/issues/new?template=Bug_report.md",
9
9
  "dependencies": {
10
10
  "@luxass/strip-json-comments": "^1.4.0",
11
- "@marko/language-tools": "^2.5.32",
12
- "@marko/compiler": "^5.39.33",
11
+ "@marko/language-tools": "^2.5.34",
12
+ "@marko/compiler": "^5.39.35",
13
13
  "htmljs-parser": "^5.7.4",
14
- "marko": "^5.37.47",
14
+ "marko": "^5.37.55",
15
15
  "prettier": "^3.6.2",
16
16
  "prettier-plugin-marko": "^3.3.2",
17
17
  "relative-import-path": "^1.0.0",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/jsdom": "21.1.7",
28
- "tsx": "^4.20.4"
28
+ "tsx": "^4.20.5"
29
29
  },
30
30
  "exports": {
31
31
  ".": {