bullmq 4.15.3 → 4.16.0

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.
Files changed (37) hide show
  1. package/dist/cjs/classes/flow-producer.js +38 -14
  2. package/dist/cjs/classes/flow-producer.js.map +1 -1
  3. package/dist/cjs/classes/queue-base.js +2 -2
  4. package/dist/cjs/classes/queue-base.js.map +1 -1
  5. package/dist/cjs/classes/queue-getters.js +31 -0
  6. package/dist/cjs/classes/queue-getters.js.map +1 -1
  7. package/dist/cjs/classes/scripts.js +57 -0
  8. package/dist/cjs/classes/scripts.js.map +1 -1
  9. package/dist/cjs/commands/includes/findPage.lua +70 -0
  10. package/dist/cjs/commands/paginate-1.lua +49 -0
  11. package/dist/cjs/scripts/index.js +1 -0
  12. package/dist/cjs/scripts/index.js.map +1 -1
  13. package/dist/cjs/scripts/paginate-1.js +110 -0
  14. package/dist/cjs/scripts/paginate-1.js.map +1 -0
  15. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  16. package/dist/esm/classes/flow-producer.d.ts +18 -6
  17. package/dist/esm/classes/flow-producer.js +38 -14
  18. package/dist/esm/classes/flow-producer.js.map +1 -1
  19. package/dist/esm/classes/queue-base.d.ts +1 -1
  20. package/dist/esm/classes/queue-base.js +2 -2
  21. package/dist/esm/classes/queue-base.js.map +1 -1
  22. package/dist/esm/classes/queue-getters.d.ts +26 -1
  23. package/dist/esm/classes/queue-getters.js +31 -0
  24. package/dist/esm/classes/queue-getters.js.map +1 -1
  25. package/dist/esm/classes/scripts.d.ts +19 -0
  26. package/dist/esm/classes/scripts.js +57 -0
  27. package/dist/esm/classes/scripts.js.map +1 -1
  28. package/dist/esm/commands/includes/findPage.lua +70 -0
  29. package/dist/esm/commands/paginate-1.lua +49 -0
  30. package/dist/esm/scripts/index.d.ts +1 -0
  31. package/dist/esm/scripts/index.js +1 -0
  32. package/dist/esm/scripts/index.js.map +1 -1
  33. package/dist/esm/scripts/paginate-1.d.ts +5 -0
  34. package/dist/esm/scripts/paginate-1.js +107 -0
  35. package/dist/esm/scripts/paginate-1.js.map +1 -0
  36. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
@@ -31,7 +31,7 @@ export class QueueBase extends EventEmitter {
31
31
  }
