api 7.0.0-beta.1 → 7.0.0-beta.10

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 (55) hide show
  1. package/README.md +1 -2
  2. package/dist/bin.js +8 -1
  3. package/dist/bin.js.map +1 -1
  4. package/dist/codegen/codegenerator.d.ts +36 -1
  5. package/dist/codegen/codegenerator.d.ts.map +1 -1
  6. package/dist/codegen/codegenerator.js +66 -0
  7. package/dist/codegen/codegenerator.js.map +1 -1
  8. package/dist/codegen/factory.js.map +1 -1
  9. package/dist/codegen/languages/typescript/index.d.ts +32 -4
  10. package/dist/codegen/languages/typescript/index.d.ts.map +1 -1
  11. package/dist/codegen/languages/typescript/index.js +221 -61
  12. package/dist/codegen/languages/typescript/index.js.map +1 -1
  13. package/dist/codegen/languages/typescript/util.d.ts.map +1 -1
  14. package/dist/codegen/languages/typescript/util.js +1 -3
  15. package/dist/codegen/languages/typescript/util.js.map +1 -1
  16. package/dist/commands/install.d.ts.map +1 -1
  17. package/dist/commands/install.js +67 -54
  18. package/dist/commands/install.js.map +1 -1
  19. package/dist/commands/list.js.map +1 -1
  20. package/dist/commands/uninstall.d.ts.map +1 -1
  21. package/dist/commands/uninstall.js +7 -10
  22. package/dist/commands/uninstall.js.map +1 -1
  23. package/dist/fetcher.d.ts +17 -17
  24. package/dist/fetcher.d.ts.map +1 -1
  25. package/dist/fetcher.js +7 -1
  26. package/dist/fetcher.js.map +1 -1
  27. package/dist/lib/isCI.d.ts +8 -0
  28. package/dist/lib/isCI.d.ts.map +1 -0
  29. package/dist/lib/isCI.js +18 -0
  30. package/dist/lib/isCI.js.map +1 -0
  31. package/dist/lib/prompt.d.ts +1 -1
  32. package/dist/lib/prompt.d.ts.map +1 -1
  33. package/dist/lib/prompt.js +33 -8
  34. package/dist/lib/prompt.js.map +1 -1
  35. package/dist/lib/suggestedOperations.d.ts +31 -0
  36. package/dist/lib/suggestedOperations.d.ts.map +1 -0
  37. package/dist/lib/suggestedOperations.js +108 -0
  38. package/dist/lib/suggestedOperations.js.map +1 -0
  39. package/dist/lockfileSchema.d.ts +1 -1
  40. package/dist/lockfileSchema.d.ts.map +1 -1
  41. package/dist/logger.d.ts +2 -0
  42. package/dist/logger.d.ts.map +1 -1
  43. package/dist/logger.js +5 -1
  44. package/dist/logger.js.map +1 -1
  45. package/dist/packageInfo.d.ts +1 -1
  46. package/dist/packageInfo.d.ts.map +1 -1
  47. package/dist/packageInfo.js +1 -1
  48. package/dist/packageInfo.js.map +1 -1
  49. package/dist/storage.d.ts +8 -6
  50. package/dist/storage.d.ts.map +1 -1
  51. package/dist/storage.js +28 -6
  52. package/dist/storage.js.map +1 -1
  53. package/legacy-require-handler.cjs +29 -0
  54. package/legacy-require-handler.d.cts +2 -0
  55. package/package.json +43 -36
@@ -1,4 +1,6 @@
1
+ import chalk from 'chalk';
1
2
  import { Command, Option } from 'commander';
3
+ import { createEmphasize, common } from 'emphasize';
2
4
  import figures from 'figures';
3
5
  import Oas from 'oas';
4
6
  import ora from 'ora';
@@ -6,18 +8,10 @@ import uslug from 'uslug';
6
8
  import { SupportedLanguages, codegenFactory } from '../codegen/factory.js';
