@jujulego/jill 3.0.6 → 3.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"job-plan.js","sources":["../src/components/workload-name.ts","../src/components/job-plan.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\nexport function workloadName(workload: Workload$): string {\n if (isScriptWorkflow(workload)) {\n return `Run ${chalk.bold(workload.script)} script in ${workload.workspace.name}`;\n }\n\n let label = workload.label;\n\n if (workload.type !== 'spawn') {\n label = capitalize(label);\n }\n\n return label;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { workloadName } from './workload-name.js';\n\nexport function jobPlan(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n\n const idLength = Math.ceil(Math.log10(plan.length));\n const branchLength = plan.reduce((max, item) => Math.max(item.branch.length, max), 0) + 1 + idLength;\n const hasDependencies = plan.some((item) => item.dependsOn.length > 0);\n\n if (hasDependencies) {\n const labelLength = plan.reduce((max, item) => Math.max(workloadName(item.workload).length, max), 0);\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} ${'Job'.padEnd(labelLength, ' ')} Depends on\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n const label = workloadName(item.workload).padEnd(labelLength, ' ');\n const deps = item.dependsOn.map((id) => '#' + id).join(', ');\n\n stream.write(`${branch} ${label} ${deps}\\n`);\n }\n } else {\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} Job\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n\n stream.write(`${branch} ${workloadName(item.workload)}\\n`);\n }\n }\n}\n\n"],"names":["workloadName","workload","isScriptWorkflow","chalk","bold","script","workspace","name","label","type","capitalize","jobPlan","job","stream","process","stdout","plan","flatJobPlan","idLength","Math","ceil","log10","length","branchLength","reduce","max","item","branch","hasDependencies","some","dependsOn","labelLength","write","padEnd","id","toString","padStart","deps","map","join"],"mappings":"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"}
1
+ {"version":3,"file":"job-plan.js","sources":["../src/components/workload-name.ts","../src/components/job-plan.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport { capitalize } from '../utils/string.js';\n\nexport function workloadName(workload: Workload$): string {\n if (isScriptWorkflow(workload)) {\n return `Run ${chalk.bold(workload.script)} script in ${workload.workspace.name}`;\n }\n\n let label = workload.label;\n\n if (workload.type !== 'spawn') {\n label = capitalize(label);\n }\n\n return label;\n}\n","import type { Workload$ } from '@kyrielle/workload';\nimport chalk from 'chalk';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { workloadName } from './workload-name.js';\n\nexport function jobPlan(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n\n const idLength = Math.ceil(Math.log10(plan.length));\n const branchLength = plan.reduce((max, item) => Math.max(item.branch.length, max), 0) + 1 + idLength;\n const hasDependencies = plan.some((item) => item.dependsOn.length > 0);\n\n if (hasDependencies) {\n const labelLength = plan.reduce((max, item) => Math.max(workloadName(item.workload).length, max), 0);\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} ${'Job'.padEnd(labelLength, ' ')} Depends on\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n const label = workloadName(item.workload).padEnd(labelLength, ' ');\n const deps = item.dependsOn.map((id) => '#' + id).join(', ');\n\n stream.write(`${branch} ${label} ${deps}\\n`);\n }\n } else {\n stream.write(chalk.bold(`${''.padEnd(branchLength, ' ')} Job\\n`));\n\n for (const item of plan) {\n const branch = `${item.branch}#${item.id.toString().padStart(idLength, '0')}`.padEnd(branchLength, ' ');\n\n stream.write(`${branch} ${workloadName(item.workload)}\\n`);\n }\n }\n}\n\n"],"names":["workloadName","workload","isScriptWorkflow","chalk","bold","script","workspace","name","label","type","capitalize","jobPlan","job","stream","process","stdout","plan","flatJobPlan","idLength","Math","ceil","log10","length","branchLength","reduce","max","item","branch","hasDependencies","some","dependsOn","labelLength","write","padEnd","id","toString","padStart","deps","map","join"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="15b3d5f0-21a7-449a-971b-727ed4314094",e._sentryDebugIdIdentifier="sentry-dbid-15b3d5f0-21a7-449a-971b-727ed4314094");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { k as slugify, n as printJson } from './main.js';
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="525eed31-0950-4e5c-8a91-3679b90b93c0",e._sentryDebugIdIdentifier="sentry-dbid-525eed31-0950-4e5c-8a91-3679b90b93c0");}catch(e){}}();import { j as slugify, k as printJson } from './main.js';
2
2
  import { f as flatJobPlan } from './flat-job-plan.js';
3
3
  import { i as isScriptWorkflow } from './flat-job-tree.js';
4
4
  import '@sentry/node';
@@ -26,6 +26,7 @@ import 'node:tty';
26
26
  import 'yargs';
27
27
  import 'fs/promises';
