@apollo/federation-internals 2.0.0-alpha.2 → 2.0.0-alpha.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.
Files changed (42) hide show
  1. package/CHANGELOG.md +6 -1
  2. package/dist/debug.d.ts.map +1 -1
  3. package/dist/debug.js +2 -18
  4. package/dist/debug.js.map +1 -1
  5. package/dist/definitions.d.ts +11 -0
  6. package/dist/definitions.d.ts.map +1 -1
  7. package/dist/definitions.js +54 -0
  8. package/dist/definitions.js.map +1 -1
  9. package/dist/error.d.ts +87 -3
  10. package/dist/error.d.ts.map +1 -1
  11. package/dist/error.js +143 -5
  12. package/dist/error.js.map +1 -1
  13. package/dist/extractSubgraphsFromSupergraph.d.ts.map +1 -1
  14. package/dist/extractSubgraphsFromSupergraph.js +40 -3
  15. package/dist/extractSubgraphsFromSupergraph.js.map +1 -1
  16. package/dist/federation.d.ts +4 -1
  17. package/dist/federation.d.ts.map +1 -1
  18. package/dist/federation.js +192 -53
  19. package/dist/federation.js.map +1 -1
  20. package/dist/genErrorCodeDoc.d.ts +2 -0
  21. package/dist/genErrorCodeDoc.d.ts.map +1 -0
  22. package/dist/genErrorCodeDoc.js +55 -0
  23. package/dist/genErrorCodeDoc.js.map +1 -0
  24. package/dist/tagSpec.js +3 -1
  25. package/dist/tagSpec.js.map +1 -1
  26. package/dist/utils.d.ts +1 -0
  27. package/dist/utils.d.ts.map +1 -1
  28. package/dist/utils.js +19 -1
  29. package/dist/utils.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/__tests__/extractSubgraphsFromSupergraph.test.ts +432 -0
  32. package/src/__tests__/subgraphValidation.test.ts +452 -0
  33. package/src/debug.ts +2 -19
  34. package/src/definitions.ts +98 -0
  35. package/src/error.ts +334 -7
  36. package/src/extractSubgraphsFromSupergraph.ts +49 -4
  37. package/src/federation.ts +229 -85
  38. package/src/genErrorCodeDoc.ts +69 -0
  39. package/src/tagSpec.ts +4 -4
  40. package/src/utils.ts +27 -0
  41. package/tsconfig.test.tsbuildinfo +1 -1
  42. package/tsconfig.tsbuildinfo +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExternalTester = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.Subgraphs = exports.subgraphsFromServiceList = exports.parseFieldSetArgument = exports.isEntityType = exports.isFederationDirective = exports.isFederationField = exports.isFederationTypeName = exports.isFederationType = exports.isFederationSubgraphSchema = exports.federationBuiltIns = exports.FederationBuiltIns = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = exports.entitiesFieldName = exports.serviceFieldName = exports.tagDirectiveName = exports.providesDirectiveName = exports.requiresDirectiveName = exports.externalDirectiveName = exports.extendsDirectiveName = exports.keyDirectiveName = exports.fieldSetTypeName = exports.anyTypeName = exports.serviceTypeName = exports.entityTypeName = void 0;
3
+ exports.ExternalTester = exports.addSubgraphToError = exports.addSubgraphToASTNode = exports.Subgraph = exports.Subgraphs = exports.subgraphsFromServiceList = exports.parseFieldSetArgument = exports.buildSubgraph = exports.isEntityType = exports.isFederationDirective = exports.isFederationField = exports.isFederationTypeName = exports.isFederationType = exports.isFederationSubgraphSchema = exports.federationBuiltIns = exports.FederationBuiltIns = exports.FEDERATION_RESERVED_SUBGRAPH_NAME = exports.entitiesFieldName = exports.serviceFieldName = exports.tagDirectiveName = exports.providesDirectiveName = exports.requiresDirectiveName = exports.externalDirectiveName = exports.extendsDirectiveName = exports.keyDirectiveName = exports.fieldSetTypeName = exports.anyTypeName = exports.serviceTypeName = exports.entityTypeName = void 0;
4
4
  const definitions_1 = require("./definitions");
5
5
  const utils_1 = require("./utils");
6
6
  const specifiedRules_1 = require("graphql/validation/specifiedRules");
@@ -11,6 +11,7 @@ const buildSchema_1 = require("./buildSchema");
11
11
  const operations_1 = require("./operations");
12
12
  const tagSpec_1 = require("./tagSpec");
13
13
  const error_1 = require("./error");
14
+ const _1 = require(".");
14
15
  exports.entityTypeName = '_Entity';
15
16
  exports.serviceTypeName = '_Service';
16
17
  exports.anyTypeName = '_Any';