7
9
  import Fetcher from '../fetcher.js';
8
10
  import promptTerminal from '../lib/prompt.js';
9
- import logger from '../logger.js';
11
+ import logger, { oraOptions } from '../logger.js';
10
12
  import Storage from '../storage.js';
11
- // @todo log logs to `.api/.logs` and have `.logs` ignored
12
- const cmd = new Command();
13
- cmd
14
- .name('install')
15
- .description('install an API SDK into your codebase')
16
- .argument('<uri>', 'an API to install')
17
- .option('-i, --identifier <identifier>', 'API identifier (eg. `@api/petstore`)')
18
- .addOption(new Option('-l, --lang <language>', 'SDK language').default(SupportedLanguages.JS).choices([SupportedLanguages.JS]))
19
- .addOption(new Option('-y, --yes', 'Automatically answer "yes" to any prompts printed'))
20
- .action(async (uri, options) => {
13
+ const { highlight } = createEmphasize(common);
14
+ async function getLanguage(options) {
21
15
  let language;
22
16
  if (options.lang) {
23
17
  language = options.lang;
@@ -31,32 +25,9 @@ cmd
31
25
  initial: 1,
32
26
  }));
33
27
  }
34
- // @todo let them know that we're going to be creating a `.api/ directory
35
- // @todo detect if they have a gitigore and .npmignore and if .api woudl be ignored by that
36
- // @todo don't support swagger files without upconverting them
37
- if (Storage.isInLockFile({ source: uri })) {
38
- // @todo
39
- // logger(`It looks like you already have this API installed. Would you like to update it?`);
40
- }
41
- let spinner = ora('Fetching your API definition').start();
42
- const storage = new Storage(uri, language);
43
- const oas = await storage
44
- .load(false)
45
- .then(res => {
46
- spinner.succeed(spinner.text);
47
- return res;
48
- })
49
- .then(Oas.init)
50
- .then(async (spec) => {
51
- await spec.dereference({ preserveRefAsJSONSchemaTitle: true });
52
- return spec;
53
- })
54
- .catch(err => {
55
- // @todo cleanup installed files
56
- spinner.fail(spinner.text);
57
- logger(err.message, true);
58
- process.exit(1);
59
- });
28
+ return language;
29
+ }
30
+ async function getIdentifier(oas, uri, options) {
60
31
  let identifier;
61
32
  if (options.identifier) {
62
33
  // `Storage.isIdentifierValid` will throw an exception if an identifier is invalid.
@@ -86,16 +57,54 @@ cmd
86
57
  },
87
58
  }));
88
59
  }