28
28
  import 'path';
29
+ import 'crypto';
29
30
  import 'module';
30
31
  import 'typescript';
31
32
  import 'os';
@@ -1 +1 @@
1
- {"version":3,"file":"job-plan.json.js","sources":["../src/components/job-plan.json.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport slugify from 'slugify';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { printJson } from '../utils/json.js';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport type { Writable } from '../utils/types.js';\n\nexport function jobPlanJson(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n const output: PlanItemDto[] = [];\n\n for (const item of plan) {\n const dto: Writable<PlanItemDto> = {\n id: item.workload.id,\n label: item.workload.label,\n type: item.workload.type,\n dependsOn: item.dependsOn.map((idx) => plan[idx].workload.id),\n };\n\n if (item.parent && item.parent.label !== '[hidden]') {\n dto.parentId = item.parent.id;\n }\n\n if (isScriptWorkflow(item.workload)) {\n dto.workspace = {\n name: item.workload.workspace.name,\n slug: slugify(item.workload.workspace.name),\n version: item.workload.workspace.version,\n root: item.workload.workspace.root,\n };\n }\n\n output.push(dto);\n }\n\n printJson(output, stream);\n}\n\nexport interface PlanWorkspaceDto {\n readonly name: string;\n readonly slug: string;\n readonly version: string;\n readonly root: string;\n}\n\nexport interface PlanItemDto {\n readonly id: string;\n readonly parentId?: string;\n readonly label: string;\n readonly type: string;\n readonly workspace?: PlanWorkspaceDto;\n readonly dependsOn: readonly string[];\n}\n"],"names":["jobPlanJson","job","stream","process","stdout","plan","flatJobPlan","output","item","dto","id","workload","label","type","dependsOn","map","idx","parent","parentId","isScriptWorkflow","workspace","name","slug","slugify","version","root","push","printJson"],"mappings":"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"}
1
+ {"version":3,"file":"job-plan.json.js","sources":["../src/components/job-plan.json.ts"],"sourcesContent":["import type { Workload$ } from '@kyrielle/workload';\nimport slugify from 'slugify';\nimport { flatJobPlan } from '../trees/flat-job-plan.js';\nimport { printJson } from '../utils/json.js';\nimport { isScriptWorkflow } from '../utils/predicates.js';\nimport type { Writable } from '../utils/types.js';\n\nexport function jobPlanJson(job: Workload$, stream: NodeJS.WriteStream = process.stdout) {\n const plan = flatJobPlan(job);\n const output: PlanItemDto[] = [];\n\n for (const item of plan) {\n const dto: Writable<PlanItemDto> = {\n id: item.workload.id,\n label: item.workload.label,\n type: item.workload.type,\n dependsOn: item.dependsOn.map((idx) => plan[idx].workload.id),\n };\n\n if (item.parent && item.parent.label !== '[hidden]') {\n dto.parentId = item.parent.id;\n }\n\n if (isScriptWorkflow(item.workload)) {\n dto.workspace = {\n name: item.workload.workspace.name,\n slug: slugify(item.workload.workspace.name),\n version: item.workload.workspace.version,\n root: item.workload.workspace.root,\n };\n }\n\n output.push(dto);\n }\n\n printJson(output, stream);\n}\n\nexport interface PlanWorkspaceDto {\n readonly name: string;\n readonly slug: string;\n readonly version: string;\n readonly root: string;\n}\n\nexport interface PlanItemDto {\n readonly id: string;\n readonly parentId?: string;\n readonly label: string;\n readonly type: string;\n readonly workspace?: PlanWorkspaceDto;\n readonly dependsOn: readonly string[];\n}\n"],"names":["jobPlanJson","job","stream","process","stdout","plan","flatJobPlan","output","item","dto","id","workload","label","type","dependsOn","map","idx","parent","parentId","isScriptWorkflow","workspace","name","slug","slugify","version","root","push","printJson"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOO,QAAA,CAASA,WAAAA,CAAYC,GAAc,CAAA,CAAEC,MAAAA,CAAAA,CAAAA,CAA6BC,QAAQC,MAAM,CAAA,CAAA;AACrF,CAAA,CAAA,CAAA,CAAA,MAAMC,OAAOC,WAAAA,CAAYL,GAAAA,CAAAA;AACzB,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMM,SAAwB,CAAA,CAAE;IAEhC,GAAA,CAAA,CAAK,KAAA,CAAMC,QAAQH,IAAAA,CAAM;AACvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,KAAA,CAAMI,GAAAA,CAAAA,CAAAA,CAA6B;YACjCC,EAAAA,CAAAA,CAAIF,IAAAA,CAAKG,QAAQ,CAACD,EAAE;YACpBE,KAAAA,CAAAA,CAAOJ,IAAAA,CAAKG,QAAQ,CAACC,KAAK;YAC1BC,IAAAA,CAAAA,CAAML,IAAAA,CAAKG,QAAQ,CAACE,IAAI;AACxBC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,CAAWN,IAAAA,CAAKM,SAAS,CAACC,GAAG,CAAC,CAACC,GAAAA,CAAAA,CAAAA,CAAQX,IAAI,CAACW,GAAAA,CAAI,CAACL,QAAQ,CAACD,EAAE;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEA,EAAA,CAAA,CAAIF,IAAAA,CAAKS,MAAM,CAAA,CAAA,CAAA,CAAIT,IAAAA,CAAKS,MAAM,CAACL,KAAK,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAY;AACnDH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIS,QAAQ,CAAA,CAAA,CAAGV,IAAAA,CAAKS,MAAM,CAACP,EAAE;AAC/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QAEA,IAAIS,gBAAAA,CAAiBX,IAAAA,CAAKG,QAAQ,CAAA,CAAA,CAAG;AACnCF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAIW,SAAS,CAAA,CAAA,CAAG;AACdC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,EAAMb,IAAAA,CAAKG,QAAQ,CAACS,SAAS,CAACC,IAAI;AAClCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAMC,QAAQf,IAAAA,CAAKG,QAAQ,CAACS,SAAS,CAACC,IAAI,CAAA;AAC1CG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,EAAShB,IAAAA,CAAKG,QAAQ,CAACS,SAAS,CAACI,OAAO;AACxCC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAMjB,IAAAA,CAAKG,QAAQ,CAACS,SAAS,CAACK;AAChC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEAlB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAAA,CAAOmB,IAAI,CAACjB,GAAAA,CAAAA;AACd,CAAA,CAAA,CAAA,CAAA;AAEAkB,CAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAUpB,MAAAA,CAAAA,CAAQL,MAAAA,CAAAA;AACpB;;"}
package/dist/list.ink.js CHANGED
@@ -1,13 +1,15 @@
1
- ;{try{(function(){var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="de2d7151-56da-4152-8081-628d01c24c3e",e._sentryDebugIdIdentifier="sentry-dbid-de2d7151-56da-4152-8081-628d01c24c3e");})();}catch(e){}};!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.6"};}catch(e){}}();import { i as inked, j as jsxRuntimeExports, B as Box, T as Text } from './inked.js';
1
+ !function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"jill@3.0.8"};var n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="85295f72-1bd6-4a5a-ba9a-96f84d559462",e._sentryDebugIdIdentifier="sentry-dbid-85295f72-1bd6-4a5a-ba9a-96f84d559462");}catch(e){}}();import { i as inked, j as jsxRuntimeExports, B as Box, T as Text } from './inked.js';
2
2
  import 'node:stream';
