@clerc/core 0.17.2 → 0.17.3

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/dist/index.d.ts CHANGED
@@ -325,6 +325,9 @@ declare class DescriptionNotSetError extends Error {
325
325
  }
326
326
  declare class VersionNotSetError extends Error {
327
327
  constructor();
328
+ }
329
+ declare class InvalidCommandNameError extends Error {
330
+ constructor(name: string);
328
331
  }
329
332
 
330
333
  declare function resolveFlattenCommands(commands: CommandRecord): Map<string[], CommandAlias<string, CommandOptions<string[], _clerc_utils.MaybeArray<string>, _clerc_utils.Dict<FlagOptions>>>>;
@@ -343,4 +346,4 @@ interface ParsedParameter {
343
346
  declare function parseParameters(parameters: string[]): ParsedParameter[];
344
347
  declare function mapParametersToArguments(mapping: Record<string, string | string[]>, parameters: ParsedParameter[], cliArguments: string[]): Error | undefined;
345
348
 
346
- export { Clerc, Command, CommandAlias, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandWithHandler, CommonCommandExistsError, DescriptionNotSetError, FallbackType, Flag, FlagOptions, Handler, HandlerContext, HandlerInCommand, Inspector, InspectorContext, InspectorFn, InspectorObject, MakeEventMap, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, Plugin, PossibleInputKind, SingleCommand, SingleCommandAliasError, SingleCommandError, SingleCommandType, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
349
+ export { Clerc, Command, CommandAlias, CommandCustomProperties, CommandExistsError, CommandNameConflictError, CommandOptions, CommandRecord, CommandWithHandler, CommonCommandExistsError, DescriptionNotSetError, FallbackType, Flag, FlagOptions, Handler, HandlerContext, HandlerInCommand, Inspector, InspectorContext, InspectorFn, InspectorObject, InvalidCommandNameError, MakeEventMap, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, Plugin, PossibleInputKind, SingleCommand, SingleCommandAliasError, SingleCommandError, SingleCommandType, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
package/dist/index.js CHANGED
@@ -68,6 +68,11 @@ class VersionNotSetError extends Error {
68
68
  super("Version not set.");
69
69
  }
70
70
  }
71
+ class InvalidCommandNameError extends Error {
72
+ constructor(name) {
73
+ super(`Bad name format: ${name}`);
74
+ }
75
+ }
71
76
 
72
77
  function resolveFlattenCommands(commands) {
73
78
  const commandsMap = /* @__PURE__ */ new Map();
@@ -223,7 +228,7 @@ var __privateSet = (obj, member, value, setter) => {
223
228
  setter ? setter.call(obj, value) : member.set(obj, value);
224
229
  return value;
225
230
  };
226
- var _name, _description, _version, _inspectors, _commands, _commandEmitter, _isSingleCommand, isSingleCommand_get, _hasCommands, hasCommands_get;
231
+ var _name, _description, _version, _inspectors, _commands, _flattenCommands, _commandEmitter, _isSingleCommand, isSingleCommand_get, _hasCommands, hasCommands_get;
227
232
  const SingleCommand = Symbol("SingleCommand");
228
233
  const _Clerc = class {
229
234
  constructor() {
@@ -234,6 +239,7 @@ const _Clerc = class {
234
239
  __privateAdd(this, _version, "");
235
240
  __privateAdd(this, _inspectors, []);
236
241
  __privateAdd(this, _commands, {});
242
+ __privateAdd(this, _flattenCommands, {});
237
243
  __privateAdd(this, _commandEmitter, new LiteEmit());
238
244
  }
239
245
  get _name() {
@@ -275,6 +281,9 @@ const _Clerc = class {
275
281
  throw new CommandExistsError("SingleCommand");
276
282
  }
277
283
  }
284
+ if (typeof name === "string" && (name.startsWith(" ") || name.endsWith(" "))) {
285
+ throw new InvalidCommandNameError(name);
286
+ }
278
287
  if (__privateGet(this, _isSingleCommand, isSingleCommand_get)) {
279
288
  throw new SingleCommandError();
280
289
  }
@@ -295,10 +304,27 @@ const _Clerc = class {
295
304
  }
296
305
  }
297
306
  const { handler = void 0, ...commandToSave } = isCommandObject ? nameOrCommand : { name, description, ...options };
307
+ const nameList = [commandToSave.name];
308
+ if (commandToSave.alias) {
309
+ const aliasList = mustArray(commandToSave.alias);
310
+ nameList.push(...aliasList);
311
+ }
312
+ for (const name2 of nameList) {
313
+ if (__privateGet(this, _flattenCommands)[name2]) {
314
+ throw new CommandExistsError(name2);
315
+ }
316
+ }
298
317
  __privateGet(this, _commands)[name] = commandToSave;
299
318
  if (isCommandObject && handler) {
300
319
  this.on(nameOrCommand.name, handler);
301
320
  }
321
+ __privateGet(this, _flattenCommands)[name] = commandToSave;
322
+ if (commandToSave.alias) {
323
+ const aliasList = mustArray(commandToSave.alias);
324
+ aliasList.forEach((alias) => {
325
+ __privateGet(this, _flattenCommands)[alias] = commandToSave;
326
+ });
327
+ }
302
328
  return this;
303
329
  }
304
330
  on(name, handler) {
@@ -402,6 +428,7 @@ _description = new WeakMap();
402
428
  _version = new WeakMap();
403
429
  _inspectors = new WeakMap();
404
430
  _commands = new WeakMap();
431
+ _flattenCommands = new WeakMap();
405
432
  _commandEmitter = new WeakMap();
406
433
  _isSingleCommand = new WeakSet();
407
434
  isSingleCommand_get = function() {
@@ -417,4 +444,4 @@ const defineHandler = (_cli, _key, handler) => handler;
417
444
  const defineInspector = (_cli, inspector) => inspector;
418
445
  const defineCommand = (command) => command;
419
446
 
420
- export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, DescriptionNotSetError, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
447
+ export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, DescriptionNotSetError, InvalidCommandNameError, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
package/dist/index.mjs CHANGED
@@ -68,6 +68,11 @@ class VersionNotSetError extends Error {
68
68
  super("Version not set.");
69
69
  }
70
70
  }
71
+ class InvalidCommandNameError extends Error {
72
+ constructor(name) {
73
+ super(`Bad name format: ${name}`);
74
+ }
75
+ }
71
76
 
72
77
  function resolveFlattenCommands(commands) {
73
78
  const commandsMap = /* @__PURE__ */ new Map();
@@ -223,7 +228,7 @@ var __privateSet = (obj, member, value, setter) => {
223
228
  setter ? setter.call(obj, value) : member.set(obj, value);
224
229
  return value;
225
230
  };
226
- var _name, _description, _version, _inspectors, _commands, _commandEmitter, _isSingleCommand, isSingleCommand_get, _hasCommands, hasCommands_get;
231
+ var _name, _description, _version, _inspectors, _commands, _flattenCommands, _commandEmitter, _isSingleCommand, isSingleCommand_get, _hasCommands, hasCommands_get;
227
232
  const SingleCommand = Symbol("SingleCommand");
228
233
  const _Clerc = class {
229
234
  constructor() {
@@ -234,6 +239,7 @@ const _Clerc = class {
234
239
  __privateAdd(this, _version, "");
235
240
  __privateAdd(this, _inspectors, []);
236
241
  __privateAdd(this, _commands, {});
242
+ __privateAdd(this, _flattenCommands, {});
237
243
  __privateAdd(this, _commandEmitter, new LiteEmit());
238
244
  }
239
245
  get _name() {
@@ -275,6 +281,9 @@ const _Clerc = class {
275
281
  throw new CommandExistsError("SingleCommand");
276
282
  }
277
283
  }
284
+ if (typeof name === "string" && (name.startsWith(" ") || name.endsWith(" "))) {
285
+ throw new InvalidCommandNameError(name);
286
+ }
278
287
  if (__privateGet(this, _isSingleCommand, isSingleCommand_get)) {
279
288
  throw new SingleCommandError();
280
289
  }
@@ -295,10 +304,27 @@ const _Clerc = class {
295
304
  }
296
305
  }
297
306
  const { handler = void 0, ...commandToSave } = isCommandObject ? nameOrCommand : { name, description, ...options };
307
+ const nameList = [commandToSave.name];
308
+ if (commandToSave.alias) {
309
+ const aliasList = mustArray(commandToSave.alias);
310
+ nameList.push(...aliasList);
311
+ }
312
+ for (const name2 of nameList) {
313
+ if (__privateGet(this, _flattenCommands)[name2]) {
314
+ throw new CommandExistsError(name2);
315
+ }
316
+ }
298
317
  __privateGet(this, _commands)[name] = commandToSave;
299
318
  if (isCommandObject && handler) {
300
319
  this.on(nameOrCommand.name, handler);
301
320
  }
321
+ __privateGet(this, _flattenCommands)[name] = commandToSave;
322
+ if (commandToSave.alias) {
323
+ const aliasList = mustArray(commandToSave.alias);
324
+ aliasList.forEach((alias) => {
325
+ __privateGet(this, _flattenCommands)[alias] = commandToSave;
326
+ });
327
+ }
302
328
  return this;
303
329
  }
304
330
  on(name, handler) {
@@ -402,6 +428,7 @@ _description = new WeakMap();
402
428
  _version = new WeakMap();
403
429
  _inspectors = new WeakMap();
404
430
  _commands = new WeakMap();
431
+ _flattenCommands = new WeakMap();
405
432
  _commandEmitter = new WeakMap();
406
433
  _isSingleCommand = new WeakSet();
407
434
  isSingleCommand_get = function() {
@@ -417,4 +444,4 @@ const defineHandler = (_cli, _key, handler) => handler;
417
444
  const defineInspector = (_cli, inspector) => inspector;
418
445
  const defineCommand = (command) => command;
419
446
 
420
- export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, DescriptionNotSetError, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
447
+ export { Clerc, CommandExistsError, CommandNameConflictError, CommonCommandExistsError, DescriptionNotSetError, InvalidCommandNameError, MultipleCommandsMatchedError, NameNotSetError, NoCommandGivenError, NoSuchCommandError, ParentCommandExistsError, SingleCommand, SingleCommandAliasError, SingleCommandError, SubcommandExistsError, VersionNotSetError, compose, defineCommand, defineHandler, defineInspector, definePlugin, mapParametersToArguments, parseParameters, resolveArgv, resolveCommand, resolveFlattenCommands, resolveParametersBeforeFlag, resolveRootCommands, resolveSubcommandsByParent };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clerc/core",
3
- "version": "0.17.2",
3
+ "version": "0.17.3",
4
4
  "author": "Ray <nn_201312@163.com> (https://github.com/so1ve)",
5
5
  "description": "Clerc core",
6
6
  "keywords": [
@@ -50,7 +50,7 @@
50
50
  "is-platform": "^0.2.0",
51
51
  "lite-emit": "^1.4.0",
52
52
  "type-flag": "^3.0.0",
53
- "@clerc/utils": "0.17.2"
53
+ "@clerc/utils": "0.17.3"
54
54
  },
55
55
  "scripts": {
56
56
  "build": "puild",