60
+ return identifier;
61
+ }
62
+ // @todo log logs to `.api/.logs` and have `.logs` ignored
63
+ const cmd = new Command();
64
+ cmd
65
+ .name('install')
66
+ .description('install an API SDK into your codebase')
67
+ .argument('<uri>', 'an API to install')
68
+ .option('-i, --identifier <identifier>', 'API identifier (eg. `@api/petstore`)')
69
+ .addOption(new Option('-l, --lang <language>', 'SDK language').default(SupportedLanguages.JS).choices([SupportedLanguages.JS]))
70
+ .addOption(new Option('-y, --yes', 'Automatically answer "yes" to any prompts printed'))
71
+ .action(async (uri, options) => {
72
+ const language = await getLanguage(options);
73
+ // @todo let them know that we're going to be creating a `.api/ directory
74
+ // @todo detect if they have a gitigore and .npmignore and if .api woudl be ignored by that
75
+ // @todo don't support swagger files without upconverting them
76
+ if (Storage.isInLockFile({ source: uri })) {
77
+ // @todo
78
+ // logger(`It looks like you already have this API installed. Would you like to update it?`);
79
+ }
80
+ let spinner = ora({ text: 'Fetching your API definition', ...oraOptions() }).start();
81
+ const storage = new Storage(uri, language);
82
+ const oas = await storage
83
+ .load(false)
84
+ .then(res => {
85
+ spinner.succeed(spinner.text);
86
+ return res;
87
+ })
88
+ .then(Oas.init)
89
+ .then(async (spec) => {
90
+ await spec.dereference({ preserveRefAsJSONSchemaTitle: true });
91
+ return spec;
92
+ })
93
+ .catch(err => {
94
+ // @todo cleanup installed files
95
+ spinner.fail(spinner.text);
96
+ throw err;
97
+ });
98
+ const identifier = await getIdentifier(oas, uri, options);
89
99
  if (!identifier) {
90
- logger('You must tell us what you would like to identify this API as in order to install it.', true);
91
- process.exit(1);
100
+ throw new Error('You must tell us what you would like to identify this API as in order to install it.');
92
101
  }
93
102
  // Now that we've got an identifier we can save their spec and generate the directory structure
94
103
  // for their SDK.
95
104
  storage.setIdentifier(identifier);
96
105
  await storage.save(oas.api);
97
106
  // @todo look for a prettier config and if we find one ask them if we should use it
98
- spinner = ora('Generating your SDK').start();
107
+ spinner = ora({ text: 'Generating your SDK', ...oraOptions() }).start();
99
108
  const generator = codegenFactory(language, oas, '../openapi.json', identifier);
100
109
  const sdkSource = await generator
101
110
  .generate()
@@ -106,10 +115,9 @@ cmd
106
115
  .catch(err => {
107
116
  // @todo cleanup installed files
108
117
  spinner.fail(spinner.text);
109
- logger(err.message, true);
110
- process.exit(1);
118
+ throw err;
111
119
  });
112
- spinner = ora('Saving your SDK into your codebase').start();
120
+ spinner = ora({ text: 'Saving your SDK into your codebase', ...oraOptions() }).start();
113
121
  await storage
114
122
  .saveSourceFiles(sdkSource)
115
123
  .then(() => {
@@ -118,8 +126,7 @@ cmd
118
126
  .catch(err => {
119
127
  // @todo cleanup installed files
120
128
  spinner.fail(spinner.text);
121
- logger(err.message, true);
122
- process.exit(1);
129
+ throw err;
123
130
  });
124
131
  if (generator.hasRequiredPackages()) {
125
132
  logger(`${figures.warning} This generator requires some packages to be installed alongside it:`);
@@ -139,12 +146,11 @@ cmd
139
146
  }).then(({ value }) => {
140
147
  if (!value) {
141
148
  // @todo cleanup installed files
142
- logger('Installation cancelled.', true);
143
- process.exit(1);
149
+ throw new Error('Installation cancelled.');
144
150
  }
145
151
  });
146
152
  }
147
- spinner = ora('Installing required packages').start();
153
+ spinner = ora({ text: 'Installing required packages', ...oraOptions() }).start();
148
154
  try {
149
155
  await generator.install(storage);
150
156
  spinner.succeed(spinner.text);
@@ -152,11 +158,10 @@ cmd
152
158
  catch (err) {
153
159
  // @todo cleanup installed files
154
160
  spinner.fail(spinner.text);
155
- logger(err.message, true);
156
- process.exit(1);
161
+ throw err;
157
162
  }
158
163
  }
159
- spinner = ora('Compiling your SDK').start();
164
+ spinner = ora({ text: 'Compiling your SDK', ...oraOptions() }).start();
160
165
  try {
161
166
  await generator.compile(storage);
162
167
  spinner.succeed(spinner.text);
@@ -164,10 +169,18 @@ cmd
164
169
  catch (err) {
165
170
  // @todo cleanup installed files
166
171
  spinner.fail(spinner.text);
167
- logger(err.message, true);
168
- process.exit(1);
172
+ throw err;
173
+ }
174
+ logger('');
175
+ logger(`🚀 All done! Your SDK is now available to use locally via the ${chalk.yellow(storage.getPackageName())} package.`);
176
+ const exampleSnippet = await generator.getExampleCodeSnippet();
177
+ if (exampleSnippet) {
178
+ logger('');
179
+ logger(chalk.bold("👇 Here's an example code snippet you can try out 👇"));
180
+ logger('');
181
+ logger(highlight(language, exampleSnippet).value);
169
182
  }
170
- logger('🚀 All done!');
183
+ logger('');
171
184
  })
172
185
  .addHelpText('after', `
173
186
  Examples:
@@ -1 +1 @@
1
- {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,MAAM,CAAC;KACZ,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,qEAAqE;IACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE;QACzB,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACjD,OAAO;KACR;IAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,MAAM,CAAC,EAAE,CAAC,CAAC;SACZ;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE;YACf,MAAM,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;SAC3F;QAED,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,SAAS,EAAE;YACjB,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACpD;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,OAAO,MAAM,eAAe,CAAC;AAEpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,MAAM,CAAC;KACZ,KAAK,CAAC,IAAI,CAAC;KACX,WAAW,CAAC,6BAA6B,CAAC;KAC1C,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,qEAAqE;IACrE,OAAO,CAAC,aAAa,EAAE,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACvC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,MAAM,CAAC,wCAAwC,CAAC,CAAC;QACjD,OAAO;IACT,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,CAAC,CAAC;QACb,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,MAAM,CAAC,iBAAiB,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5F,CAAC;QAED,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzE,MAAM,CAAC,WAAW,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,sBAAsB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5D,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,MAAM,CAAC,eAAe,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEL,eAAe,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,QAAA,MAAM,GAAG,SAAgB,CAAC;AA8E1B,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"uninstall.d.ts","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AAY5C,QAAA,MAAM,GAAG,SAAgB,CAAC;AA0E1B,eAAe,GAAG,CAAC"}
@@ -4,7 +4,7 @@ import { Command, Option } from 'commander';
4
4
  import ora from 'ora';
5
5
  import { SupportedLanguages, uninstallerFactory } from '../codegen/factory.js';
6
6
  import promptTerminal from '../lib/prompt.js';
7
- import logger from '../logger.js';
7
+ import logger, { oraOptions } from '../logger.js';
8
8
  import Storage from '../storage.js';
9
9
  const cmd = new Command();
10
10
  cmd
@@ -18,8 +18,7 @@ cmd
18
18
  const storage = new Storage('', SupportedLanguages.JS, identifier);
19
19
  const entry = Storage.getFromLockfile(identifier);
20
20
  if (!entry) {
21
- logger(`You do not appear to have ${identifier} installed. You can run \`npx api list\` to see what SDKs are present.`, true);
22
- process.exit(1);
21
+ throw new Error(`You do not appear to have ${identifier} installed. You can run \`npx api list\` to see what SDKs are present.`);
23
22
  }
