apify-cli 0.20.7 → 0.21.0-beta.1
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.
- package/README.md +158 -26
- package/dist/.tsbuildinfo +1 -1
- package/dist/commands/builds/create.d.ts +13 -0
- package/dist/commands/builds/create.d.ts.map +1 -0
- package/dist/commands/builds/create.js +130 -0
- package/dist/commands/builds/create.js.map +1 -0
- package/dist/commands/builds/index.d.ts +6 -0
- package/dist/commands/builds/index.d.ts.map +1 -0
- package/dist/commands/builds/index.js +13 -0
- package/dist/commands/builds/index.js.map +1 -0
- package/dist/commands/builds/info.d.ts +10 -0
- package/dist/commands/builds/info.d.ts.map +1 -0
- package/dist/commands/builds/info.js +92 -0
- package/dist/commands/builds/info.js.map +1 -0
- package/dist/commands/builds/log.d.ts +9 -0
- package/dist/commands/builds/log.d.ts.map +1 -0
- package/dist/commands/builds/log.js +41 -0
- package/dist/commands/builds/log.js.map +1 -0
- package/dist/commands/builds/ls.d.ts +15 -0
- package/dist/commands/builds/ls.d.ts.map +1 -0
- package/dist/commands/builds/ls.js +144 -0
- package/dist/commands/builds/ls.js.map +1 -0
- package/dist/commands/create.js +3 -3
- package/dist/commands/run.js +3 -3
- package/dist/commands/runs/ls.d.ts +14 -0
- package/dist/commands/runs/ls.d.ts.map +1 -0
- package/dist/commands/runs/ls.js +117 -0
- package/dist/commands/runs/ls.js.map +1 -0
- package/dist/lib/apify_command.d.ts.map +1 -1
- package/dist/lib/apify_command.js +1 -0
- package/dist/lib/apify_command.js.map +1 -1
- package/dist/lib/commands/pretty-print-bytes.d.ts +2 -0
- package/dist/lib/commands/pretty-print-bytes.d.ts.map +1 -0
- package/dist/lib/commands/pretty-print-bytes.js +9 -0
- package/dist/lib/commands/pretty-print-bytes.js.map +1 -0
- package/dist/lib/commands/pretty-print-status.d.ts +3 -0
- package/dist/lib/commands/pretty-print-status.d.ts.map +1 -0
- package/dist/lib/commands/pretty-print-status.js +29 -0
- package/dist/lib/commands/pretty-print-status.js.map +1 -0
- package/dist/lib/commands/resolve-actor-context.d.ts +22 -0
- package/dist/lib/commands/resolve-actor-context.d.ts.map +1 -0
- package/dist/lib/commands/resolve-actor-context.js +70 -0
- package/dist/lib/commands/resolve-actor-context.js.map +1 -0
- package/dist/lib/commands/responsive-table.d.ts +23 -0
- package/dist/lib/commands/responsive-table.d.ts.map +1 -0
- package/dist/lib/commands/responsive-table.js +58 -0
- package/dist/lib/commands/responsive-table.js.map +1 -0
- package/dist/lib/consts.d.ts +1 -1
- package/dist/lib/consts.js +1 -1
- package/dist/lib/utils.d.ts +9 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +45 -0
- package/dist/lib/utils.js.map +1 -1
- package/dist/typechecking.tsbuildinfo +1 -1
- package/oclif.manifest.json +273 -5
- package/package.json +5 -2
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Flags } from '@oclif/core';
|
|
2
|
+
import { Timestamp } from '@sapphire/timestamp';
|
|
3
|
+
import chalk from 'chalk';
|
|
4
|
+
import { ApifyCommand } from '../../lib/apify_command.js';
|
|
5
|
+
import { prettyPrintStatus } from '../../lib/commands/pretty-print-status.js';
|
|
6
|
+
import { resolveActorContext } from '../../lib/commands/resolve-actor-context.js';
|
|
7
|
+
import { ResponsiveTable } from '../../lib/commands/responsive-table.js';
|
|
8
|
+
import { error, simpleLog } from '../../lib/outputs.js';
|
|
9
|
+
import { getLoggedClientOrThrow, ShortDurationFormatter } from '../../lib/utils.js';
|
|
10
|
+
const multilineTimestampFormatter = new Timestamp(`YYYY-MM-DD[\n]HH:mm:ss`);
|
|
11
|
+
const table = new ResponsiveTable({
|
|
12
|
+
allColumns: ['ID', 'Status', 'Results', 'Usage', 'Started At', 'Took', 'Build No.', 'Origin'],
|
|
13
|
+
mandatoryColumns: ['ID', 'Status', 'Results', 'Usage', 'Started At', 'Took'],
|
|
14
|
+
columnAlignments: {
|
|
15
|
+
Results: 'right',
|
|
16
|
+
Usage: 'right',
|
|
17
|
+
Took: 'right',
|
|
18
|
+
'Build No.': 'right',
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
export class RunsLsCommand extends ApifyCommand {
|
|
22
|
+
async run() {
|
|
23
|
+
const { actor, desc, limit, offset, compact, json } = this.flags;
|
|
24
|
+
const client = await getLoggedClientOrThrow();
|
|
25
|
+
// Should we allow users to list any runs, not just actor-specific runs? Right now it works like `builds ls`, requiring an actor
|
|
26
|
+
const ctx = await resolveActorContext({ providedActorNameOrId: actor, client });
|
|
27
|
+
if (!ctx.valid) {
|
|
28
|
+
error({
|
|
29
|
+
message: `${ctx.reason}. Please run this command in an Actor directory, or specify the Actor ID by running this command with "--actor=<id>".`,
|
|
30
|
+
});
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const allRuns = await client.actor(ctx.id).runs().list({ desc, limit, offset });
|
|
34
|
+
if (json) {
|
|
35
|
+
return allRuns;
|
|
36
|
+
}
|
|
37
|
+
if (!allRuns.items.length) {
|
|
38
|
+
simpleLog({
|
|
39
|
+
message: 'There are no recent runs found for this Actor.',
|
|
40
|
+
});
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const message = [
|
|
44
|
+
`${chalk.reset('Showing')} ${chalk.yellow(allRuns.items.length)} out of ${chalk.yellow(allRuns.total)} runs for Actor ${chalk.yellow(ctx.userFriendlyId)} (${chalk.gray(ctx.id)})`,
|
|
45
|
+
];
|
|
46
|
+
const datasetInfos = new Map(await Promise.all(allRuns.items.map(async (run) => client
|
|
47
|
+
.dataset(run.defaultDatasetId)
|
|
48
|
+
.get()
|
|
49
|
+
.then((data) => [run.id, chalk.yellow(data?.itemCount ?? 0)], () => [run.id, chalk.gray('N/A')]))));
|
|
50
|
+
for (const run of allRuns.items) {
|
|
51
|
+
let tookString;
|
|
52
|
+
if (run.finishedAt) {
|
|
53
|
+
const diff = run.finishedAt.getTime() - run.startedAt.getTime();
|
|
54
|
+
tookString = chalk.gray(`${ShortDurationFormatter.format(diff, undefined, { left: '' })}`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
const diff = Date.now() - run.startedAt.getTime();
|
|
58
|
+
tookString = chalk.gray(`Running for ${ShortDurationFormatter.format(diff, undefined, { left: '' })}`);
|
|
59
|
+
}
|
|
60
|
+
table.pushRow({
|
|
61
|
+
ID: chalk.gray(run.id),
|
|
62
|
+
Status: prettyPrintStatus(run.status),
|
|
63
|
+
Results: datasetInfos.get(run.id) || chalk.gray('N/A'),
|
|
64
|
+
Usage: chalk.cyan(`$${(run.usageTotalUsd ?? 0).toFixed(3)}`),
|
|
65
|
+
'Started At': multilineTimestampFormatter.display(run.startedAt),
|
|
66
|
+
Took: tookString,
|
|
67
|
+
'Build No.': run.buildNumber,
|
|
68
|
+
Origin: run.meta.origin ?? 'UNKNOWN',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
message.push(table.render(compact));
|
|
72
|
+
simpleLog({
|
|
73
|
+
message: message.join('\n'),
|
|
74
|
+
});
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
Object.defineProperty(RunsLsCommand, "description", {
|
|
79
|
+
enumerable: true,
|
|
80
|
+
configurable: true,
|
|
81
|
+
writable: true,
|
|
82
|
+
value: 'Lists all runs of the Actor.'
|
|
83
|
+
});
|
|
84
|
+
Object.defineProperty(RunsLsCommand, "flags", {
|
|
85
|
+
enumerable: true,
|
|
86
|
+
configurable: true,
|
|
87
|
+
writable: true,
|
|
88
|
+
value: {
|
|
89
|
+
actor: Flags.string({
|
|
90
|
+
description: 'Optional Actor ID or Name to list runs for. By default, it will use the Actor from the current directory.',
|
|
91
|
+
}),
|
|
92
|
+
offset: Flags.integer({
|
|
93
|
+
description: 'Number of runs that will be skipped.',
|
|
94
|
+
default: 0,
|
|
95
|
+
}),
|
|
96
|
+
limit: Flags.integer({
|
|
97
|
+
description: 'Number of runs that will be listed.',
|
|
98
|
+
default: 10,
|
|
99
|
+
}),
|
|
100
|
+
desc: Flags.boolean({
|
|
101
|
+
description: 'Sort runs in descending order.',
|
|
102
|
+
default: false,
|
|
103
|
+
}),
|
|
104
|
+
compact: Flags.boolean({
|
|
105
|
+
description: 'Display a compact table.',
|
|
106
|
+
default: false,
|
|
107
|
+
char: 'c',
|
|
108
|
+
}),
|
|
109
|
+
}
|
|
110
|
+
});
|
|
111
|
+
Object.defineProperty(RunsLsCommand, "enableJsonFlag", {
|
|
112
|
+
enumerable: true,
|
|
113
|
+
configurable: true,
|
|
114
|
+
writable: true,
|
|
115
|
+
value: true
|
|
116
|
+
});
|
|
117
|
+
//# sourceMappingURL=ls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls.js","sourceRoot":"","sources":["../../../src/commands/runs/ls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify_command.d.ts","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,KAAK,eAAe,EAA6C,MAAM,YAAY,CAAC;AAG7F,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzG,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,8BAAsB,YAAY,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IAC3E,SAAS,CAAC,aAAa,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEf,IAAI;
|
|
1
|
+
{"version":3,"file":"apify_command.d.ts","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,aAAa,CAAC;AAItE,OAAO,EAAE,KAAK,eAAe,EAA6C,MAAM,YAAY,CAAC;AAG7F,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACzG,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAErF;;GAEG;AACH,8BAAsB,YAAY,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IAC3E,SAAS,CAAC,aAAa,EAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAElD,SAAS,CAAC,KAAK,EAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAChC,SAAS,CAAC,IAAI,EAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAEf,IAAI;IAmBJ,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK;IAmC5B,SAAS,CAAC,aAAa,CAAC,EAAE,MAAM;CAKtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apify_command.js","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAmB,aAAa,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAwB,eAAe,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAC7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAK5D;;GAEG;AACH,MAAM,OAAgB,YAAuC,SAAQ,OAAO;IAA5E;;QACW;;;;;WAAwC;QAExC;;;;;WAAsB;QACtB;;;;;WAAoB;
|
|
1
|
+
{"version":3,"file":"apify_command.js","sourceRoot":"","sources":["../../src/lib/apify_command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty-print-bytes.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/pretty-print-bytes.ts"],"names":[],"mappings":"AAAA,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUtD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export function prettyPrintBytes(bytes) {
|
|
2
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
3
|
+
if (bytes === 0) {
|
|
4
|
+
return '0 Byte';
|
|
5
|
+
}
|
|
6
|
+
const i = Math.floor(Math.log(bytes) / Math.log(1024));
|
|
7
|
+
return `${(bytes / 1024 ** i).toFixed(2)} ${sizes[i]}`;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=pretty-print-bytes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty-print-bytes.js","sourceRoot":"","sources":["../../../src/lib/commands/pretty-print-bytes.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC7C,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEhD,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACjB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAEvD,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AACxD,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ACTOR_JOB_STATUSES, ACTOR_JOB_TERMINAL_STATUSES } from '@apify/consts';
|
|
2
|
+
export declare function prettyPrintStatus(status: (typeof ACTOR_JOB_STATUSES)[keyof typeof ACTOR_JOB_STATUSES] | (typeof ACTOR_JOB_TERMINAL_STATUSES)[number]): string;
|
|
3
|
+
//# sourceMappingURL=pretty-print-status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty-print-status.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/pretty-print-status.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAC;AAKrF,wBAAgB,iBAAiB,CAChC,MAAM,EAAE,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,2BAA2B,CAAC,CAAC,MAAM,CAAC,UA2BnH"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import chalk from 'chalk';
|
|
2
|
+
// TIMED-OUT -> Timed Out
|
|
3
|
+
// ABORTED -> Aborted
|
|
4
|
+
export function prettyPrintStatus(status) {
|
|
5
|
+
switch (status) {
|
|
6
|
+
case 'READY':
|
|
7
|
+
return chalk.green('Ready');
|
|
8
|
+
case 'RUNNING':
|
|
9
|
+
return chalk.blue('Running');
|
|
10
|
+
case 'SUCCEEDED':
|
|
11
|
+
return chalk.green('Succeeded');
|
|
12
|
+
case 'FAILED':
|
|
13
|
+
return chalk.red('Failed');
|
|
14
|
+
case 'ABORTING':
|
|
15
|
+
return chalk.yellow('Aborting');
|
|
16
|
+
case 'ABORTED':
|
|
17
|
+
return chalk.red('Aborted');
|
|
18
|
+
case 'TIMING-OUT':
|
|
19
|
+
return chalk.yellow('Timing Out');
|
|
20
|
+
case 'TIMED-OUT':
|
|
21
|
+
return chalk.red('Timed Out');
|
|
22
|
+
default:
|
|
23
|
+
return chalk.gray(status
|
|
24
|
+
.split('-')
|
|
25
|
+
.map((part) => part[0].toUpperCase() + part.slice(1).toLowerCase())
|
|
26
|
+
.join(' '));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=pretty-print-status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pretty-print-status.js","sourceRoot":"","sources":["../../../src/lib/commands/pretty-print-status.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,yBAAyB;AACzB,qBAAqB;AACrB,MAAM,UAAU,iBAAiB,CAChC,MAAmH;IAEnH,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,OAAO;YACX,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,KAAK,WAAW;YACf,OAAO,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACjC,KAAK,QAAQ;YACZ,OAAO,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5B,KAAK,UAAU;YACd,OAAO,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,KAAK,SAAS;YACb,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7B,KAAK,YAAY;YAChB,OAAO,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,KAAK,WAAW;YACf,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC/B;YACC,OAAO,KAAK,CAAC,IAAI,CACf,MAAiB;iBAChB,KAAK,CAAC,GAAG,CAAC;iBACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;iBAClE,IAAI,CAAC,GAAG,CAAC,CACX,CAAC;IACJ,CAAC;AACF,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ApifyClient } from 'apify-client';
|
|
2
|
+
/**
|
|
3
|
+
* Tries to resolve what actor the command ran points to. If an actor id is provided via command line, attempt to resolve it,
|
|
4
|
+
* thus assuming the actor is the one the command should be ran on. If no actor id is provided, try to resolve the actor from the local
|
|
5
|
+
* configuration file. If none of these are successful, return null, signaling an unknown context, and thus no way to continue.
|
|
6
|
+
* @param providedActorNameOrId Actor name or id provided via command line
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveActorContext({ providedActorNameOrId, client, }: {
|
|
9
|
+
providedActorNameOrId: string | undefined;
|
|
10
|
+
client: ApifyClient;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
valid: false;
|
|
13
|
+
reason: string;
|
|
14
|
+
userFriendlyId?: undefined;
|
|
15
|
+
id?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
valid: true;
|
|
18
|
+
userFriendlyId: string;
|
|
19
|
+
id: string;
|
|
20
|
+
reason?: undefined;
|
|
21
|
+
}>;
|
|
22
|
+
//# sourceMappingURL=resolve-actor-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-actor-context.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/resolve-actor-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhD;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,EACzC,qBAAqB,EACrB,MAAM,GACN,EAAE;IAAE,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,MAAM,EAAE,WAAW,CAAA;CAAE;;;;;;;;;;GAuEpE"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import process from 'node:process';
|
|
2
|
+
import { getLocalConfig, getLocalUserInfo } from '../utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Tries to resolve what actor the command ran points to. If an actor id is provided via command line, attempt to resolve it,
|
|
5
|
+
* thus assuming the actor is the one the command should be ran on. If no actor id is provided, try to resolve the actor from the local
|
|
6
|
+
* configuration file. If none of these are successful, return null, signaling an unknown context, and thus no way to continue.
|
|
7
|
+
* @param providedActorNameOrId Actor name or id provided via command line
|
|
8
|
+
*/
|
|
9
|
+
export async function resolveActorContext({ providedActorNameOrId, client, }) {
|
|
10
|
+
const userInfo = await getLocalUserInfo();
|
|
11
|
+
const usernameOrId = userInfo.username || userInfo.id;
|
|
12
|
+
const localConfig = getLocalConfig(process.cwd()) || {};
|
|
13
|
+
// Full ID
|
|
14
|
+
if (providedActorNameOrId?.includes('/')) {
|
|
15
|
+
const actor = await client.actor(providedActorNameOrId).get();
|
|
16
|
+
if (!actor) {
|
|
17
|
+
return {
|
|
18
|
+
valid: false,
|
|
19
|
+
reason: `Actor with ID "${providedActorNameOrId}" was not found`,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
valid: true,
|
|
24
|
+
userFriendlyId: `${actor.username}/${actor.name}`,
|
|
25
|
+
id: actor.id,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
// Try fetching Actor directly by name/id
|
|
29
|
+
if (providedActorNameOrId) {
|
|
30
|
+
const actorById = await client.actor(providedActorNameOrId).get();
|
|
31
|
+
if (actorById) {
|
|
32
|
+
return {
|
|
33
|
+
valid: true,
|
|
34
|
+
userFriendlyId: `${actorById.username}/${actorById.name}`,
|
|
35
|
+
id: actorById.id,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
const actorByName = await client.actor(`${usernameOrId}/${providedActorNameOrId.toLowerCase()}`).get();
|
|
39
|
+
if (actorByName) {
|
|
40
|
+
return {
|
|
41
|
+
valid: true,
|
|
42
|
+
userFriendlyId: `${actorByName.username}/${actorByName.name}`,
|
|
43
|
+
id: actorByName.id,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return {
|
|
47
|
+
valid: false,
|
|
48
|
+
reason: `Actor with name or ID "${providedActorNameOrId}" was not found`,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
if (localConfig.name) {
|
|
52
|
+
const actor = await client.actor(`${usernameOrId}/${localConfig.name}`).get();
|
|
53
|
+
if (!actor) {
|
|
54
|
+
return {
|
|
55
|
+
valid: false,
|
|
56
|
+
reason: `Actor with name "${localConfig.name}" was not found`,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
return {
|
|
60
|
+
valid: true,
|
|
61
|
+
userFriendlyId: `${actor.username}/${actor.name}`,
|
|
62
|
+
id: actor.id,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
valid: false,
|
|
67
|
+
reason: 'Unable to detect what Actor to create a build for',
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=resolve-actor-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-actor-context.js","sourceRoot":"","sources":["../../../src/lib/commands/resolve-actor-context.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAInC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,EACzC,qBAAqB,EACrB,MAAM,GAC8D;IACpE,MAAM,QAAQ,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,IAAK,QAAQ,CAAC,EAAa,CAAC;IAClE,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC;IAExD,UAAU;IACV,IAAI,qBAAqB,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;gBACN,KAAK,EAAE,KAAc;gBACrB,MAAM,EAAE,kBAAkB,qBAAqB,iBAAiB;aAChE,CAAC;QACH,CAAC;QAED,OAAO;YACN,KAAK,EAAE,IAAa;YACpB,cAAc,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YACjD,EAAE,EAAE,KAAK,CAAC,EAAE;SACZ,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,qBAAqB,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAE,CAAC;QAElE,IAAI,SAAS,EAAE,CAAC;YACf,OAAO;gBACN,KAAK,EAAE,IAAa;gBACpB,cAAc,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE;gBACzD,EAAE,EAAE,SAAS,CAAC,EAAE;aAChB,CAAC;QACH,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,qBAAqB,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAEvG,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO;gBACN,KAAK,EAAE,IAAa;gBACpB,cAAc,EAAE,GAAG,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,IAAI,EAAE;gBAC7D,EAAE,EAAE,WAAW,CAAC,EAAE;aAClB,CAAC;QACH,CAAC;QAED,OAAO;YACN,KAAK,EAAE,KAAc;YACrB,MAAM,EAAE,0BAA0B,qBAAqB,iBAAiB;SACxE,CAAC;IACH,CAAC;IAED,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;QAE9E,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO;gBACN,KAAK,EAAE,KAAc;gBACrB,MAAM,EAAE,oBAAoB,WAAW,CAAC,IAAI,iBAAiB;aAC7D,CAAC;QACH,CAAC;QAED,OAAO;YACN,KAAK,EAAE,IAAa;YACpB,cAAc,EAAE,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE;YACjD,EAAE,EAAE,KAAK,CAAC,EAAE;SACZ,CAAC;IACH,CAAC;IAED,OAAO;QACN,KAAK,EAAE,KAAc;QACrB,MAAM,EAAE,mDAAmD;KAC3D,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface ResponsiveTableOptions<AllColumns extends string, MandatoryColumns extends NoInfer<AllColumns> = AllColumns> {
|
|
2
|
+
/**
|
|
3
|
+
* Represents all the columns the that this table should show, and their order
|
|
4
|
+
*/
|
|
5
|
+
allColumns: AllColumns[];
|
|
6
|
+
/**
|
|
7
|
+
* Represents the columns that are mandatory for the user to see, even if the terminal size is less than adequate (<100).
|
|
8
|
+
* Make sure this field includes columns that provide enough context AND that will fit in an 80-column terminal.
|
|
9
|
+
*/
|
|
10
|
+
mandatoryColumns: MandatoryColumns[];
|
|
11
|
+
/**
|
|
12
|
+
* By default, all columns are left-aligned. You can specify columns that should be aligned in the middle or right
|
|
13
|
+
*/
|
|
14
|
+
columnAlignments?: Partial<Record<AllColumns, 'left' | 'center' | 'right'>>;
|
|
15
|
+
}
|
|
16
|
+
export declare class ResponsiveTable<AllColumns extends string, MandatoryColumns extends NoInfer<AllColumns> = AllColumns> {
|
|
17
|
+
private options;
|
|
18
|
+
private rows;
|
|
19
|
+
constructor(options: ResponsiveTableOptions<AllColumns, MandatoryColumns>);
|
|
20
|
+
pushRow(item: Record<AllColumns, string>): void;
|
|
21
|
+
render(compact?: boolean): string;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=responsive-table.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsive-table.d.ts","sourceRoot":"","sources":["../../../src/lib/commands/responsive-table.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,sBAAsB,CACtC,UAAU,SAAS,MAAM,EACzB,gBAAgB,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAEzD;;OAEG;IACH,UAAU,EAAE,UAAU,EAAE,CAAC;IACzB;;;OAGG;IACH,gBAAgB,EAAE,gBAAgB,EAAE,CAAC;IACrC;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC;CAC5E;AAED,qBAAa,eAAe,CAAC,UAAU,SAAS,MAAM,EAAE,gBAAgB,SAAS,OAAO,CAAC,UAAU,CAAC,GAAG,UAAU;IAChH,OAAO,CAAC,OAAO,CAAuD;IAEtE,OAAO,CAAC,IAAI,CAAoC;gBAEpC,OAAO,EAAE,sBAAsB,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAIzE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;IAIxC,MAAM,CAAC,OAAO,UAAQ,GAAG,MAAM;CA4B/B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import Table from 'cli-table3';
|
|
2
|
+
const compactModeChars = {
|
|
3
|
+
'mid': '',
|
|
4
|
+
'left-mid': '',
|
|
5
|
+
'mid-mid': '',
|
|
6
|
+
'right-mid': '',
|
|
7
|
+
middle: ' ',
|
|
8
|
+
'top-mid': '─',
|
|
9
|
+
'bottom-mid': '─',
|
|
10
|
+
};
|
|
11
|
+
function generateHeaderColors(length) {
|
|
12
|
+
return Array.from({ length }, () => 'cyan');
|
|
13
|
+
}
|
|
14
|
+
const terminalColumns = process.stdout.columns ?? 100;
|
|
15
|
+
export class ResponsiveTable {
|
|
16
|
+
constructor(options) {
|
|
17
|
+
Object.defineProperty(this, "options", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: void 0
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(this, "rows", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: []
|
|
28
|
+
});
|
|
29
|
+
this.options = options;
|
|
30
|
+
}
|
|
31
|
+
pushRow(item) {
|
|
32
|
+
this.rows.push(item);
|
|
33
|
+
}
|
|
34
|
+
render(compact = false) {
|
|
35
|
+
const head = terminalColumns < 100 ? this.options.mandatoryColumns : this.options.allColumns;
|
|
36
|
+
const headColors = generateHeaderColors(head.length);
|
|
37
|
+
const chars = compact ? compactModeChars : undefined;
|
|
38
|
+
const colAligns = [];
|
|
39
|
+
for (const column of head) {
|
|
40
|
+
colAligns.push(this.options.columnAlignments?.[column] || 'left');
|
|
41
|
+
}
|
|
42
|
+
const table = new Table({
|
|
43
|
+
head,
|
|
44
|
+
style: {
|
|
45
|
+
head: headColors,
|
|
46
|
+
compact,
|
|
47
|
+
},
|
|
48
|
+
colAligns,
|
|
49
|
+
chars,
|
|
50
|
+
});
|
|
51
|
+
for (const rowData of this.rows) {
|
|
52
|
+
const row = head.map((col) => rowData[col]);
|
|
53
|
+
table.push(row);
|
|
54
|
+
}
|
|
55
|
+
return table.toString();
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=responsive-table.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"responsive-table.js","sourceRoot":"","sources":["../../../src/lib/commands/responsive-table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,YAAY,CAAC;AAE/B,MAAM,gBAAgB,GAAG;IACxB,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,EAAE;IACd,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,GAAG;IACd,YAAY,EAAE,GAAG;CACjB,CAAC;AAEF,SAAS,oBAAoB,CAAC,MAAc;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,GAAG,CAAC;AAqBtD,MAAM,OAAO,eAAe;IAK3B,YAAY,OAA6D;QAJjE;;;;;WAA8D;QAE9D;;;;mBAAqC,EAAE;WAAC;QAG/C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,IAAgC;QACvC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,OAAO,GAAG,KAAK;QACrB,MAAM,IAAI,GAAG,eAAe,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAC7F,MAAM,UAAU,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;QAErD,MAAM,SAAS,GAAoC,EAAE,CAAC;QAEtD,KAAK,MAAM,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,CAAC;QACnE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACvB,IAAI;YACJ,KAAK,EAAE;gBACN,IAAI,EAAE,UAAU;gBAChB,OAAO;aACP;YACD,SAAS;YACT,KAAK;SACL,CAAC,CAAC;QAEH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;QAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACzB,CAAC;CACD"}
|
package/dist/lib/consts.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare const CURRENT_APIFY_CLI_VERSION: any;
|
|
|
38
38
|
export declare const APIFY_CLIENT_DEFAULT_HEADERS: {
|
|
39
39
|
'X-Apify-Request-Origin': "CLI";
|
|
40
40
|
};
|
|
41
|
-
export declare const MINIMUM_SUPPORTED_PYTHON_VERSION = "3.
|
|
41
|
+
export declare const MINIMUM_SUPPORTED_PYTHON_VERSION = "3.9.0";
|
|
42
42
|
export declare const PYTHON_VENV_PATH = ".venv";
|
|
43
43
|
export declare const MIXPANEL_TOKEN = "ea75e434d4b4d2405d79ed9d14bfc93b";
|
|
44
44
|
export declare enum CommandExitCodes {
|
package/dist/lib/consts.js
CHANGED
|
@@ -48,7 +48,7 @@ const pkg = JSON.parse(readFileSync(new URL('../../package.json', import.meta.ur
|
|
|
48
48
|
export const SUPPORTED_NODEJS_VERSION = pkg.engines.node;
|
|
49
49
|
export const CURRENT_APIFY_CLI_VERSION = pkg.version;
|
|
50
50
|
export const APIFY_CLIENT_DEFAULT_HEADERS = { 'X-Apify-Request-Origin': META_ORIGINS.CLI };
|
|
51
|
-
export const MINIMUM_SUPPORTED_PYTHON_VERSION = '3.
|
|
51
|
+
export const MINIMUM_SUPPORTED_PYTHON_VERSION = '3.9.0';
|
|
52
52
|
export const PYTHON_VENV_PATH = '.venv';
|
|
53
53
|
export const MIXPANEL_TOKEN = 'ea75e434d4b4d2405d79ed9d14bfc93b';
|
|
54
54
|
export var CommandExitCodes;
|
package/dist/lib/utils.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import type { IncomingMessage } from 'node:http';
|
|
2
|
+
import { DurationFormatter as SapphireDurationFormatter } from '@sapphire/duration';
|
|
3
|
+
import { Timestamp } from '@sapphire/timestamp';
|
|
2
4
|
import { type ActorRun, ApifyClient, type ApifyClientOptions, type Build } from 'apify-client';
|
|
3
5
|
import { type Language } from './consts.js';
|
|
4
6
|
import type { AuthJSON } from './types.js';
|
|
@@ -99,5 +101,12 @@ export declare const downloadAndUnzip: ({ url, pathTo }: {
|
|
|
99
101
|
* Ensures the Apify directory exists, as well as nested folders (for tests)
|
|
100
102
|
*/
|
|
101
103
|
export declare const ensureApifyDirectory: (file: string) => void;
|
|
104
|
+
export declare const TimestampFormatter: Timestamp;
|
|
105
|
+
export declare const DurationFormatter: SapphireDurationFormatter;
|
|
106
|
+
export declare const ShortDurationFormatter: SapphireDurationFormatter;
|
|
107
|
+
/**
|
|
108
|
+
* A "polyfill" for Object.groupBy
|
|
109
|
+
*/
|
|
110
|
+
export declare function objectGroupBy<K extends PropertyKey, T>(items: Iterable<T>, keySelector: (item: T, index: number) => K): Partial<Record<K, T[]>>;
|
|
102
111
|
export {};
|
|
103
112
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/lib/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/utils.js
CHANGED
|
@@ -5,6 +5,8 @@ import { dirname, join } from 'node:path';
|
|
|
5
5
|
import process from 'node:process';
|
|
6
6
|
import { finished } from 'node:stream/promises';
|
|
7
7
|
import { ACTOR_ENV_VARS, ACTOR_JOB_TERMINAL_STATUSES, ACTOR_NAME, APIFY_ENV_VARS, KEY_VALUE_STORE_KEYS, LOCAL_ACTOR_ENV_VARS, LOCAL_STORAGE_SUBDIRS, SOURCE_FILE_FORMATS, } from '@apify/consts';
|
|
8
|
+
import { DurationFormatter as SapphireDurationFormatter, TimeTypes } from '@sapphire/duration';
|
|
9
|
+
import { Timestamp } from '@sapphire/timestamp';
|
|
8
10
|
import AdmZip from 'adm-zip';
|
|
9
11
|
import _Ajv from 'ajv';
|
|
10
12
|
import { ApifyClient } from 'apify-client';
|
|
@@ -585,4 +587,47 @@ export const ensureApifyDirectory = (file) => {
|
|
|
585
587
|
const path = dirname(file);
|
|
586
588
|
mkdirSync(path, { recursive: true });
|
|
587
589
|
};
|
|
590
|
+
export const TimestampFormatter = new Timestamp('YYYY-MM-DD [at] HH:mm:ss');
|
|
591
|
+
export const DurationFormatter = new SapphireDurationFormatter();
|
|
592
|
+
export const ShortDurationFormatter = new SapphireDurationFormatter({
|
|
593
|
+
[TimeTypes.Day]: {
|
|
594
|
+
DEFAULT: 'd',
|
|
595
|
+
},
|
|
596
|
+
[TimeTypes.Hour]: {
|
|
597
|
+
DEFAULT: 'h',
|
|
598
|
+
},
|
|
599
|
+
[TimeTypes.Minute]: {
|
|
600
|
+
DEFAULT: 'm',
|
|
601
|
+
},
|
|
602
|
+
[TimeTypes.Month]: {
|
|
603
|
+
DEFAULT: 'M',
|
|
604
|
+
},
|
|
605
|
+
[TimeTypes.Second]: {
|
|
606
|
+
DEFAULT: 's',
|
|
607
|
+
},
|
|
608
|
+
[TimeTypes.Week]: {
|
|
609
|
+
DEFAULT: 'w',
|
|
610
|
+
},
|
|
611
|
+
[TimeTypes.Year]: {
|
|
612
|
+
DEFAULT: 'y',
|
|
613
|
+
},
|
|
614
|
+
});
|
|
615
|
+
/**
|
|
616
|
+
* A "polyfill" for Object.groupBy
|
|
617
|
+
*/
|
|
618
|
+
export function objectGroupBy(items, keySelector) {
|
|
619
|
+
if ('groupBy' in Object) {
|
|
620
|
+
return Object.groupBy(items, keySelector);
|
|
621
|
+
}
|
|
622
|
+
const result = {};
|
|
623
|
+
let i = 0;
|
|
624
|
+
for (const item of items) {
|
|
625
|
+
const key = keySelector(item, i++);
|
|
626
|
+
if (!result[key]) {
|
|
627
|
+
result[key] = [];
|
|
628
|
+
}
|
|
629
|
+
result[key].push(item);
|
|
630
|
+
}
|
|
631
|
+
return result;
|
|
632
|
+
}
|
|
588
633
|
//# sourceMappingURL=utils.js.map
|