{"version":3,"names":["loadOptionsRunner","gensync","opts","config","loadFullConfig","options","createConfigItemRunner","createConfigItemImpl","maybeErrback","runner","argOrCallback","maybeCallback","arg","callback","undefined","errback","sync","loadPartialConfig","loadPartialConfigRunner","loadPartialConfigSync","loadPartialConfigAsync","async","loadOptions","loadOptionsSync","loadOptionsAsync","createConfigItemSync","createConfigItemAsync","createConfigItem","target"],"sources":["../../src/config/index.ts"],"sourcesContent":["import gensync, { type Handler, type Callback } from \"gensync\";\n\nexport type {\n ResolvedConfig,\n InputOptions,\n PluginPasses,\n Plugin,\n} from \"./full\";\n\nimport type { PluginTarget } from \"./validation/options\";\n\nimport type {\n PluginAPI as basePluginAPI,\n PresetAPI as basePresetAPI,\n} from \"./helpers/config-api\";\nexport type { PluginObject } from \"./validation/plugins\";\ntype PluginAPI = basePluginAPI & typeof import(\"..\");\ntype PresetAPI = basePresetAPI & typeof import(\"..\");\nexport type { PluginAPI, PresetAPI };\n// todo: may need to refine PresetObject to be a subset of ValidatedOptions\nexport type {\n CallerMetadata,\n ValidatedOptions as PresetObject,\n} from \"./validation/options\";\n\nimport loadFullConfig, { type ResolvedConfig } from \"./full\";\nimport { loadPartialConfig as loadPartialConfigRunner } from \"./partial\";\n\nexport { loadFullConfig as default };\nexport type { PartialConfig } from \"./partial\";\n\nimport { createConfigItem as createConfigItemImpl } from \"./item\";\nimport type { ConfigItem } from \"./item\";\n\nconst loadOptionsRunner = gensync(function* (\n opts: unknown,\n): Handler<ResolvedConfig | null> {\n const config = yield* loadFullConfig(opts);\n // NOTE: We want to return \"null\" explicitly, while ?. alone returns undefined\n return config?.options ?? null;\n});\n\nconst createConfigItemRunner = gensync(createConfigItemImpl);\n\nconst maybeErrback =\n <Arg, Return>(runner: gensync.Gensync<[Arg], Return>) =>\n (argOrCallback: Arg | Callback<Return>, maybeCallback?: Callback<Return>) => {\n let arg: Arg | undefined;\n let callback: Callback<Return>;\n if (maybeCallback === undefined && typeof argOrCallback === \"function\") {\n callback = argOrCallback as Callback<Return>;\n arg = undefined;\n } else {\n callback = maybeCallback;\n arg = argOrCallback as Arg;\n }\n return callback ? runner.errback(arg, callback) : runner.sync(arg);\n };\n\nexport const loadPartialConfig = maybeErrback(loadPartialConfigRunner);\nexport const loadPartialConfigSync = loadPartialConfigRunner.sync;\nexport const loadPartialConfigAsync = loadPartialConfigRunner.async;\n\nexport const loadOptions = maybeErrback(loadOptionsRunner);\nexport const loadOptionsSync = loadOptionsRunner.sync;\nexport const loadOptionsAsync = loadOptionsRunner.async;\n\nexport const createConfigItemSync = createConfigItemRunner.sync;\nexport const createConfigItemAsync = createConfigItemRunner.async;\nexport function createConfigItem(\n target: PluginTarget,\n options: Parameters<typeof createConfigItemImpl>[1],\n callback?: (err: Error, val: ConfigItem | null) => void,\n) {\n if (callback !== undefined) {\n return createConfigItemRunner.errback(target, options, callback);\n } else if (typeof options === \"function\") {\n return createConfigItemRunner.errback(target, undefined, callback);\n } else {\n return createConfigItemRunner.sync(target, options);\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAAA;EAAA;EAAA;IAAA;EAAA;EAAA;AAAA;AAyBA;AACA;AAKA;AAGA,MAAMA,iBAAiB,GAAGC,UAAO,CAAC,WAChCC,IAAa,EACmB;EAAA;EAChC,MAAMC,MAAM,GAAG,OAAO,IAAAC,aAAc,EAACF,IAAI,CAAC;EAE1C,0BAAOC,MAAM,oBAANA,MAAM,CAAEE,OAAO,8BAAI,IAAI;AAChC,CAAC,CAAC;AAEF,MAAMC,sBAAsB,GAAGL,UAAO,CAACM,sBAAoB,CAAC;AAE5D,MAAMC,YAAY,GACFC,MAAsC,IACpD,CAACC,aAAqC,EAAEC,aAAgC,KAAK;EAC3E,IAAIC,GAAoB;EACxB,IAAIC,QAA0B;EAC9B,IAAIF,aAAa,KAAKG,SAAS,IAAI,OAAOJ,aAAa,KAAK,UAAU,EAAE;IACtEG,QAAQ,GAAGH,aAAiC;IAC5CE,GAAG,GAAGE,SAAS;EACjB,CAAC,MAAM;IACLD,QAAQ,GAAGF,aAAa;IACxBC,GAAG,GAAGF,aAAoB;EAC5B;EACA,OAAOG,QAAQ,GAAGJ,MAAM,CAACM,OAAO,CAACH,GAAG,EAAEC,QAAQ,CAAC,GAAGJ,MAAM,CAACO,IAAI,CAACJ,GAAG,CAAC;AACpE,CAAC;AAEI,MAAMK,iBAAiB,GAAGT,YAAY,CAACU,0BAAuB,CAAC;AAAC;AAChE,MAAMC,qBAAqB,GAAGD,0BAAuB,CAACF,IAAI;AAAC;AAC3D,MAAMI,sBAAsB,GAAGF,0BAAuB,CAACG,KAAK;AAAC;AAE7D,MAAMC,WAAW,GAAGd,YAAY,CAACR,iBAAiB,CAAC;AAAC;AACpD,MAAMuB,eAAe,GAAGvB,iBAAiB,CAACgB,IAAI;AAAC;AAC/C,MAAMQ,gBAAgB,GAAGxB,iBAAiB,CAACqB,KAAK;AAAC;AAEjD,MAAMI,oBAAoB,GAAGnB,sBAAsB,CAACU,IAAI;AAAC;AACzD,MAAMU,qBAAqB,GAAGpB,sBAAsB,CAACe,KAAK;AAAC;AAC3D,SAASM,gBAAgB,CAC9BC,MAAoB,EACpBvB,OAAmD,EACnDQ,QAAuD,EACvD;EACA,IAAIA,QAAQ,KAAKC,SAAS,EAAE;IAC1B,OAAOR,sBAAsB,CAACS,OAAO,CAACa,MAAM,EAAEvB,OAAO,EAAEQ,QAAQ,CAAC;EAClE,CAAC,MAAM,IAAI,OAAOR,OAAO,KAAK,UAAU,EAAE;IACxC,OAAOC,sBAAsB,CAACS,OAAO,CAACa,MAAM,EAAEd,SAAS,EAAED,QAAQ,CAAC;EACpE,CAAC,MAAM;IACL,OAAOP,sBAAsB,CAACU,IAAI,CAACY,MAAM,EAAEvB,OAAO,CAAC;EACrD;AACF;AAAC"}