24
23
  storage.setLanguage(entry?.language);
25
24
  storage.setIdentifier(identifier);
@@ -32,11 +31,11 @@ cmd
32
31
  initial: true,
33
32
  }).then(({ value }) => {
34
33
  if (!value) {
35
- process.exit(1);
34
+ throw new Error('Uninstallation cancelled.');
36
35
  }
37
36
  });
38
37
  }
39
- let spinner = ora(`Uninstalling ${chalk.grey(identifier)}`).start();
38
+ let spinner = ora({ text: `Uninstalling ${chalk.grey(identifier)}`, ...oraOptions() }).start();
40
39
  // If we have a known package name for this then we can uninstall it from within cooresponding
41
40
  // package manager.
42
41
  const pkgName = storage.getPackageName();
@@ -48,11 +47,10 @@ cmd
48
47
  })
49
48
  .catch(err => {
50
49
  spinner.fail(spinner.text);
51
- logger(err.message, true);
52
- process.exit(1);
50
+ throw err;
53
51
  });
54
52
  }
55
- spinner = ora(`Removing ${chalk.grey(directory)}`).start();
53
+ spinner = ora({ text: `Removing ${chalk.grey(directory)}`, ...oraOptions() }).start();
56
54
  await storage
57
55
  .remove()
58
56
  .then(() => {
@@ -60,8 +58,7 @@ cmd
60
58
  })
