MCPcopy
hub / github.com/tailwindlabs/tailwindcss / args

Function args

packages/@tailwindcss-cli/src/utils/args.ts:70–122  ·  view source on GitHub ↗
(options: T, argv = process.argv.slice(2))

Source from the content-addressed store, hash-verified

68}
69
70export function args<const T extends Arg>(options: T, argv = process.argv.slice(2)): Result<T> {
71 for (let [idx, value] of argv.entries()) {
72 if (value === '-') {
73 argv[idx] = '__IO_DEFAULT_VALUE__'
74 }
75 }
76
77 let parsed = parse(argv)
78
79 for (let key in parsed) {
80 let value = parsed[key]
81
82 if (key !== '_' && Array.isArray(value)) {
83 value = value[value.length - 1]
84 }
85
86 if (value === '__IO_DEFAULT_VALUE__') {
87 value = '-'
88 }
89
90 parsed[key] = value
91 }
92
93 let result: { _: string[]; [key: string]: unknown } = {
94 _: parsed._,
95 }
96
97 for (let [
98 flag,
99 { type, alias, default: defaultValue = type === 'boolean' ? false : null },
100 ] of Object.entries(options)) {
101 // Start with the default value
102 result[flag] = defaultValue
103
104 // Try to find the `alias`, and map it to long form `flag`
105 if (alias) {
106 let key = alias.slice(1)
107 if (parsed[key] !== undefined) {
108 result[flag] = convert(parsed[key], type)
109 }
110 }
111
112 // Try to find the long form `flag`
113 {
114 let key = flag.slice(2)
115 if (parsed[key] !== undefined) {
116 result[flag] = convert(parsed[key], type)
117 }
118 }
119 }
120
121 return result as Result<T>
122}
123
124// ---
125

Callers 3

runFunction · 0.90
args.test.tsFile · 0.90
runCommandLineFunction · 0.90

Calls 3

convertFunction · 0.70
parseFunction · 0.50
entriesMethod · 0.45

Tested by

no test coverage detected