32
32
  if (!opts.connection) {
33
33
  console.warn([
34
- 'BullMQ: DEPRECATION WARNING! Optional instantiation of Queue, Worker and QueueEvents',
34
+ 'BullMQ: DEPRECATION WARNING! Optional instantiation of Queue, Worker, QueueEvents and FlowProducer',
35
35
  'without providing explicitly a connection or connection options is deprecated. This behaviour will',
36
36
  'be removed in the next major release',
37
37
  ].join(' '));
@@ -101,7 +101,7 @@ export class QueueBase extends EventEmitter {
101
101
  }
102
102
  /**
103
103
  *
104
- * @returns Closes the connection and returns a promise that resolves when the connection is closed.
104
+ * Closes the connection and returns a promise that resolves when the connection is closed.
105
105
  */
106
106
  async close() {
107
107
  if (!this.closing) {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-base.js","sourceRoot":"","sources":["../../../src/classes/queue-base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-base.js","sourceRoot":"","sources":["../../../src/classes/queue-base.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { QueueBase } from './queue-base';
2
2
  import { Job } from './job';
3
3
  import { JobState, JobType } from '../types';
4
- import { Metrics } from '../interfaces';
4
+ import { JobJsonRaw, Metrics } from '../interfaces';
5
5
  /**
6
6
  *
7
7
  * @class QueueGetters
@@ -124,6 +124,31 @@ export declare class QueueGetters<DataType, ResultType, NameType extends string>
124
124
  * @param end - zero based index where to stop returning jobs.
125
125
  */
126
126
  getFailed(start?: number, end?: number): Promise<Job<DataType, ResultType, NameType>[]>;
127
+ /**
128
+ * Returns the qualified job ids and the raw job data (if available) of the
129
+ * children jobs of the given parent job.
130
+ * It is possible to get either the already processed children, in this case
131
+ * an array of qualified job ids and their result values will be returned,
132
+ * or the pending children, in this case an array of qualified job ids will
133
+ * be returned.
134
+ * A qualified job id is a string representing the job id in a given queue,
135
+ * for example: "bull:myqueue:jobid".
136
+ *
137
+ * @param parentId The id of the parent job
138
+ * @param type "processed" | "pending"
139
+ * @param opts
140
+ *
141
+ * @returns { items: { id: string, v?: any, err?: string } [], jobs: JobJsonRaw[], total: number}
142
+ */
143
+ getDependencies(parentId: string, type: 'processed' | 'pending', start: number, end: number): Promise<{
144
+ items: {
145
+ id: string;
146
+ v?: any;
147
+ err?: string;
148
+ }[];
149
+ jobs: JobJsonRaw[];
150
+ total: number;
151
+ }>;
127
152
  getRanges(types: JobType[], start?: number, end?: number, asc?: boolean): Promise<string[]>;
128
153
  /**
129
154
  * Returns the jobs that are on the given statuses (note that JobType is synonym for job status)
@@ -211,6 +211,37 @@ export class QueueGetters extends QueueBase {
211
211
  getFailed(start = 0, end = -1) {
212
212
  return this.getJobs(['failed'], start, end, false);
213
213
  }
214
+ /**
215
+ * Returns the qualified job ids and the raw job data (if available) of the
216
+ * children jobs of the given parent job.
217
+ * It is possible to get either the already processed children, in this case
218
+ * an array of qualified job ids and their result values will be returned,
219
+ * or the pending children, in this case an array of qualified job ids will
220
+ * be returned.
221
+ * A qualified job id is a string representing the job id in a given queue,
222
+ * for example: "bull:myqueue:jobid".
223
+ *
224
+ * @param parentId The id of the parent job
225
+ * @param type "processed" | "pending"
226
+ * @param opts
227
+ *
228
+ * @returns { items: { id: string, v?: any, err?: string } [], jobs: JobJsonRaw[], total: number}
229
+ */
230
+ async getDependencies(parentId, type, start, end) {
231
+ const key = this.toKey(type == 'processed'
232
+ ? `${parentId}:processed`
233
+ : `${parentId}:dependencies`);
234
+ const { items, total, jobs } = await this.scripts.paginate(key, {
235
+ start,
236
+ end,
237
+ fetchJobs: true,
238
+ });
239
+ return {
240
+ items,
241
+ jobs,
242
+ total,
243
+ };
244
+ }
214
245
  async getRanges(types, start = 0, end = 1, asc = false) {
215
246
  const multiCommands = [];
216
247
  this.commandByType(types, false, (key, command) => {
@@ -1 +1 @@
1
- {"version":3,"file":"queue-getters.js","sourceRoot":"","sources":["../../../src/classes/queue-getters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-getters.js","sourceRoot":"","sources":["../../../src/classes/queue-getters.ts"],"names":[],"mappings":"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"}
@@ -106,5 +106,24 @@ export declare class Scripts {
106
106
  force: boolean;
107
107
  count: number;
108
108
  }): Promise<number>;
109
+ /**
110
+ * Paginate a set or hash keys.
111
+ * @param opts
112
+ *
113
+ */
114
+ paginate(key: string, opts: {
115
+ start: number;
116
+ end: number;
117
+ fetchJobs?: boolean;
118
+ }): Promise<{
119
+ cursor: string;
120
+ items: {
121
+ id: string;
122
+ v?: any;
123
+ err?: string;
124
+ }[];
125
+ total: number;
126
+ jobs?: JobJsonRaw[];
127
+ }>;
109
128
  }
110
129
  export declare function raw2NextJobData(raw: any[]): any[];
@@ -701,6 +701,63 @@ export class Scripts {
701
701
  }
702
702
  return result;
703
703
  }
704
+ /**
705
+ * Paginate a set or hash keys.
706
+ * @param opts
707
+ *
708
+ */
709
+ async paginate(key, opts) {
710
+ const client = await this.queue.client;
711
+ const keys = [key];
712
+ const maxIterations = 5;
713
+ const pageSize = opts.end >= 0 ? opts.end - opts.start + 1 : Infinity;
714
+ let cursor = '0', offset = 0, items, total, rawJobs, page = [], jobs = [];
715
+ do {
716
+ const args = [
717
+ opts.start + page.length,
718
+ opts.end,
719
+ cursor,
720
+ offset,
721
+ maxIterations,
722
+ ];
723
+ if (opts.fetchJobs) {
724
+ args.push(1);
725
+ }
726
+ [cursor, offset, items, total, rawJobs] = await client.paginate(keys.concat(args));
727
+ page = page.concat(items);
728
+ if (rawJobs && rawJobs.length) {
729
+ jobs = jobs.concat(rawJobs.map(array2obj));
730
+ }
731
+ // Important to keep this coercive inequality (!=) instead of strict inequality (!==)
732
+ } while (cursor != '0' && page.length < pageSize);
733
+ // If we get an array of arrays, it means we are paginating a hash
734
+ if (page.length && Array.isArray(page[0])) {
735
+ const result = [];
736
+ for (let index = 0; index < page.length; index++) {
737
+ const [id, value] = page[index];
738
+ try {
739
+ result.push({ id, v: JSON.parse(value) });
740
+ }
741
+ catch (err) {
742
+ result.push({ id, err: err.message });
743
+ }
744
+ }
745
+ return {
746
+ cursor,
747
+ items: result,
748
+ total,
749
+ jobs,
750
+ };
751
+ }
752
+ else {
753
+ return {
754
+ cursor,
755
+ items: page.map(item => ({ id: item })),
756
+ total,
757
+ jobs,
758
+ };
759
+ }
760
+ }
704
761
  }
705
762
  export function raw2NextJobData(raw) {
706
763
  if (raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/classes/scripts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scripts.js","sourceRoot":"","sources":["../../../src/classes/scripts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ --[[
2
+ Function to achieve pagination for a set or hash.
3
+ This function simulates pagination in the most efficient way possible
4
+ for a set using sscan or hscan.
5
+
6
+ The main limitation is that sets are not order preserving, so the
7
+ pagination is not stable. This means that if the set is modified
8
+ between pages, the same element may appear in different pages.
9
+ ]] -- Maximum number of elements to be returned by sscan per iteration.
10
+ local maxCount = 100
11
+
12
+ -- Finds the cursor, and returns the first elements available for the requested page.
13
+ local function findPage(key, command, pageStart, pageSize, cursor, offset,
14
+ maxIterations, fetchJobs)
15
+ local items = {}
16
+ local jobs = {}
17
+ local iterations = 0
18
+
19
+ repeat
20
+ -- Iterate over the set using sscan/hscan.
21
+ local result = rcall(command, key, cursor, "COUNT", maxCount)
22
+
23
+ cursor = result[1]
24
+ local members = result[2]
25
+ local step = 1
26
+ if command == "HSCAN" then
27
+ step = 2
28
+ end
29
+
30
+ if #members == 0 then
31
+ -- If the result is empty, we can return the result.
32
+ return cursor, offset, items, jobs
33
+ end
34
+
35
+ local chunkStart = offset
36
+ local chunkEnd = offset + #members / step
37
+
38
+ local pageEnd = pageStart + pageSize
39
+
40
+ if chunkEnd < pageStart then
41
+ -- If the chunk is before the page, we can skip it.
42
+ offset = chunkEnd
43
+ elseif chunkStart > pageEnd then
44
+ -- If the chunk is after the page, we can return the result.
45
+ return cursor, offset, items, jobs
46
+ else
47
+ -- If the chunk is overlapping the page, we need to add the elements to the result.
48
+ for i = 1, #members, step do
49
+ if offset >= pageEnd then
50
+ return cursor, offset, items, jobs
51
+ end
52
+ if offset >= pageStart then
53
+ local index = #items + 1
54
+ if fetchJobs ~= nil then
55
+ jobs[#jobs+1] = rcall("HGETALL", members[i])
56
+ end
57
+ if step == 2 then
58
+ items[index] = {members[i], members[i + 1]}
59
+ else
60
+ items[index] = members[i]
61
+ end
62
+ end
63
+ offset = offset + 1
64
+ end
65
+ end
66
+ iterations = iterations + 1
67
+ until cursor == "0" or iterations >= maxIterations
68
+
69
+ return cursor, offset, items, jobs
70
+ end
@@ -0,0 +1,49 @@
1
+ --[[
2
+ Paginate a set or hash
3
+
4
+ Input:
5
+ KEYS[1] key pointing to the set or hash to be paginated.
6
+
7
+ ARGV[1] page start offset
8
+ ARGV[2] page end offset (-1 for all the elements)
9
+ ARGV[3] cursor
10
+ ARGV[4] offset
11
+ ARGV[5] max iterations
12
+ ARGV[6] fetch jobs?
13
+
14
+ Output:
15
+ [cursor, offset, items, numItems]
16
+ ]]
17
+ local rcall = redis.call
18
+
19
+ -- Includes
20
+ --- @include "includes/findPage"
21
+
22
+ local key = KEYS[1]
23
+ local scanCommand = "SSCAN"
24
+ local countCommand = "SCARD"
25
+ local type = rcall("TYPE", key)["ok"]
26
+
27
+ if type == "none" then
28
+ return {0, 0, {}, 0}
29
+ elseif type == "hash" then
30
+ scanCommand = "HSCAN"
31
+ countCommand = "HLEN"
32
+ elseif type ~= "set" then
33
+ return
34
+ redis.error_reply("Pagination is only supported for sets and hashes.")
35
+ end
36
+
37
+ local numItems = rcall(countCommand, key)
38
+ local startOffset = tonumber(ARGV[1])
39
+ local endOffset = tonumber(ARGV[2])
40
+ if endOffset == -1 then
41
+ endOffset = numItems
42
+ end
43
+ local pageSize = (endOffset - startOffset) + 1
44
+
45
+ local cursor, offset, items, jobs = findPage(key, scanCommand, startOffset,
46
+ pageSize, ARGV[3], tonumber(ARGV[4]),
47
+ tonumber(ARGV[5]), ARGV[6])
48
+
49
+ return {cursor, offset, items, numItems, jobs}
@@ -21,6 +21,7 @@ export * from './moveToDelayed-8';
21
21
  export * from './moveToFinished-13';
22
22
  export * from './moveToWaitingChildren-4';
23
23
  export * from './obliterate-2';
24
+ export * from './paginate-1';
24
25
  export * from './pause-5';
25
26
  export * from './promote-7';
26
27
  export * from './releaseLock-1';
@@ -21,6 +21,7 @@ export * from './moveToDelayed-8';
21
21
  export * from './moveToFinished-13';
22
22
  export * from './moveToWaitingChildren-4';
23
23
  export * from './obliterate-2';
24
+ export * from './paginate-1';
24
25
  export * from './pause-5';
25
26
  export * from './promote-7';
26
27
  export * from './releaseLock-1';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scripts/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const paginate: {
2
+ name: string;
3
+ content: string;
4
+ keys: number;
5
+ };
@@ -0,0 +1,107 @@
1
+ const content = `--[[
2
+ Paginate a set or hash
3
+ Input:
4
+ KEYS[1] key pointing to the set or hash to be paginated.
5
+ ARGV[1] page start offset
6
+ ARGV[2] page end offset (-1 for all the elements)
7
+ ARGV[3] cursor
8
+ ARGV[4] offset
9
+ ARGV[5] max iterations
10
+ ARGV[6] fetch jobs?
11
+ Output:
12
+ [cursor, offset, items, numItems]
13
+ ]]
14
+ local rcall = redis.call
15
+ -- Includes
16
+ --[[
17
+ Function to achieve pagination for a set or hash.
18
+ This function simulates pagination in the most efficient way possible
19
+ for a set using sscan or hscan.
20
+ The main limitation is that sets are not order preserving, so the
21
+ pagination is not stable. This means that if the set is modified
22
+ between pages, the same element may appear in different pages.
23
+ ]] -- Maximum number of elements to be returned by sscan per iteration.
24
+ local maxCount = 100
25
+ -- Finds the cursor, and returns the first elements available for the requested page.
26
+ local function findPage(key, command, pageStart, pageSize, cursor, offset,
27
+ maxIterations, fetchJobs)
28
+ local items = {}
29
+ local jobs = {}
30
+ local iterations = 0
31
+ repeat
32
+ -- Iterate over the set using sscan/hscan.
33
+ local result = rcall(command, key, cursor, "COUNT", maxCount)
34
+ cursor = result[1]
35
+ local members = result[2]
36
+ local step = 1
37
+ if command == "HSCAN" then
38
+ step = 2
39
+ end
40
+ if #members == 0 then
41
+ -- If the result is empty, we can return the result.
42
+ return cursor, offset, items, jobs
43
+ end
44
+ local chunkStart = offset
45
+ local chunkEnd = offset + #members / step
46
+ local pageEnd = pageStart + pageSize
47
+ if chunkEnd < pageStart then
48
+ -- If the chunk is before the page, we can skip it.
49
+ offset = chunkEnd
50
+ elseif chunkStart > pageEnd then
51
+ -- If the chunk is after the page, we can return the result.
52
+ return cursor, offset, items, jobs
53
+ else
54
+ -- If the chunk is overlapping the page, we need to add the elements to the result.
55
+ for i = 1, #members, step do
56
+ if offset >= pageEnd then
57
+ return cursor, offset, items, jobs
58
+ end
59
+ if offset >= pageStart then
60
+ local index = #items + 1
61
+ if fetchJobs ~= nil then
62
+ jobs[#jobs+1] = rcall("HGETALL", members[i])
63
+ end
64
+ if step == 2 then
65
+ items[index] = {members[i], members[i + 1]}
66
+ else
67
+ items[index] = members[i]
68
+ end
69
+ end
70
+ offset = offset + 1
71
+ end
72
+ end
73
+ iterations = iterations + 1
74
+ until cursor == "0" or iterations >= maxIterations
75
+ return cursor, offset, items, jobs
76
+ end
77
+ local key = KEYS[1]
78
+ local scanCommand = "SSCAN"
79
+ local countCommand = "SCARD"
80
+ local type = rcall("TYPE", key)["ok"]
81
+ if type == "none" then
82
+ return {0, 0, {}, 0}
83
+ elseif type == "hash" then
84
+ scanCommand = "HSCAN"
85
+ countCommand = "HLEN"
86
+ elseif type ~= "set" then
87
+ return
88
+ redis.error_reply("Pagination is only supported for sets and hashes.")
89
+ end
90
+ local numItems = rcall(countCommand, key)
91
+ local startOffset = tonumber(ARGV[1])
92
+ local endOffset = tonumber(ARGV[2])
93
+ if endOffset == -1 then
94
+ endOffset = numItems
95
+ end
96
+ local pageSize = (endOffset - startOffset) + 1
97
+ local cursor, offset, items, jobs = findPage(key, scanCommand, startOffset,
98
+ pageSize, ARGV[3], tonumber(ARGV[4]),
99
+ tonumber(ARGV[5]), ARGV[6])
100
+ return {cursor, offset, items, numItems, jobs}
101
+ `;
102
+ export const paginate = {
103
+ name: 'paginate',
104
+ content,
105
+ keys: 1,
106
+ };
107
+ //# sourceMappingURL=paginate-1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paginate-1.js","sourceRoot":"","sources":["../../../src/scripts/paginate-1.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoGf,CAAC;AACF,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,IAAI,EAAE,UAAU;IAChB,OAAO;IACP,IAAI,EAAE,CAAC;CACR,CAAC"}