61
59
  .catch(err => {
62
60
  spinner.fail(spinner.text);
63
- logger(err.message, true);
64
- process.exit(1);
61
+ throw err;
65
62
  });
66
63
  logger('🚀 All done!');
67
64
  })
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAC9C,OAAO,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,OAAO,MAAM,eAAe,CAAC;AAMpC,MAAM,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;AAC1B,GAAG;KACA,IAAI,CAAC,WAAW,CAAC;KACjB,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;KAChD,SAAS,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,mDAAmD,CAAC,CAAC;KACvF,MAAM,CAAC,KAAK,EAAE,UAAkB,EAAE,OAAgB,EAAE,EAAE;IACrD,+FAA+F;IAC/F,qCAAqC;IACrC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAEnE,MAAM,KAAK,GAAG,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,wEAAwE,CAChH,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAElC,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAAC;IAClF,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,cAAc,CAAC;YACnB,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,sCAAsC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,0BAA0B,KAAK,CAAC,MAAM,CAC3G,SAAS,CACV,iEAAiE;YAClE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;YACpB,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IAE/F,8FAA8F;IAC9F,mBAAmB;IACnB,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC;aACxC,IAAI,CAAC,GAAG,EAAE;YACT,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC;IAED,OAAO,GAAG,GAAG,CAAC,EAAE,IAAI,EAAE,YAAY,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,UAAU,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;IACtF,MAAM,OAAO;SACV,MAAM,EAAE;SACR,IAAI,CAAC,GAAG,EAAE;QACT,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC,CAAC;SACD,KAAK,CAAC,GAAG,CAAC,EAAE;QACX,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,GAAG,CAAC;IACZ,CAAC,CAAC,CAAC;IAEL,MAAM,CAAC,cAAc,CAAC,CAAC;AACzB,CAAC,CAAC;KACD,WAAW,CACV,OAAO,EACP;;+BAE2B,CAC5B,CAAC;AAEJ,eAAe,GAAG,CAAC"}
package/dist/fetcher.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import type { OASDocument } from 'oas/rmoas.types';
1
+ import type { OASDocument } from 'oas/types';
2
2
  export default class Fetcher {
3
- uri: string | OASDocument;
3
+ uri: OASDocument | string;
4
4
  /**
5
5
  * @note This regex also exists in `httpsnippet-client-api`.
6
6
  *
@@ -8,50 +8,50 @@ export default class Fetcher {
8
8
  * @example @petstore#n6kvf10vakpemvplx
9
9
  */
10
10
  static registryUUIDRegex: RegExp;
11
- constructor(uri: string | OASDocument);
11
+ constructor(uri: OASDocument | string);
12
12
  static isAPIRegistryUUID(uri: string): boolean;
13
13
  static isGitHubBlobURL(uri: string): boolean;
14
14
  /**
15
15
  * @note This function also exists in `httpsnippet-client-api`.
16
16
  */
17
17
  static getProjectPrefixFromRegistryUUID(uri: string): string | undefined;
18
- load(): Promise<(import("openapi-types").OpenAPIV3.Document<{}> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
18
+ load(): Promise<(Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
19
19
  info: import("openapi-types").OpenAPIV3_1.InfoObject;
20
- jsonSchemaDialect?: string | undefined;
21
- servers?: import("openapi-types").OpenAPIV3_1.ServerObject[] | undefined;
20
+ jsonSchemaDialect?: string;
21
+ servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
22
22
  } & Pick<{
23
23
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
24
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
24
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
25
25
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
26
26
  }, "paths"> & Omit<Partial<{
27
27
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
28
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
28
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
29
29
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
30
30
  }>, "paths"> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
31
31
  info: import("openapi-types").OpenAPIV3_1.InfoObject;
32
- jsonSchemaDialect?: string | undefined;
33
- servers?: import("openapi-types").OpenAPIV3_1.ServerObject[] | undefined;
32
+ jsonSchemaDialect?: string;
33
+ servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
34
34
  } & Pick<{
35
35
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
36
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
36
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
37
37
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
38
38
  }, "webhooks"> & Omit<Partial<{
39
39
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
40
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
40
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
41
41
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
42
42
  }>, "webhooks"> & Record<string, unknown>) | (Omit<Omit<import("openapi-types").OpenAPIV3.Document<{}>, "paths" | "components">, "paths" | "components" | "info" | "servers" | "webhooks" | "jsonSchemaDialect"> & {
43
43
  info: import("openapi-types").OpenAPIV3_1.InfoObject;
44
- jsonSchemaDialect?: string | undefined;
45
- servers?: import("openapi-types").OpenAPIV3_1.ServerObject[] | undefined;
44
+ jsonSchemaDialect?: string;
45
+ servers?: import("openapi-types").OpenAPIV3_1.ServerObject[];
46
46
  } & Pick<{
47
47
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
48
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
48
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
49
49
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
50
50
  }, "components"> & Omit<Partial<{
51
51
  paths: import("openapi-types").OpenAPIV3_1.PathsObject<{}, {}>;
52
- webhooks: Record<string, import("openapi-types").OpenAPIV3_1.ReferenceObject | import("openapi-types").OpenAPIV3_1.PathItemObject<{}>>;
52
+ webhooks: Record<string, import("openapi-types").OpenAPIV3_1.PathItemObject | import("openapi-types").OpenAPIV3_1.ReferenceObject>;
53
53
  components: import("openapi-types").OpenAPIV3_1.ComponentsObject;
54
- }>, "components"> & Record<string, unknown>)>;
54
+ }>, "components"> & Record<string, unknown>) | (import("openapi-types").OpenAPIV3.Document<{}> & Record<string, unknown>)>;
55
55
  static getURL(url: string): Promise<any>;
