|
| 1 | +local validator = require('orgmode.utils.validator') |
1 | 2 | ---@diagnostic disable: undefined-field |
2 | 3 | -- Taken from https://github.com/notomo/promise.nvim |
3 | 4 |
|
@@ -45,7 +46,7 @@ local new_empty_userdata = function() |
45 | 46 | end |
46 | 47 |
|
47 | 48 | local new_pending = function(on_fullfilled, on_rejected) |
48 | | - vim.validate({ |
| 49 | + validator.validate({ |
49 | 50 | on_fullfilled = { on_fullfilled, 'function', true }, |
50 | 51 | on_rejected = { on_rejected, 'function', true }, |
51 | 52 | }) |
|
79 | 80 | --- @param executor fun(resolve:fun(...:any),reject:fun(...:any)) |
80 | 81 | --- @return OrgPromise |
81 | 82 | function Promise.new(executor) |
82 | | - vim.validate({ executor = { executor, 'function' } }) |
| 83 | + validator.validate({ executor = { executor, 'function' } }) |
83 | 84 |
|
84 | 85 | local self = new_pending() |
85 | 86 |
|
|
219 | 220 | --- @param on_rejected (fun(...:any):any)?: A callback on rejected. |
220 | 221 | --- @return OrgPromise |
221 | 222 | function Promise.next(self, on_fullfilled, on_rejected) |
222 | | - vim.validate({ |
| 223 | + validator.validate({ |
223 | 224 | on_fullfilled = { on_fullfilled, 'function', true }, |
224 | 225 | on_rejected = { on_rejected, 'function', true }, |
225 | 226 | }) |
|
247 | 248 | --- @param on_finally fun() |
248 | 249 | --- @return OrgPromise |
249 | 250 | function Promise.finally(self, on_finally) |
250 | | - vim.validate({ on_finally = { on_finally, 'function', true } }) |
| 251 | + validator.validate({ on_finally = { on_finally, 'function', true } }) |
251 | 252 | return self |
252 | 253 | :next(function(...) |
253 | 254 | on_finally() |
|
307 | 308 | --- @param list any[]: promise or non-promise values |
308 | 309 | --- @return OrgPromise |
309 | 310 | function Promise.all(list) |
310 | | - vim.validate({ list = { list, 'table' } }) |
| 311 | + validator.validate({ list = { list, 'table' } }) |
311 | 312 | return Promise.new(function(resolve, reject) |
312 | 313 | local remain = #list |
313 | 314 | if remain == 0 then |
|
338 | 339 | --- @param concurrency? number: limit number of concurrent items processing |
339 | 340 | --- @return OrgPromise |
340 | 341 | function Promise.map(callback, list, concurrency) |
341 | | - vim.validate({ |
| 342 | + validator.validate({ |
342 | 343 | list = { list, 'table' }, |
343 | 344 | callback = { callback, 'function' }, |
344 | 345 | concurrency = { concurrency, 'number', true }, |
|
383 | 384 | --- @param list any[]: promise or non-promise values |
384 | 385 | --- @return OrgPromise |
385 | 386 | function Promise.race(list) |
386 | | - vim.validate({ list = { list, 'table' } }) |
| 387 | + validator.validate({ list = { list, 'table' } }) |
387 | 388 | return Promise.new(function(resolve, reject) |
388 | 389 | for _, e in ipairs(list) do |
389 | 390 | Promise.resolve(e) |
|
402 | 403 | --- @param list any[]: promise or non-promise values |
403 | 404 | --- @return OrgPromise |
404 | 405 | function Promise.any(list) |
405 | | - vim.validate({ list = { list, 'table' } }) |
| 406 | + validator.validate({ list = { list, 'table' } }) |
406 | 407 | return Promise.new(function(resolve, reject) |
407 | 408 | local remain = #list |
408 | 409 | if remain == 0 then |
|
432 | 433 | --- @param list any[]: promise or non-promise values |
433 | 434 | --- @return OrgPromise |
434 | 435 | function Promise.all_settled(list) |
435 | | - vim.validate({ list = { list, 'table' } }) |
| 436 | + validator.validate({ list = { list, 'table' } }) |
436 | 437 | return Promise.new(function(resolve) |
437 | 438 | local remain = #list |
438 | 439 | if remain == 0 then |
|
0 commit comments