3
3
  import 'node:process';
4
- import 'node:events';
5
4
  import { a as capitalize } from './main.js';
6
5
  import '@sentry/node';
7
6
  import 'assert';
8
7
  import 'events';
9
- import 'node:os';
8
+ import 'node:child_process';
10
9
  import 'node:fs';
10
+ import 'node:tty';
11
+ import 'node:os';
12
+ import 'node:events';
11
13
  import 'module';
12
14
  import 'node:buffer';
13
15
  import 'yargs/helpers';
@@ -21,13 +23,12 @@ import 'node:async_hooks';
21
23
  import 'url';
22
24
  import 'node:module';
23
25
  import 'util';
24
- import 'node:child_process';
25
26
  import 'node:crypto';
26
27
  import 'node:stream/consumers';
27
- import 'node:tty';
28
28
  import 'yargs';
29
29
  import 'fs/promises';
30
30
  import 'path';
31
+ import 'crypto';
31
32
  import 'typescript';
32
33
  import 'os';
33
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"list.ink.js","sources":["../src/commands/list.ink.tsx"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { capitalize } from '../utils/string.js';\nimport { inked } from '../wrappers/inked.jsx';\nimport type { ExtractedData, ListAttr } from './list.js';\n\nconst ListInk = inked(function* (props: ListInkProps) {\n const { attributes, headers, workspaces } = props;\n\n yield (\n <Box>\n { attributes.map((attr) => (\n <Box key={attr} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(attr) }</Text>\n ) }\n { workspaces.map((wks, idx) => (\n <Text key={idx}>{ wks[attr] || ' ' }</Text>\n ))}\n </Box>\n )) }\n </Box>\n );\n});\n\nexport default ListInk;\n\n// Types\nexport interface ListInkProps {\n readonly attributes: readonly ListAttr[];\n readonly headers?: boolean;\n readonly workspaces: readonly ExtractedData[];\n}\n"],"names":["ListInk","inked","props","attributes","headers","workspaces","_jsx","Box","map","attr","_jsxs","flexDirection","marginRight","Text","bold","capitalize","wks","idx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,KAAA,CAAMA,OAAAA,CAAAA,CAAAA,CAAUC,KAAAA,CAAM,QAAA,CAAA,CAAWC,KAAmB,CAAA,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,EAAEC,UAAU,CAAA,CAAEC,OAAO,CAAA,CAAEC,UAAU,CAAA,CAAE,CAAA,CAAA,CAAGH,KAAAA,CAAAA;AAE5C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEI,iBAAAA,CAAAA,GAAA,CAACC,GAAAA,CAAAA,CAAAA,CAAAA;AACGJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,UAAAA,CAAWK,GAAG,CAAC,CAACC,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAChBC,iBAAAA,CAAAA,IAAA,CAACH,GAAAA,CAAAA,CAAAA,CAAAA;gBAAeI,aAAAA,EAAc,CAAA,MAAA,CAAA,CAAA;gBAASC,WAAAA,EAAa,CAAA,CAAA;;AAChDR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CACAE,iBAAAA,CAAAA,GAAA,CAACO,IAAAA,CAAAA,CAAAA,CAAAA;wBAAKC,IAAI,EAAA,IAAA,CAAA;kCAAGC,UAAAA,CAAWN,IAAAA,CAAAA;;AAExBJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAWG,GAAG,CAAC,CAACQ,GAAAA,CAAAA,CAAKC,oBACrBX,iBAAAA,CAAAA,GAAA,CAACO,IAAAA,CAAAA,CAAAA,CAAAA;sCAAiBG,GAAG,CAACP,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA,CAAA;AAApBQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA,CAAAA;;AALLR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA;;AAWlB,CAAA,CAAA,CAAA;;"}
1
+ {"version":3,"file":"list.ink.js","sources":["../src/commands/list.ink.tsx"],"sourcesContent":["import { Box, Text } from 'ink';\nimport { capitalize } from '../utils/string.js';\nimport { inked } from '../wrappers/inked.jsx';\nimport type { ExtractedData, ListAttr } from './list.js';\n\nconst ListInk = inked(function* (props: ListInkProps) {\n const { attributes, headers, workspaces } = props;\n\n yield (\n <Box>\n { attributes.map((attr) => (\n <Box key={attr} flexDirection=\"column\" marginRight={2}>\n { headers && (\n <Text bold>{ capitalize(attr) }</Text>\n ) }\n { workspaces.map((wks, idx) => (\n <Text key={idx}>{ wks[attr] || ' ' }</Text>\n ))}\n </Box>\n )) }\n </Box>\n );\n});\n\nexport default ListInk;\n\n// Types\nexport interface ListInkProps {\n readonly attributes: readonly ListAttr[];\n readonly headers?: boolean;\n readonly workspaces: readonly ExtractedData[];\n}\n"],"names":["ListInk","inked","props","attributes","headers","workspaces","_jsx","Box","map","attr","_jsxs","flexDirection","marginRight","Text","bold","capitalize","wks","idx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,KAAA,CAAMA,OAAAA,CAAAA,CAAAA,CAAUC,KAAAA,CAAM,QAAA,CAAA,CAAWC,KAAmB,CAAA,CAAA;AAClD,CAAA,CAAA,CAAA,CAAA,KAAA,CAAM,EAAEC,UAAU,CAAA,CAAEC,OAAO,CAAA,CAAEC,UAAU,CAAA,CAAE,CAAA,CAAA,CAAGH,KAAAA;AAE5C,CAAA,CAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CACEI,iBAAAA,CAAAA,GAAA,CAACC,GAAAA,CAAAA,CAAAA;AACGJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,UAAAA,CAAWK,GAAG,CAAC,CAACC,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CAChBC,iBAAAA,CAAAA,IAAA,CAACH,GAAAA,CAAAA,CAAAA;gBAAeI,aAAAA,EAAc,CAAA,MAAA,CAAA;gBAASC,WAAAA,EAAa,CAAA;;AAChDR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,QAAAA,CAAAA,CAAAA,CACAE,iBAAAA,CAAAA,GAAA,CAACO,IAAAA,CAAAA,CAAAA;wBAAKC,IAAI,EAAA,IAAA;kCAAGC,UAAAA,CAAWN,IAAAA;;AAExBJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,UAAAA,CAAWG,GAAG,CAAC,CAACQ,GAAAA,CAAAA,CAAKC,oBACrBX,iBAAAA,CAAAA,GAAA,CAACO,IAAAA,CAAAA,CAAAA;sCAAiBG,GAAG,CAACP,KAAK,CAAA,CAAA,CAAA,CAAI,CAAA,CAAA;AAApBQ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,GAAAA,CAAAA;;AALLR,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA;;AAWlB,CAAA,CAAA;;"}