56
56
  static getFile(uri: string): Promise<any>;
57
57
  static validate(json: OASDocument): Promise<import("openapi-types").OpenAPI.Document<{}>>;
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,EAAE,MAAM,GAAG,WAAW,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,SAA0E;gBAEtF,GAAG,EAAE,MAAM,GAAG,WAAW;IAsBrC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAIpC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM;IAIlC;;OAEG;IACH,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM;IAS7C,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBV,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAiBzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAmB1B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW;CAuBlC"}
1
+ {"version":3,"file":"fetcher.d.ts","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQ7C,MAAM,CAAC,OAAO,OAAO,OAAO;IAC1B,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC;IAE1B;;;;;OAKG;IACH,MAAM,CAAC,iBAAiB,SAA0E;gBAEtF,GAAG,EAAE,WAAW,GAAG,MAAM;IAsBrC,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM;IAIpC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM;IAIlC;;OAEG;IACH,MAAM,CAAC,gCAAgC,CAAC,GAAG,EAAE,MAAM;IAS7C,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAyBV,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM;IAiBzB,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM;IAuB1B,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW;CAuBlC"}
package/dist/fetcher.js CHANGED
@@ -60,6 +60,7 @@ export default class Fetcher {
60
60
  let url;
61
61
  try {
62
62
  url = new URL(uri);
63
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
63
64
  }
64
65
  catch (err) {
65
66
  // If that try fails for whatever reason than the URI that we have isn't a real URL and
@@ -95,7 +96,12 @@ export default class Fetcher {
95
96
  if (/\.(yaml|yml)/.test(file)) {
96
97
  return yaml.load(res);
97
98
  }
98
- return JSON.parse(res);
99
+ try {
100
+ return JSON.parse(res);
101
+ }
102
+ catch (err) {
103
+ throw new Error(`Sorry, we were unable to parse JSON from ${file}. Reason: ${err.message}`);
104
+ }
99
105
  });
100
106
  }