@@ -55,21 +56,31 @@ function validateFieldSetSelections(directiveName, selectionSet, hasExternalInPa
55
56
  for (const selection of selectionSet.selections()) {
56
57
  if (selection.kind === 'FieldSelection') {
57
58
  const field = selection.element().definition;
58
- if (field.hasArguments()) {
59
- throw new graphql_1.GraphQLError(`field ${field.coordinate} cannot be included because it has arguments (fields with argument are not allowed in @${directiveName})`, field.sourceAST);
60
- }
61
- const mustBeExternal = !selection.selectionSet && !allowOnNonExternalLeafFields && !hasExternalInParents;
62
59
  const isExternal = externalTester.isExternal(field);
63
60
  if (isExternal) {
64
61
  externalFieldCoordinatesCollector.push(field.coordinate);
65
62
  }
66
- else if (mustBeExternal) {
63
+ if (field.hasArguments()) {
64
+ throw _1.ERROR_CATEGORIES.FIELDS_HAS_ARGS.get(directiveName).err({
65
+ message: `field ${field.coordinate} cannot be included because it has arguments (fields with argument are not allowed in @${directiveName})`,
66
+ nodes: field.sourceAST
67
+ });
68
+ }
69
+ const mustBeExternal = !selection.selectionSet && !allowOnNonExternalLeafFields && !hasExternalInParents;
70
+ if (!isExternal && mustBeExternal) {
71
+ const errorCode = _1.ERROR_CATEGORIES.DIRECTIVE_FIELDS_MISSING_EXTERNAL.get(directiveName);
67
72
  if (externalTester.isFakeExternal(field)) {
68
- throw new graphql_1.GraphQLError(`field "${field.coordinate}" should not be part of a @${directiveName} since it is already "effectively" provided by this subgraph `
69
- + `(while it is marked @${exports.externalDirectiveName}, it is a @${exports.keyDirectiveName} field of an extension type, which are not internally considered external for historical/backward compatibility reasons)`, field.sourceAST);
73
+ throw errorCode.err({
74
+ message: `field "${field.coordinate}" should not be part of a @${directiveName} since it is already "effectively" provided by this subgraph `
75
+ + `(while it is marked @${exports.externalDirectiveName}, it is a @${exports.keyDirectiveName} field of an extension type, which are not internally considered external for historical/backward compatibility reasons)`,
76
+ nodes: field.sourceAST
77
+ });
70
78
  }
71
79
  else {
72
- throw new graphql_1.GraphQLError(`field "${field.coordinate}" should not be part of a @${directiveName} since it is already provided by this subgraph (it is not marked @${exports.externalDirectiveName})`, field.sourceAST);
80
+ throw errorCode.err({
81
+ message: `field "${field.coordinate}" should not be part of a @${directiveName} since it is already provided by this subgraph (it is not marked @${exports.externalDirectiveName})`,
82
+ nodes: field.sourceAST
83
+ });
73
84
  }
74
85
  }
75
86
  if (selection.selectionSet) {
@@ -92,48 +103,74 @@ function validateFieldSetSelections(directiveName, selectionSet, hasExternalInPa
92
103
  }
93
104
  }
94
105
  }
95
- function validateFieldSet(type, directive, targetDescription, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields) {
106
+ function validateFieldSet(type, directive, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields, onFields) {
107
+ var _a;
96
108
  try {
97
- const selectionSet = parseFieldSetArgument(type, directive);
98
- selectionSet.validate();
99
- validateFieldSetSelections(directive.name, selectionSet, false, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields);
100
- return undefined;
101
- }
102
- catch (e) {
103
- if (!(e instanceof graphql_1.GraphQLError)) {
104
- throw e;
105
- }
106
- const nodes = (0, definitions_1.sourceASTs)(directive);
107
- if (e.nodes) {
108
- nodes.push(...e.nodes);
109
- }
110
- let msg = e.message.trim();
111
- if (msg.startsWith('Cannot query field')) {
112
- if (msg.endsWith('.')) {
113
- msg = msg.slice(0, msg.length - 1);
109
+ const fieldAcessor = onFields
110
+ ? (type, fieldName) => {
111
+ const field = type.field(fieldName);
112
+ if (field) {
113
+ onFields(field);
114
+ }
115
+ return field;
114
116
  }
115
- if (directive.name === exports.keyDirectiveName) {
116
- msg = msg + ' (the field should be either be added to this subgraph or, if it should not be resolved by this subgraph, you need to add it to this subgraph with @external).';
117
+ : undefined;
118
+ const selectionSet = parseFieldSetArgument(type, directive, fieldAcessor);
119
+ try {
120
+ validateFieldSetSelections(directive.name, selectionSet, false, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields);
121
+ return undefined;
122
+ }
123
+ catch (e) {
124
+ if (!(e instanceof graphql_1.GraphQLError)) {
125
+ throw e;
117
126
  }
118
- else {
119
- msg = msg + ' (if the field is defined in another subgraph, you need to add it to this subgraph with @external).';
127
+ const nodes = (0, definitions_1.sourceASTs)(directive);
128
+ if (e.nodes) {
129
+ nodes.push(...e.nodes);
120
130
  }
131
+ const codeDef = (_a = (0, error_1.errorCodeDef)(e)) !== null && _a !== void 0 ? _a : _1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS.get(directive.name);
132
+ return codeDef.err({
133
+ message: `${fieldSetErrorDescriptor(directive)}: ${e.message.trim()}`,
134
+ nodes,
135
+ originalError: e,
136
+ });
121
137
  }
122
- return new graphql_1.GraphQLError(`On ${targetDescription}, for ${directive}: ${msg}`, nodes);
123
138
  }
139
+ catch (e) {
140
+ if (e instanceof graphql_1.GraphQLError) {
141
+ return e;
142
+ }
143
+ else {
144
+ throw e;
145
+ }
146
+ }
147
+ }
148
+ function fieldSetErrorDescriptor(directive) {
149
+ return `On ${fieldSetTargetDescription(directive)}, for ${directiveStrUsingASTIfPossible(directive)}`;
150
+ }
151
+ function directiveStrUsingASTIfPossible(directive) {
152
+ return directive.sourceAST ? (0, graphql_1.print)(directive.sourceAST) : directive.toString();
153
+ }
154
+ function fieldSetTargetDescription(directive) {
155
+ var _a;
156
+ const targetKind = directive.parent instanceof definitions_1.FieldDefinition ? "field" : "type";
157
+ return `${targetKind} "${(_a = directive.parent) === null || _a === void 0 ? void 0 : _a.coordinate}"`;
124
158
  }
125
- function validateAllFieldSet(definition, targetTypeExtractor, targetDescriptionExtractor, errorCollector, externalTester, externalFieldCoordinatesCollector, isOnParentType, allowOnNonExternalLeafFields) {
159
+ function validateAllFieldSet(definition, targetTypeExtractor, errorCollector, externalTester, externalFieldCoordinatesCollector, isOnParentType, allowOnNonExternalLeafFields, onFields) {
126
160
  for (const application of definition.applications()) {
127
161
  const elt = application.parent;
128
162
  const type = targetTypeExtractor(elt);
129
- const targetDescription = targetDescriptionExtractor(elt);
130
163
  const parentType = isOnParentType ? type : elt.parent;
131
164
  if ((0, definitions_1.isInterfaceType)(parentType)) {
132
- errorCollector.push(new graphql_1.GraphQLError(isOnParentType
133
- ? `Cannot use ${definition.coordinate} on interface ${parentType.coordinate}: ${definition.coordinate} is not yet supported on interfaces`
134
- : `Cannot use ${definition.coordinate} on ${targetDescription} of parent type ${parentType}: ${definition.coordinate} is not yet supported within interfaces`, (0, definitions_1.sourceASTs)(application).concat(isOnParentType ? [] : (0, definitions_1.sourceASTs)(type))));
165
+ const code = _1.ERROR_CATEGORIES.DIRECTIVE_UNSUPPORTED_ON_INTERFACE.get(definition.name);
166
+ errorCollector.push(code.err({
167
+ message: isOnParentType
168
+ ? `Cannot use ${definition.coordinate} on interface "${parentType.coordinate}": ${definition.coordinate} is not yet supported on interfaces`
169
+ : `Cannot use ${definition.coordinate} on ${fieldSetTargetDescription(application)} of parent type "${parentType}": ${definition.coordinate} is not yet supported within interfaces`,
170
+ nodes: (0, definitions_1.sourceASTs)(application).concat(isOnParentType ? [] : (0, definitions_1.sourceASTs)(type)),
171
+ }));
135
172
  }
136
- const error = validateFieldSet(type, application, targetDescription, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields);
173
+ const error = validateFieldSet(type, application, externalTester, externalFieldCoordinatesCollector, allowOnNonExternalLeafFields, onFields);
137
174
  if (error) {
138
175
  errorCollector.push(error);
139
176
  }
@@ -149,8 +186,11 @@ function validateAllExternalFieldsUsed(schema, externalTester, allExternalFields
149
186
  continue;
150
187
  }
151
188
  if (!isFieldSatisfyingInterface(field)) {
152
- errorCollector.push(new graphql_1.GraphQLError(`Field ${field.coordinate} is marked @external but is not used in any federation directive (@key, @provides, @requires) or to satisfy an interface;`
153
- + ' the field declaration has no use and should be removed (or the field should not be @external).', field.sourceAST));
189
+ errorCollector.push(error_1.ERRORS.EXTERNAL_UNUSED.err({
190
+ message: `Field "${field.coordinate}" is marked @external but is not used in any federation directive (@key, @provides, @requires) or to satisfy an interface;`
191
+ + ' the field declaration has no use and should be removed (or the field should not be @external).',
192
+ nodes: field.sourceAST,
193
+ }));
154
194
  }
155
195
  }
156
196
  }
@@ -235,9 +275,12 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
235
275
  if (type && type.name !== defaultName) {
236
276
  const existing = schema.type(defaultName);
237
277
  if (existing) {
238
- errors.push((0, error_1.error)(`ROOT_${k.toUpperCase()}_USED`, `The schema has a type named "${defaultName}" but it is not set as the ${k} root type ("${type.name}" is instead): `
239
- + 'this is not supported by federation. '
240
- + 'If a root type does not use its default name, there should be no other type with that default name.', (0, definitions_1.sourceASTs)(type, existing)));
278
+ errors.push(_1.ERROR_CATEGORIES.ROOT_TYPE_USED.get(k).err({
279
+ message: `The schema has a type named "${defaultName}" but it is not set as the ${k} root type ("${type.name}" is instead): `
280
+ + 'this is not supported by federation. '
281
+ + 'If a root type does not use its default name, there should be no other type with that default name.',
282
+ nodes: (0, definitions_1.sourceASTs)(type, existing),
283
+ }));
241
284
  }
242
285
  type.rename(defaultName);
243
286
  }
@@ -245,18 +288,29 @@ class FederationBuiltIns extends definitions_1.BuiltIns {
245
288
  const externalTester = new ExternalTester(schema);
246
289
  const externalFieldsInFedDirectivesCoordinates = [];
247
290
  const keyDirective = this.keyDirective(schema);
248
- validateAllFieldSet(keyDirective, type => type, type => `type "${type}"`, errors, externalTester, externalFieldsInFedDirectivesCoordinates, true, true);
249
- validateAllFieldSet(this.requiresDirective(schema), field => field.parent, field => `field "${field.coordinate}"`, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
291
+ validateAllFieldSet(keyDirective, type => type, errors, externalTester, externalFieldsInFedDirectivesCoordinates, true, true, field => {
292
+ if ((0, definitions_1.isListType)(field.type) || (0, definitions_1.isUnionType)(field.type) || (0, definitions_1.isInterfaceType)(field.type)) {
293
+ let kind = field.type.kind;
294
+ kind = kind.slice(0, kind.length - 'Type'.length);
295
+ throw error_1.ERRORS.KEY_FIELDS_SELECT_INVALID_TYPE.err({
296
+ message: `field "${field.coordinate}" is a ${kind} type which is not allowed in @key`
297
+ });
298
+ }
299
+ });
300
+ validateAllFieldSet(this.requiresDirective(schema), field => field.parent, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
250
301
  validateAllFieldSet(this.providesDirective(schema), field => {
251
302
  if (externalTester.isExternal(field)) {
252
303
  throw new graphql_1.GraphQLError(`Cannot have both @provides and @external on field "${field.coordinate}"`, field.sourceAST);
253
304
  }
254
305
  const type = (0, definitions_1.baseType)(field.type);
255
306
  if (!(0, definitions_1.isCompositeType)(type)) {
256
- throw new graphql_1.GraphQLError(`Invalid @provides directive on field "${field.coordinate}": field has type "${field.type}" which is not a Composite Type`, field.sourceAST);
307
+ throw error_1.ERRORS.PROVIDES_ON_NON_OBJECT_FIELD.err({
308
+ message: `Invalid @provides directive on field "${field.coordinate}": field has type "${field.type}" which is not a Composite Type`,
309
+ nodes: field.sourceAST,
310
+ });
257
311
  }
258
312
  return type;
259
- }, field => `field ${field.coordinate}`, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
313
+ }, errors, externalTester, externalFieldsInFedDirectivesCoordinates, false, false);
260
314
  validateAllExternalFieldsUsed(schema, externalTester, externalFieldsInFedDirectivesCoordinates, errors);
261
315
  const tagDirective = this.tagDirective(schema);
262
316
  if (!tagDirective.isBuiltIn) {
@@ -343,21 +397,72 @@ function buildSubgraph(name, source) {
343
397
  }
344
398
  catch (e) {
345
399
  if (e instanceof graphql_1.GraphQLError) {
346
- throw addSubgraphToError(e, name);
400
+ throw addSubgraphToError(e, name, error_1.ERRORS.INVALID_GRAPHQL);
347
401
  }
348
402
  else {
349
403
  throw e;
350
404
  }
351
405
  }
352
406
  }
407
+ exports.buildSubgraph = buildSubgraph;
353
408
  function parseFieldSetArgument(parentType, directive, fieldAccessor = (type, name) => type.field(name)) {
354
- return (0, operations_1.parseSelectionSet)(parentType, validateFieldSetValue(directive), new definitions_1.VariableDefinitions(), undefined, fieldAccessor);
409
+ var _a;
410
+ try {
411
+ const selectionSet = (0, operations_1.parseSelectionSet)(parentType, validateFieldSetValue(directive), new definitions_1.VariableDefinitions(), undefined, fieldAccessor);
412
+ selectionSet.validate();
413
+ return selectionSet;
414
+ }
415
+ catch (e) {
416
+ if (!(e instanceof graphql_1.GraphQLError)) {
417
+ throw e;
418
+ }
419
+ const nodes = (0, definitions_1.sourceASTs)(directive);
420
+ if (e.nodes) {
421
+ nodes.push(...e.nodes);
422
+ }
423
+ let msg = e.message.trim();
424
+ if (msg.startsWith('Cannot query field')) {
425
+ if (msg.endsWith('.')) {
426
+ msg = msg.slice(0, msg.length - 1);
427
+ }
428
+ if (directive.name === exports.keyDirectiveName) {
429
+ msg = msg + ' (the field should be either be added to this subgraph or, if it should not be resolved by this subgraph, you need to add it to this subgraph with @external).';
430
+ }
431
+ else {
432
+ msg = msg + ' (if the field is defined in another subgraph, you need to add it to this subgraph with @external).';
433
+ }
434
+ }
435
+ const codeDef = (_a = (0, error_1.errorCodeDef)(e)) !== null && _a !== void 0 ? _a : _1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS.get(directive.name);
436
+ throw codeDef.err({
437
+ message: `${fieldSetErrorDescriptor(directive)}: ${msg}`,
438
+ nodes,
439
+ originalError: e,
440
+ });
441
+ }
355
442
  }
356
443
  exports.parseFieldSetArgument = parseFieldSetArgument;
357
444
  function validateFieldSetValue(directive) {
445
+ var _a;
358
446
  const fields = directive.arguments().fields;
447
+ const nodes = directive.sourceAST;
359
448
  if (typeof fields !== 'string') {
360
- throw new graphql_1.GraphQLError(`Invalid value for argument ${directive.definition.argument('fields').coordinate} on ${directive.parent.coordinate}: must be a string.`, directive.sourceAST);
449
+ throw _1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS_TYPE.get(directive.name).err({
450
+ message: `Invalid value for argument "${directive.definition.argument('fields').name}": must be a string.`,
451
+ nodes,
452
+ });
453
+ }
454
+ if (nodes && nodes.kind === 'Directive') {
455
+ for (const argNode of (_a = nodes.arguments) !== null && _a !== void 0 ? _a : []) {
456
+ if (argNode.name.value === 'fields') {
457
+ if (argNode.value.kind !== 'StringValue') {
458
+ throw _1.ERROR_CATEGORIES.DIRECTIVE_INVALID_FIELDS_TYPE.get(directive.name).err({
459
+ message: `Invalid value for argument "${directive.definition.argument('fields').name}": must be a string.`,
460
+ nodes,
461
+ });
462
+ }
463
+ break;
464
+ }
465
+ }
361
466
  }
362
467
  return fields;
363
468
  }
@@ -391,7 +496,7 @@ class Subgraphs {
391
496
  ? new Subgraph(subgraphOrName, url, schema instanceof definitions_1.Schema ? schema : buildSubgraph(subgraphOrName, schema))
392
497
  : subgraphOrName;
393
498
  if (toAdd.name === exports.FEDERATION_RESERVED_SUBGRAPH_NAME) {
394
- throw new graphql_1.GraphQLError(`Invalid name ${exports.FEDERATION_RESERVED_SUBGRAPH_NAME} for a subgraph: this name is reserved`);
499
+ throw error_1.ERRORS.INVALID_SUBGRAPH_NAME.err({ message: `Invalid name ${exports.FEDERATION_RESERVED_SUBGRAPH_NAME} for a subgraph: this name is reserved` });
395
500
  }
396
501
  if (this.subgraphs.has(toAdd.name)) {
397
502
  throw new Error(`A subgraph named ${toAdd.name} already exists` + (toAdd.url ? ` (with url '${toAdd.url}')` : ''));
@@ -442,8 +547,29 @@ function addSubgraphToASTNode(node, subgraph) {
442
547
  };
443
548
  }
444
549
  exports.addSubgraphToASTNode = addSubgraphToASTNode;
445
- function addSubgraphToError(e, subgraphName) {
446
- const updatedCauses = (0, definitions_1.errorCauses)(e).map(cause => new graphql_1.GraphQLError(`[${subgraphName}] ${cause.message}`, cause.nodes ? cause.nodes.map(node => addSubgraphToASTNode(node, subgraphName)) : undefined, cause.source, cause.positions, cause.path, cause.originalError, cause.extensions));
550
+ function addSubgraphToError(e, subgraphName, errorCode) {
551
+ const updatedCauses = (0, definitions_1.errorCauses)(e).map(cause => {
552
+ var _a;
553
+ const message = `[${subgraphName}] ${cause.message}`;
554
+ const nodes = cause.nodes
555
+ ? cause.nodes.map(node => addSubgraphToASTNode(node, subgraphName))
556
+ : undefined;
557
+ const code = (_a = (0, error_1.errorCodeDef)(cause)) !== null && _a !== void 0 ? _a : errorCode;
558
+ if (code) {
559
+ return code.err({
560
+ message,
561
+ nodes,
562
+ source: cause.source,
563
+ positions: cause.positions,
564
+ path: cause.path,
565
+ originalError: cause.originalError,
566
+ extensions: cause.extensions,
567
+ });
568
+ }
569
+ else {
570
+ return new graphql_1.GraphQLError(message, nodes, cause.source, cause.positions, cause.path, cause.originalError, cause.extensions);
571
+ }
572
+ });
447
573
  return (0, definitions_1.ErrGraphQLValidationFailed)(updatedCauses);
448
574
  }
449
575
  exports.addSubgraphToError = addSubgraphToError;
@@ -482,6 +608,19 @@ class ExternalTester {
482
608
  isFakeExternal(field) {
483
609
  return this.fakeExternalFields.has(field.coordinate);
484
610
  }
611
+ selectsAnyExternalField(selectionSet) {
612
+ for (const selection of selectionSet.selections()) {
613
+ if (selection.kind === 'FieldSelection' && this.isExternal(selection.element().definition)) {
614
+ return true;
615
+ }
616
+ if (selection.selectionSet) {
617
+ if (this.selectsAnyExternalField(selection.selectionSet)) {
618
+ return true;
619
+ }
620
+ }
621
+ }
622
+ return false;
623
+ }
485
624
  }
486
625
  exports.ExternalTester = ExternalTester;
487
626
  //# sourceMappingURL=federation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federation.js","sourceRoot":"","sources":["../src/federation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=genErrorCodeDoc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genErrorCodeDoc.d.ts","sourceRoot":"","sources":["../src/genErrorCodeDoc.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("./utils");
4
+ const error_1 = require("./error");
5
+ const header = `---
6
+ title: Federation error codes
7
+ sidebar_title: Error codes
8
+ ---
9
+
10
+ When Apollo Gateway attempts to **compose** the schemas provided by your [subgraphs](./subgraphs/) into a **supergraph schema**, it confirms that:
11
+
12
+ * The subgraphs are valid
13
+ * The resulting supergraph schema is valid
14
+ * The gateway has all of the information it needs to execute operations against the resulting schema
15
+
16
+ If Apollo Gateway encounters an error, composition fails. This document lists subgraphs and composition error codes and their root causes.
17
+ `;
18
+ function makeMardownArray(headers, rows) {
19
+ const columns = headers.length;
20
+ let out = '| ' + headers.join(' | ') + ' |\n';
21
+ out += '|' + headers.map(_ => '---').join('|') + '|\n';
22
+ for (const row of rows) {
23
+ (0, utils_1.assert)(row.length <= columns, `Row [${row}] has too columns (expect ${columns} but got ${row.length})`);
24
+ const frow = row.length === columns
25
+ ? row
26
+ : row.concat(new Array(columns - row.length).fill(''));
27
+ out += '| ' + frow.join(' | ') + ' |\n';
28
+ }
29
+ return out;
30
+ }
31
+ const rows = Object.values(error_1.ERRORS).map(def => [
32
+ '`' + def.code + '`',
33
+ def.description,
34
+ def.metadata.addedIn,
35
+ def.metadata.replaces ? `Replaces: ${def.metadata.replaces.map(c => '`' + c + '`').join(', ')}` : ''
36
+ ]);
37
+ const sortRowsByCode = (r1, r2) => r1[0].localeCompare(r2[0]);
38
+ rows.sort(sortRowsByCode);
39
+ const errorsSection = `## Errors
40
+
41
+ The following errors may be raised by composition:
42
+
43
+ ` + makeMardownArray(['Code', 'Description', 'Since', 'Comment'], rows);
44
+ const removedErrors = error_1.REMOVED_ERRORS
45
+ .map(([code, comment]) => ['`' + code + '`', comment])
46
+ .sort(sortRowsByCode);
47
+ const removedSection = `## Removed codes
48
+
49
+ The following section lists code that have been removed and are not longer generated by the gateway version this is the documentation for.
50
+
51
+ ` + makeMardownArray(['Removed Code', 'Comment'], removedErrors);
52
+ console.log(header + '\n\n'
53
+ + errorsSection + '\n\n'
54
+ + removedSection);
55
+ //# sourceMappingURL=genErrorCodeDoc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"genErrorCodeDoc.js","sourceRoot":"","sources":["../src/genErrorCodeDoc.ts"],"names":[],"mappings":";;AAAA,mCAAiC;AACjC,mCAAiD;AAEjD,MAAM,MAAM,GAAG;;;;;;;;;;;;CAYd,CAAC;AAEF,SAAS,gBAAgB,CACvB,OAAiB,EACjB,IAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAC/B,IAAI,GAAG,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IAC9C,GAAG,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACvD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE;QACtB,IAAA,cAAM,EAAC,GAAG,CAAC,MAAM,IAAI,OAAO,EAAE,QAAQ,GAAG,6BAA6B,OAAO,YAAY,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,KAAK,OAAO;YACjC,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,CAAS,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,GAAG,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAA;KACxC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,GAAG,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG;IACpB,GAAG,CAAC,WAAW;IACf,GAAG,CAAC,QAAQ,CAAC,OAAO;IACpB,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;CACrG,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,CAAC,EAAY,EAAE,EAAY,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAElF,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AAE1B,MAAM,aAAa,GAAG;;;;CAIrB,GAAG,gBAAgB,CAClB,CAAE,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,SAAS,CAAE,EAC7C,IAAI,CACL,CAAC;AAEF,MAAM,aAAa,GAAG,sBAAc;KACjC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,EAAE,OAAO,CAAC,CAAC;KACrD,IAAI,CAAC,cAAc,CAAC,CAAC;AAExB,MAAM,cAAc,GAAG;;;;CAItB,GAAG,gBAAgB,CAAC,CAAC,cAAc,EAAE,SAAS,CAAC,EAAE,aAAa,CAAC,CAAC;AAEjE,OAAO,CAAC,GAAG,CACT,MAAM,GAAG,MAAM;MACb,aAAa,GAAG,MAAM;MACtB,cAAc,CACjB,CAAC"}
package/dist/tagSpec.js CHANGED
@@ -27,7 +27,9 @@ class TagSpecDefinition extends coreSpec_1.FeatureDefinition {
27
27
  const hasValidNameArg = nameArg && (0, types_1.sameType)(nameArg.type, new definitions_1.NonNullType(definition.schema().stringType()));
28
28
  const hasValidLocations = definition.locations.every(loc => exports.tagLocations.includes(loc));
29
29
  if (hasUnknownArguments || !hasValidNameArg || !hasValidLocations) {
30
- return (0, error_1.error)('TAG_DIRECTIVE_DEFINITION_INVALID', `Found invalid @tag directive definition. Please ensure the directive definition in your schema's definitions matches the following:\n\t${printedTagDefinition}`);
30
+ return error_1.ERRORS.TAG_DEFINITION_INVALID.err({
31
+ message: `Found invalid @tag directive definition. Please ensure the directive definition in your schema's definitions matches the following:\n\t${printedTagDefinition}`,
32
+ });
31
33
  }
32
34
  return undefined;
33
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tagSpec.js","sourceRoot":"","sources":["../src/tagSpec.ts"],"names":[],"mappings":";;;AACA,yCAA+F;AAC/F,+CAAyE;AACzE,mCAAgC;AAChC,mCAAmC;AACnC,mCAAiC;AAEpB,QAAA,WAAW,GAAG,8BAA8B,CAAC;AAE7C,QAAA,YAAY,GAA4B,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAE1G,MAAM,oBAAoB,GAAG,2FAA2F,CAAC;AAEzH,MAAa,iBAAkB,SAAQ,4BAAiB;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,IAAI,qBAAU,CAAC,mBAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,MAAc;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,oBAAY,CAAC,CAAC;QACjF,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,yBAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAE,CAAC;IACxC,CAAC;IAED,wBAAwB,CAAC,UAA+B;QACtD,IAAA,cAAM,EAAC,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,CAAC,8DAA8D,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACzH,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,OAAO,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAK,EAAE,IAAI,yBAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,IAAI,mBAAmB,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE;YACjE,OAAO,IAAA,aAAK,EACV,kCAAkC,EAClC,0IAA0I,oBAAoB,EAAE,CACjK,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA5BD,8CA4BC;AAEY,QAAA,YAAY,GAAG,IAAI,6BAAkB,CAAoB,mBAAW,CAAC;KAC/E,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"tagSpec.js","sourceRoot":"","sources":["../src/tagSpec.ts"],"names":[],"mappings":";;;AACA,yCAA+F;AAC/F,+CAAyE;AACzE,mCAAiC;AACjC,mCAAmC;AACnC,mCAAiC;AAEpB,QAAA,WAAW,GAAG,8BAA8B,CAAC;AAE7C,QAAA,YAAY,GAA4B,CAAC,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAE1G,MAAM,oBAAoB,GAAG,2FAA2F,CAAC;AAEzH,MAAa,iBAAkB,SAAQ,4BAAiB;IACtD,YAAY,OAAuB;QACjC,KAAK,CAAC,IAAI,qBAAU,CAAC,mBAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,MAAc;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,YAAY,CAAC,GAAG,oBAAY,CAAC,CAAC;QACjF,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,yBAAW,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAE,CAAC;IACxC,CAAC;IAED,wBAAwB,CAAC,UAA+B;QACtD,IAAA,cAAM,EAAC,UAAU,CAAC,IAAI,KAAK,KAAK,EAAE,GAAG,EAAE,CAAC,8DAA8D,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACzH,MAAM,mBAAmB,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,eAAe,GAAG,OAAO,IAAI,IAAA,gBAAQ,EAAC,OAAO,CAAC,IAAK,EAAE,IAAI,yBAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC9G,MAAM,iBAAiB,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,oBAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,IAAI,mBAAmB,IAAI,CAAC,eAAe,IAAI,CAAC,iBAAiB,EAAE;YACjE,OAAO,cAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC;gBACvC,OAAO,EAAE,0IAA0I,oBAAoB,EAAE;aAC1K,CACA,CAAC;SACH;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AA5BD,8CA4BC;AAEY,QAAA,YAAY,GAAG,IAAI,6BAAkB,CAAoB,mBAAW,CAAC;KAC/E,GAAG,CAAC,IAAI,iBAAiB,CAAC,IAAI,yBAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC"}
package/dist/utils.d.ts CHANGED
@@ -39,4 +39,5 @@ export declare class MapWithCachedArrays<K, V> {
39
39
  values(): readonly V[];
40
40
  }
41
41
  export declare function copyWitNewLength<T>(arr: T[], newLength: number): T[];
42
+ export declare function validateStringContainsBoolean(str?: string): boolean | undefined;
42
43
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AASA,wBAAgB,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAI1F;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAEjD;AAED,qBAAa,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7C,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAS5B;AASD,qBAAa,UAAU,CAAC,CAAC,EAAC,CAAC;IACzB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,UAAU,CAAyB;IAE3C,OAAO,CAAC,MAAM,CAAC,gBAAgB;gBASnB,SAAS,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAoC;IAI3E,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC;IAOpB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,CAAC,EAAE;IAIX,MAAM,IAAI,CAAC,EAAE;IASb,OAAO,CAAC,gBAAgB;IAgBvB,CAAC,MAAM,CAAC,QAAQ,CAAC;CAOnB;AAQD,wBAAgB,WAAW,CAAC,CAAC,EAC3B,CAAC,EAAE,SAAS,CAAC,EAAE,EACf,CAAC,EAAE,SAAS,CAAC,EAAE,EACf,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,OAAO,GACnC,OAAO,CAcT;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAG/D;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAO1D;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAOxD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAOjE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAOrD;AAED,qBAAa,mBAAmB,CAAC,CAAC,EAAE,CAAC;IACnC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAmB;IACvC,OAAO,CAAC,UAAU,CAAC,CAAe;IAClC,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC,OAAO,CAAC,WAAW;IAKnB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAIpB,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAI1B,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAM3B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAQvB,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,SAAS,CAAC,EAAE;IAOpB,MAAM,IAAI,SAAS,CAAC,EAAE;CAMvB;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,CAAC,EAAE,CAOpE;AAWD,wBAAgB,6BAA6B,CAAC,GAAG,CAAC,EAAE,MAAM,GAAI,OAAO,GAAG,SAAS,CAgBhF"}
package/dist/utils.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.copyWitNewLength = exports.MapWithCachedArrays = exports.setValues = exports.mapEntries = exports.mapKeys = exports.mapValues = exports.firstOf = exports.arrayEquals = exports.OrderedMap = exports.MultiMap = exports.assertUnreachable = exports.assert = void 0;
3
+ exports.validateStringContainsBoolean = exports.copyWitNewLength = exports.MapWithCachedArrays = exports.setValues = exports.mapEntries = exports.mapKeys = exports.mapValues = exports.firstOf = exports.arrayEquals = exports.OrderedMap = exports.MultiMap = exports.assertUnreachable = exports.assert = void 0;
4
4
  function assert(condition, message) {
5
5
  if (!condition) {
6
6
  throw new Error(typeof message === 'string' ? message : message());
@@ -200,4 +200,22 @@ function copyWitNewLength(arr, newLength) {
200
200
  return copy;
201
201
  }
202
202
  exports.copyWitNewLength = copyWitNewLength;
203
+ function validateStringContainsBoolean(str) {
204
+ if (!str) {
205
+ return false;
206
+ }
207
+ switch (str.toLocaleLowerCase()) {
208
+ case "true":
209
+ case "yes":
210
+ case "1":
211
+ return true;
212
+ case "false":
213
+ case "no":
214
+ case "0":
215
+ return false;
216
+ default:
217
+ return undefined;
218
+ }
219
+ }
220
+ exports.validateStringContainsBoolean = validateStringContainsBoolean;
203
221
  //# sourceMappingURL=utils.js.map