101
107
  static validate(json) {
@@ -1 +1 @@
1
- {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../src/fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Small check to ensure we're in a safe CI environment.
3
+ *
4
+ * The reason we have this weird conditional logic is because we run our tests in
5
+ * a CI environment and we don't want false positives when running tests.
6
+ */
7
+ export default function isCI(): boolean;
8
+ //# sourceMappingURL=isCI.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCI.d.ts","sourceRoot":"","sources":["../../src/lib/isCI.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI,YAG3B"}
@@ -0,0 +1,18 @@
1
+ import ci from 'ci-info';
2
+ /**
3
+ * Small env check to determine if we're running our testbed
4
+ */
5
+ function isTest() {
6
+ return process.env.NODE_ENV === 'rdme-test';
7
+ }
8
+ /**
9
+ * Small check to ensure we're in a safe CI environment.
10
+ *
11
+ * The reason we have this weird conditional logic is because we run our tests in
12
+ * a CI environment and we don't want false positives when running tests.
13
+ */
14
+ export default function isCI() {
15
+ /* istanbul ignore next */
16
+ return ci.isCI && !isTest();
17
+ }
18
+ //# sourceMappingURL=isCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isCI.js","sourceRoot":"","sources":["../../src/lib/isCI.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB;;GAEG;AACH,SAAS,MAAM;IACb,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,IAAI;IAC1B,0BAA0B;IAC1B,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;AAC9B,CAAC"}
@@ -6,5 +6,5 @@ import prompts from 'prompts';
6
6
  *
7
7
  * @see {@link https://github.com/terkelg/prompts/issues/252}
8
8
  */
9
- export default function promptTerminal<T extends string = string>(question: prompts.PromptObject<T>, options?: prompts.Options): Promise<prompts.Answers<T>>;
9
+ export default function promptTerminal<T extends string = string>(questions: prompts.PromptObject<T> | prompts.PromptObject<T>[], options?: prompts.Options): Promise<prompts.Answers<T>>;
10
10
  //# sourceMappingURL=prompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,wBAA8B,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACpE,QAAQ,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,+BAiB1B"}
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAI9B;;;;;;GAMG;AACH,wBAA8B,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EACpE,SAAS,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,EAC9D,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,+BA4C1B"}
@@ -1,4 +1,5 @@
1
1
  import prompts from 'prompts';
2
+ import isCI from './isCI.js';
2
3
  /**
3
4
  * The `prompts` library doesn't always interpret CTRL+C and release the terminal back to the user
4
5
  * so we need handle this ourselves. This function is just a simple overload of the main `prompts`
@@ -6,19 +7,43 @@ import prompts from 'prompts';
6
7
  *
7
8
  * @see {@link https://github.com/terkelg/prompts/issues/252}
8
9
  */
9
- export default async function promptTerminal(question, options) {
10
+ export default async function promptTerminal(questions, options) {
10
11
  const enableTerminalCursor = () => {
11
12
  process.stdout.write('\x1B[?25h');
12
13
  };
13
- const onState = (state) => {
14
- if (state.aborted) {
15
- // If we don't re-enable the terminal cursor before exiting the program, the cursor will
16
- // remain hidden.
17
- enableTerminalCursor();
14
+ /**
15
+ * The CTRL+C handler discussed above.
16
+ * @see {@link https://github.com/terkelg/prompts#optionsoncancel}
17
+ */
18
+ const onCancel = () => {
19
+ // If we don't re-enable the terminal cursor before exiting the program, the cursor will
20
+ // remain hidden.
21
+ enableTerminalCursor();
22
+ process.stdout.write('\n');
23
+ process.exit(1);
24
+ };
25
+ /**
26
+ * Runs a check before every prompt renders to make sure that
27
+ * prompt is not being run in a CI environment.
28
+ */
29
+ function onRender() {
30
+ if (isCI()) {
18
31
  process.stdout.write('\n');
32
+ process.stdout.write('Yikes! Looks like we were about to prompt you for something in a CI environment. Are you missing an argument?');
33
+ process.stdout.write('\n\n');
34
+ process.stdout.write('Try running `api <command> --help` to get more information.');
35
+ process.stdout.write('\n\n');
19
36
  process.exit(1);
20
37
  }
21
- };
22
- return prompts({ ...question, onState }, options);
38
+ }
39
+ if (Array.isArray(questions)) {
40
+ // eslint-disable-next-line no-param-reassign
41
+ questions = questions.map(question => ({ onRender, ...question }));
42
+ }
43
+ else {
44
+ // eslint-disable-next-line no-param-reassign
45
+ questions.onRender = onRender;
46
+ }
47
+ return prompts(questions, { onCancel, ...options });
23
48
  }
24
49
  //# sourceMappingURL=prompt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,QAAiC,EACjC,OAAyB;IAEzB,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,KAA2B,EAAE,EAAE;QAC9C,IAAI,KAAK,CAAC,OAAO,EAAE;YACjB,wFAAwF;YACxF,iBAAiB;YACjB,oBAAoB,EAAE,CAAC;YACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SACjB;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,EAAE,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/lib/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,cAAc,CAC1C,SAA8D,EAC9D,OAAyB;IAEzB,MAAM,oBAAoB,GAAG,GAAG,EAAE;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC,CAAC;IAEF;;;OAGG;IACH,MAAM,QAAQ,GAAG,GAAG,EAAE;QACpB,wFAAwF;QACxF,iBAAiB;QACjB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF;;;OAGG;IACH,SAAS,QAAQ;QACf,IAAI,IAAI,EAAE,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,+GAA+G,CAChH,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YACpF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,6CAA6C;QAC7C,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,SAAS,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAChC,CAAC;IAED,OAAO,OAAO,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -0,0 +1,31 @@
1
+ import type Oas from 'oas';
2
+ import type { Operation } from 'oas/operation';
3
+ /**
4
+ * Return a list of suggested and "good first issue" types of endpoints that we can build a post-SDK
5
+ * code generation code snippet around to demo the power of `api`.
6
+ *
7
+ * The criteria for a suggested endpoint are the following:
8
+ * - GET request
9
+ * - Has no required query or body parameters
10
+ * - Endpoint has not been deprecated
11
+ *
12
+ * @param oas
13
+ */
14
+ export declare function getSuggestedOperation(oas: Oas): false | Operation;
15
+ /**
16
+ * Generate an example code snippet for a given (suggested) operation. We'll show this to users
17
+ * post-codegeneration so they can see how to use the SDK we created for them.
18
+ *
19
+ * We're intentionally using `httpsnippet-client-api` and not `@readme/oas-to-snippet` here,
20
+ * which would handle HAR and snippet generation, because don't need the entire `oas-to-snippet`
21
+ * and `@readme/httpsnippet` libraries for what we're doing here.
22
+ *
23
+ * All we want to do is generate a very simple code example for `api` snippets and as we're
24
+ * controlling which kinds of endpoints we're generating these for the HAR dataset we're working
25
+ * with is a mostly fully known object.
26
+ *
27
+ */
28
+ export declare function buildCodeSnippetForOperation(oas: Oas, operation: Operation, opts: {
29
+ identifier: string;
30
+ }): Promise<string | false>;
31
+ //# sourceMappingURL=suggestedOperations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"suggestedOperations.d.ts","sourceRoot":"","sources":["../../src/lib/suggestedOperations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAM/C;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,GAAG,qBAgC7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,4BAA4B,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,2BA2D9G"}