@apollo/federation-internals 2.4.2 → 2.4.4

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 (125) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/package.json +1 -1
  3. package/src/__tests__/operations.test.ts +175 -10
  4. package/src/operations.ts +184 -36
  5. package/dist/Subgraph.d.ts +0 -1
  6. package/dist/Subgraph.d.ts.map +0 -1
  7. package/dist/Subgraph.js +0 -2
  8. package/dist/Subgraph.js.map +0 -1
  9. package/dist/argumentCompositionStrategies.d.ts +0 -34
  10. package/dist/argumentCompositionStrategies.d.ts.map +0 -1
  11. package/dist/argumentCompositionStrategies.js +0 -35
  12. package/dist/argumentCompositionStrategies.js.map +0 -1
  13. package/dist/buildSchema.d.ts +0 -10
  14. package/dist/buildSchema.d.ts.map +0 -1
  15. package/dist/buildSchema.js +0 -362
  16. package/dist/buildSchema.js.map +0 -1
  17. package/dist/coreSpec.d.ts +0 -127
  18. package/dist/coreSpec.d.ts.map +0 -1
  19. package/dist/coreSpec.js +0 -590
  20. package/dist/coreSpec.js.map +0 -1
  21. package/dist/debug.d.ts +0 -15
  22. package/dist/debug.d.ts.map +0 -1
  23. package/dist/debug.js +0 -122
  24. package/dist/debug.js.map +0 -1
  25. package/dist/definitions.d.ts +0 -663
  26. package/dist/definitions.d.ts.map +0 -1
  27. package/dist/definitions.js +0 -2841
  28. package/dist/definitions.js.map +0 -1
  29. package/dist/directiveAndTypeSpecification.d.ts +0 -67
  30. package/dist/directiveAndTypeSpecification.d.ts.map +0 -1
  31. package/dist/directiveAndTypeSpecification.js +0 -271
  32. package/dist/directiveAndTypeSpecification.js.map +0 -1
  33. package/dist/error.d.ts +0 -128
  34. package/dist/error.d.ts.map +0 -1
  35. package/dist/error.js +0 -315
  36. package/dist/error.js.map +0 -1
  37. package/dist/extractSubgraphsFromSupergraph.d.ts +0 -8
  38. package/dist/extractSubgraphsFromSupergraph.d.ts.map +0 -1
  39. package/dist/extractSubgraphsFromSupergraph.js +0 -576
  40. package/dist/extractSubgraphsFromSupergraph.js.map +0 -1
  41. package/dist/federation.d.ts +0 -175
  42. package/dist/federation.d.ts.map +0 -1
  43. package/dist/federation.js +0 -1414
  44. package/dist/federation.js.map +0 -1
  45. package/dist/federationSpec.d.ts +0 -25
  46. package/dist/federationSpec.d.ts.map +0 -1
  47. package/dist/federationSpec.js +0 -125
  48. package/dist/federationSpec.js.map +0 -1
  49. package/dist/genErrorCodeDoc.d.ts +0 -2
  50. package/dist/genErrorCodeDoc.d.ts.map +0 -1
  51. package/dist/genErrorCodeDoc.js +0 -61
  52. package/dist/genErrorCodeDoc.js.map +0 -1
  53. package/dist/graphQLJSSchemaToAST.d.ts +0 -8
  54. package/dist/graphQLJSSchemaToAST.d.ts.map +0 -1
  55. package/dist/graphQLJSSchemaToAST.js +0 -96
  56. package/dist/graphQLJSSchemaToAST.js.map +0 -1
  57. package/dist/inaccessibleSpec.d.ts +0 -18
  58. package/dist/inaccessibleSpec.d.ts.map +0 -1
  59. package/dist/inaccessibleSpec.js +0 -655
  60. package/dist/inaccessibleSpec.js.map +0 -1
  61. package/dist/index.d.ts +0 -24
  62. package/dist/index.d.ts.map +0 -1
  63. package/dist/index.js +0 -42
  64. package/dist/index.js.map +0 -1
  65. package/dist/introspection.d.ts +0 -6
  66. package/dist/introspection.d.ts.map +0 -1
  67. package/dist/introspection.js +0 -96
  68. package/dist/introspection.js.map +0 -1
  69. package/dist/joinSpec.d.ts +0 -51
  70. package/dist/joinSpec.d.ts.map +0 -1
  71. package/dist/joinSpec.js +0 -160
  72. package/dist/joinSpec.js.map +0 -1
  73. package/dist/knownCoreFeatures.d.ts +0 -5
  74. package/dist/knownCoreFeatures.d.ts.map +0 -1
  75. package/dist/knownCoreFeatures.js +0 -20
  76. package/dist/knownCoreFeatures.js.map +0 -1
  77. package/dist/operations.d.ts +0 -403
  78. package/dist/operations.d.ts.map +0 -1
  79. package/dist/operations.js +0 -1983
  80. package/dist/operations.js.map +0 -1
  81. package/dist/precompute.d.ts +0 -3
  82. package/dist/precompute.d.ts.map +0 -1
  83. package/dist/precompute.js +0 -54
  84. package/dist/precompute.js.map +0 -1
  85. package/dist/print.d.ts +0 -28
  86. package/dist/print.d.ts.map +0 -1
  87. package/dist/print.js +0 -299
  88. package/dist/print.js.map +0 -1
  89. package/dist/schemaUpgrader.d.ts +0 -121
  90. package/dist/schemaUpgrader.d.ts.map +0 -1
  91. package/dist/schemaUpgrader.js +0 -570
  92. package/dist/schemaUpgrader.js.map +0 -1
  93. package/dist/suggestions.d.ts +0 -3
  94. package/dist/suggestions.d.ts.map +0 -1
  95. package/dist/suggestions.js +0 -44
  96. package/dist/suggestions.js.map +0 -1
  97. package/dist/supergraphs.d.ts +0 -10
  98. package/dist/supergraphs.d.ts.map +0 -1
  99. package/dist/supergraphs.js +0 -76
  100. package/dist/supergraphs.js.map +0 -1
  101. package/dist/tagSpec.d.ts +0 -19
  102. package/dist/tagSpec.d.ts.map +0 -1
  103. package/dist/tagSpec.js +0 -66
  104. package/dist/tagSpec.js.map +0 -1
  105. package/dist/types.d.ts +0 -9
  106. package/dist/types.d.ts.map +0 -1
  107. package/dist/types.js +0 -64
  108. package/dist/types.js.map +0 -1
  109. package/dist/utils.d.ts +0 -64
  110. package/dist/utils.d.ts.map +0 -1
  111. package/dist/utils.js +0 -326
  112. package/dist/utils.js.map +0 -1
  113. package/dist/validate.d.ts +0 -4
  114. package/dist/validate.d.ts.map +0 -1
  115. package/dist/validate.js +0 -239
  116. package/dist/validate.js.map +0 -1
  117. package/dist/validation/KnownTypeNamesInFederationRule.d.ts +0 -4
  118. package/dist/validation/KnownTypeNamesInFederationRule.d.ts.map +0 -1
  119. package/dist/validation/KnownTypeNamesInFederationRule.js +0 -41
  120. package/dist/validation/KnownTypeNamesInFederationRule.js.map +0 -1
  121. package/dist/values.d.ts +0 -23
  122. package/dist/values.d.ts.map +0 -1
  123. package/dist/values.js +0 -580
  124. package/dist/values.js.map +0 -1
  125. package/tsconfig.tsbuildinfo +0 -1
@@ -1,10 +0,0 @@
1
- import { DocumentNode } from "graphql";
2
- import { CoreFeatures, Schema } from "./definitions";
3
- import { JoinSpecDefinition } from "./joinSpec";
4
- export declare function buildSupergraphSchema(supergraphSdl: string | DocumentNode): [Schema, {
5
- name: string;
6
- url: string;
7
- }[]];
8
- export declare function validateSupergraph(supergraph: Schema): [CoreFeatures, JoinSpecDefinition];
9
- export declare function isFed1Supergraph(supergraph: Schema): boolean;
10
- //# sourceMappingURL=supergraphs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supergraphs.d.ts","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAgB,MAAM,SAAS,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACjE,OAAO,EAAgB,kBAAkB,EAAiB,MAAM,YAAY,CAAC;AAoB7E,wBAAgB,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,CAAC,MAAM,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,EAAE,CAAC,CAUnH;AAsCD,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAezF;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAE5D"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isFed1Supergraph = exports.validateSupergraph = exports.buildSupergraphSchema = void 0;
4
- const coreSpec_1 = require("./coreSpec");
5
- const definitions_1 = require("./definitions");
6
- const joinSpec_1 = require("./joinSpec");
7
- const buildSchema_1 = require("./buildSchema");
8
- const extractSubgraphsFromSupergraph_1 = require("./extractSubgraphsFromSupergraph");
9
- const error_1 = require("./error");
10
- const SUPPORTED_FEATURES = new Set([
11
- 'https://specs.apollo.dev/core/v0.1',
12
- 'https://specs.apollo.dev/core/v0.2',
13
- 'https://specs.apollo.dev/join/v0.1',
14
- 'https://specs.apollo.dev/join/v0.2',
15
- 'https://specs.apollo.dev/join/v0.3',
16
- 'https://specs.apollo.dev/tag/v0.1',
17
- 'https://specs.apollo.dev/tag/v0.2',
18
- 'https://specs.apollo.dev/tag/v0.3',
19
- 'https://specs.apollo.dev/inaccessible/v0.1',
20
- 'https://specs.apollo.dev/inaccessible/v0.2',
21
- ]);
22
- const coreVersionZeroDotOneUrl = coreSpec_1.FeatureUrl.parse('https://specs.apollo.dev/core/v0.1');
23
- function buildSupergraphSchema(supergraphSdl) {
24
- const schema = typeof supergraphSdl === 'string'
25
- ? (0, buildSchema_1.buildSchema)(supergraphSdl, { validate: false })
26
- : (0, buildSchema_1.buildSchemaFromAST)(supergraphSdl, { validate: false });
27
- const [coreFeatures] = validateSupergraph(schema);
28
- checkFeatureSupport(coreFeatures);
29
- schema.validate();
30
- return [schema, (0, extractSubgraphsFromSupergraph_1.extractSubgraphsNamesAndUrlsFromSupergraph)(schema)];
31
- }
32
- exports.buildSupergraphSchema = buildSupergraphSchema;
33
- function checkFeatureSupport(coreFeatures) {
34
- const errors = [];
35
- const coreItself = coreFeatures.coreItself;
36
- if (coreItself.url.equals(coreVersionZeroDotOneUrl)) {
37
- const purposefulFeatures = [...coreFeatures.allFeatures()].filter(f => f.purpose);
38
- if (purposefulFeatures.length > 0) {
39
- errors.push(error_1.ERRORS.UNSUPPORTED_LINKED_FEATURE.err(`the \`for:\` argument is unsupported by version ${coreItself.url.version} ` +
40
- `of the core spec. Please upgrade to at least @core v0.2 (https://specs.apollo.dev/core/v0.2).`, {
41
- nodes: (0, definitions_1.sourceASTs)(coreItself.directive, ...purposefulFeatures.map(f => f.directive))
42
- }));
43
- }
44
- }
45
- for (const feature of coreFeatures.allFeatures()) {
46
- if (feature.url.equals(coreVersionZeroDotOneUrl) || feature.purpose === 'EXECUTION' || feature.purpose === 'SECURITY') {
47
- if (!SUPPORTED_FEATURES.has(feature.url.base.toString())) {
48
- errors.push(error_1.ERRORS.UNSUPPORTED_LINKED_FEATURE.err(`feature ${feature.url} is for: ${feature.purpose} but is unsupported`, { nodes: feature.directive.sourceAST }));
49
- }
50
- }
51
- }
52
- if (errors.length > 0) {
53
- throw (0, coreSpec_1.ErrCoreCheckFailed)(errors);
54
- }
55
- }
56
- function validateSupergraph(supergraph) {
57
- const coreFeatures = supergraph.coreFeatures;
58
- if (!coreFeatures) {
59
- throw error_1.ERRORS.INVALID_FEDERATION_SUPERGRAPH.err("Invalid supergraph: must be a core schema");
60
- }
61
- const joinFeature = coreFeatures.getByIdentity(joinSpec_1.joinIdentity);
62
- if (!joinFeature) {
63
- throw error_1.ERRORS.INVALID_FEDERATION_SUPERGRAPH.err("Invalid supergraph: must use the join spec");
64
- }
65
- const joinSpec = joinSpec_1.JOIN_VERSIONS.find(joinFeature.url.version);
66
- if (!joinSpec) {
67
- throw error_1.ERRORS.INVALID_FEDERATION_SUPERGRAPH.err(`Invalid supergraph: uses unsupported join spec version ${joinFeature.url.version} (supported versions: ${joinSpec_1.JOIN_VERSIONS.versions().join(', ')})`);
68
- }
69
- return [coreFeatures, joinSpec];
70
- }
71
- exports.validateSupergraph = validateSupergraph;
72
- function isFed1Supergraph(supergraph) {
73
- return validateSupergraph(supergraph)[1].version.equals(new coreSpec_1.FeatureVersion(0, 1));
74
- }
75
- exports.isFed1Supergraph = isFed1Supergraph;
76
- //# sourceMappingURL=supergraphs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"supergraphs.js","sourceRoot":"","sources":["../src/supergraphs.ts"],"names":[],"mappings":"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"}
package/dist/tagSpec.d.ts DELETED
@@ -1,19 +0,0 @@
1
- import { DirectiveLocation, GraphQLError } from "graphql";
2
- import { FeatureDefinition, FeatureDefinitions, FeatureVersion } from "./coreSpec";
3
- import { DirectiveDefinition, Schema } from "./definitions";
4
- import { DirectiveSpecification } from "./directiveAndTypeSpecification";
5
- export declare const tagIdentity = "https://specs.apollo.dev/tag";
6
- export declare class TagSpecDefinition extends FeatureDefinition {
7
- readonly tagLocations: DirectiveLocation[];
8
- readonly tagDirectiveSpec: DirectiveSpecification;
9
- private readonly printedTagDefinition;
10
- constructor(version: FeatureVersion);
11
- private isV01;
12
- private isV02;
13
- tagDirective(schema: Schema): DirectiveDefinition<{
14
- name: string;
15
- }>;
16
- checkCompatibleDirective(definition: DirectiveDefinition): GraphQLError | undefined;
17
- }
18
- export declare const TAG_VERSIONS: FeatureDefinitions<TagSpecDefinition>;
19
- //# sourceMappingURL=tagSpec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tagSpec.d.ts","sourceRoot":"","sources":["../src/tagSpec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAc,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,OAAO,EAAE,mBAAmB,EAAe,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAgC,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAKvG,eAAO,MAAM,WAAW,iCAAiC,CAAC;AAE1D,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,SAAgB,YAAY,EAAE,iBAAiB,EAAE,CAAC;IAClD,SAAgB,gBAAgB,EAAE,sBAAsB,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;gBAElC,OAAO,EAAE,cAAc;IAmCnC,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,KAAK;IAIb,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAIjE,wBAAwB,CAAC,UAAU,EAAE,mBAAmB,GAAG,YAAY,GAAG,SAAS;CAYpF;AAED,eAAO,MAAM,YAAY,uCAG8B,CAAC"}
package/dist/tagSpec.js DELETED
@@ -1,66 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TAG_VERSIONS = exports.TagSpecDefinition = exports.tagIdentity = void 0;
4
- const graphql_1 = require("graphql");
5
- const coreSpec_1 = require("./coreSpec");
6
- const definitions_1 = require("./definitions");
7
- const directiveAndTypeSpecification_1 = require("./directiveAndTypeSpecification");
8
- const error_1 = require("./error");
9
- const knownCoreFeatures_1 = require("./knownCoreFeatures");
10
- const types_1 = require("./types");
11
- exports.tagIdentity = 'https://specs.apollo.dev/tag';
12
- class TagSpecDefinition extends coreSpec_1.FeatureDefinition {
13
- constructor(version) {
14
- super(new coreSpec_1.FeatureUrl(exports.tagIdentity, 'tag', version));
15
- this.tagLocations = [
16
- graphql_1.DirectiveLocation.FIELD_DEFINITION,
17
- graphql_1.DirectiveLocation.OBJECT,
18
- graphql_1.DirectiveLocation.INTERFACE,
19
- graphql_1.DirectiveLocation.UNION,
20
- ];
21
- this.printedTagDefinition = 'directive @tag(name: String!) repeatable on FIELD_DEFINITION | INTERFACE | OBJECT | UNION';
22
- if (!this.isV01()) {
23
- this.tagLocations.push(graphql_1.DirectiveLocation.ARGUMENT_DEFINITION, graphql_1.DirectiveLocation.SCALAR, graphql_1.DirectiveLocation.ENUM, graphql_1.DirectiveLocation.ENUM_VALUE, graphql_1.DirectiveLocation.INPUT_OBJECT, graphql_1.DirectiveLocation.INPUT_FIELD_DEFINITION);
24
- this.printedTagDefinition = 'directive @tag(name: String!) repeatable on FIELD_DEFINITION | INTERFACE | OBJECT | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION';
25
- if (!this.isV02()) {
26
- this.tagLocations.push(graphql_1.DirectiveLocation.SCHEMA);
27
- this.printedTagDefinition = 'directive @tag(name: String!) repeatable on FIELD_DEFINITION | INTERFACE | OBJECT | UNION | ARGUMENT_DEFINITION | SCALAR | ENUM | ENUM_VALUE | INPUT_OBJECT | INPUT_FIELD_DEFINITION | SCHEMA';
28
- }
29
- }
30
- this.tagDirectiveSpec = (0, directiveAndTypeSpecification_1.createDirectiveSpecification)({
31
- name: 'tag',
32
- locations: this.tagLocations,
33
- repeatable: true,
34
- args: [{ name: 'name', type: (schema) => new definitions_1.NonNullType(schema.stringType()) }],
35
- composes: true,
36
- supergraphSpecification: () => exports.TAG_VERSIONS.latest(),
37
- });
38
- this.registerDirective(this.tagDirectiveSpec);
39
- }
40
- isV01() {
41
- return this.version.equals(new coreSpec_1.FeatureVersion(0, 1));
42
- }
43
- isV02() {
44
- return this.version.equals(new coreSpec_1.FeatureVersion(0, 2));
45
- }
46
- tagDirective(schema) {
47
- return this.directive(schema, 'tag');
48
- }
49
- checkCompatibleDirective(definition) {
50
- const hasUnknownArguments = Object.keys(definition.arguments()).length > 1;
51
- const nameArg = definition.argument('name');
52
- const hasValidNameArg = nameArg && (0, types_1.sameType)(nameArg.type, new definitions_1.NonNullType(definition.schema().stringType()));
53
- const hasValidLocations = definition.locations.every(loc => this.tagLocations.includes(loc));
54
- if (hasUnknownArguments || !hasValidNameArg || !hasValidLocations) {
55
- return error_1.ERRORS.DIRECTIVE_DEFINITION_INVALID.err(`Found invalid @tag directive definition. Please ensure the directive definition in your schema's definitions matches the following:\n\t${this.printedTagDefinition}`);
56
- }
57
- return undefined;
58
- }
59
- }
60
- exports.TagSpecDefinition = TagSpecDefinition;
61
- exports.TAG_VERSIONS = new coreSpec_1.FeatureDefinitions(exports.tagIdentity)
62
- .add(new TagSpecDefinition(new coreSpec_1.FeatureVersion(0, 1)))
63
- .add(new TagSpecDefinition(new coreSpec_1.FeatureVersion(0, 2)))
64
- .add(new TagSpecDefinition(new coreSpec_1.FeatureVersion(0, 3)));
65
- (0, knownCoreFeatures_1.registerKnownFeature)(exports.TAG_VERSIONS);
66
- //# sourceMappingURL=tagSpec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tagSpec.js","sourceRoot":"","sources":["../src/tagSpec.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts DELETED
@@ -1,9 +0,0 @@
1
- import { AbstractType, InterfaceType, ObjectType, Type, UnionType } from "./definitions";
2
- export declare const ALL_SUBTYPING_RULES: ("direct" | "nonNullable_downgrade" | "list_upgrade" | "list_propagation" | "nonNullable_propagation")[];
3
- export type SubtypingRule = typeof ALL_SUBTYPING_RULES[number];
4
- export declare const DEFAULT_SUBTYPING_RULES: ("direct" | "nonNullable_downgrade" | "list_upgrade" | "list_propagation" | "nonNullable_propagation")[];
5
- export declare function sameType(t1: Type, t2: Type): boolean;
6
- export declare function isDirectSubtype(type: AbstractType, maybeSubType: ObjectType | InterfaceType, unionMembershipTester?: (union: UnionType, maybeMember: ObjectType) => boolean, implementsInterfaceTester?: (maybeImplementer: ObjectType | InterfaceType, itf: InterfaceType) => boolean): boolean;
7
- export declare function isSubtype(type: Type, maybeSubType: Type, allowedRules?: SubtypingRule[], unionMembershipTester?: (union: UnionType, maybeMember: ObjectType) => boolean, implementsInterfaceTester?: (maybeImplementer: ObjectType | InterfaceType, itf: InterfaceType) => boolean): boolean;
8
- export declare function isStrictSubtype(type: Type, maybeSubType: Type, allowedRules?: SubtypingRule[], unionMembershipTester?: (union: UnionType, maybeMember: ObjectType) => boolean, implementsInterfaceTester?: (maybeImplementer: ObjectType | InterfaceType, itf: InterfaceType) => boolean): boolean;
9
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EACH,YAAY,EACd,aAAa,EAOb,UAAU,EACV,IAAI,EACJ,SAAS,EACV,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,mBAAmB,0GAM/B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,OAAO,mBAAmB,CAAC,MAAM,CAAC,CAAC;AAG/D,eAAO,MAAM,uBAAuB,0GAAwD,CAAC;AAc7F,wBAAgB,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,GAAG,OAAO,CASpD;AAgBD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,UAAU,GAAG,aAAa,EACxC,qBAAqB,GAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,KAAK,OAAsC,EAC5G,yBAAyB,GAAE,CAAC,gBAAgB,EAAE,UAAU,GAAG,aAAa,EAAE,GAAG,EAAE,aAAa,KAAK,OAA4C,GAC5I,OAAO,CAKT;AAkBD,wBAAgB,SAAS,CACvB,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,EAClB,YAAY,GAAE,aAAa,EAA4B,EACvD,qBAAqB,GAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,KAAK,OAAsC,EAC5G,yBAAyB,GAAE,CAAC,gBAAgB,EAAE,UAAU,GAAG,aAAa,EAAE,GAAG,EAAE,aAAa,KAAK,OAA4C,GAC5I,OAAO,CAET;AAQD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,IAAI,EAClB,YAAY,GAAE,aAAa,EAA4B,EACvD,qBAAqB,GAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,KAAK,OAAsC,EAC5G,yBAAyB,GAAE,CAAC,gBAAgB,EAAE,UAAU,GAAG,aAAa,EAAE,GAAG,EAAE,aAAa,KAAK,OAA4C,GAC5I,OAAO,CA2BT"}
package/dist/types.js DELETED
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isStrictSubtype = exports.isSubtype = exports.isDirectSubtype = exports.sameType = exports.DEFAULT_SUBTYPING_RULES = exports.ALL_SUBTYPING_RULES = void 0;
4
- const definitions_1 = require("./definitions");
5
- exports.ALL_SUBTYPING_RULES = [
6
- 'direct',
7
- 'nonNullable_downgrade',
8
- 'list_upgrade',
9
- 'list_propagation',
10
- 'nonNullable_propagation'
11
- ];
12
- exports.DEFAULT_SUBTYPING_RULES = exports.ALL_SUBTYPING_RULES.filter(r => r !== "list_upgrade");
13
- function sameType(t1, t2) {
14
- switch (t1.kind) {
15
- case 'ListType':
16
- return (0, definitions_1.isListType)(t2) && sameType(t1.ofType, t2.ofType);
17
- case 'NonNullType':
18
- return (0, definitions_1.isNonNullType)(t2) && sameType(t1.ofType, t2.ofType);
19
- default:
20
- return (0, definitions_1.isNamedType)(t2) && t1.name === t2.name;
21
- }
22
- }
23
- exports.sameType = sameType;
24
- function isDirectSubtype(type, maybeSubType, unionMembershipTester = (u, m) => u.hasTypeMember(m), implementsInterfaceTester = (m, i) => m.implementsInterface(i)) {
25
- if ((0, definitions_1.isUnionType)(type)) {
26
- return (0, definitions_1.isObjectType)(maybeSubType) && unionMembershipTester(type, maybeSubType);
27
- }
28
- return implementsInterfaceTester(maybeSubType, type);
29
- }
30
- exports.isDirectSubtype = isDirectSubtype;
31
- function isSubtype(type, maybeSubType, allowedRules = exports.DEFAULT_SUBTYPING_RULES, unionMembershipTester = (u, m) => u.hasTypeMember(m), implementsInterfaceTester = (m, i) => m.implementsInterface(i)) {
32
- return sameType(type, maybeSubType) || isStrictSubtype(type, maybeSubType, allowedRules, unionMembershipTester, implementsInterfaceTester);
33
- }
34
- exports.isSubtype = isSubtype;
35
- function isStrictSubtype(type, maybeSubType, allowedRules = exports.DEFAULT_SUBTYPING_RULES, unionMembershipTester = (u, m) => u.hasTypeMember(m), implementsInterfaceTester = (m, i) => m.implementsInterface(i)) {
36
- switch (maybeSubType.kind) {
37
- case 'ListType':
38
- return allowedRules.includes('list_propagation')
39
- && (0, definitions_1.isListType)(type)
40
- && isSubtype(type.ofType, maybeSubType.ofType, allowedRules, unionMembershipTester, implementsInterfaceTester);
41
- case 'NonNullType':
42
- if ((0, definitions_1.isNonNullType)(type)) {
43
- return allowedRules.includes('nonNullable_propagation')
44
- && isSubtype(type.ofType, maybeSubType.ofType, allowedRules, unionMembershipTester, implementsInterfaceTester);
45
- }
46
- return allowedRules.includes('nonNullable_downgrade')
47
- && isSubtype(type, maybeSubType.ofType, allowedRules, unionMembershipTester, implementsInterfaceTester);
48
- case 'ObjectType':
49
- case 'InterfaceType':
50
- if ((0, definitions_1.isListType)(type)) {
51
- return allowedRules.includes('list_upgrade')
52
- && isSubtype(type.ofType, maybeSubType, allowedRules, unionMembershipTester, implementsInterfaceTester);
53
- }
54
- return allowedRules.includes('direct')
55
- && ((0, definitions_1.isInterfaceType)(type) || (0, definitions_1.isUnionType)(type))
56
- && isDirectSubtype(type, maybeSubType, unionMembershipTester, implementsInterfaceTester);
57
- default:
58
- return (0, definitions_1.isListType)(type)
59
- && allowedRules.includes('list_upgrade')
60
- && isSubtype(type.ofType, maybeSubType, allowedRules, unionMembershipTester, implementsInterfaceTester);
61
- }
62
- }
63
- exports.isStrictSubtype = isStrictSubtype;
64
- //# sourceMappingURL=types.js.map
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts DELETED
@@ -1,64 +0,0 @@
1
- export declare function assert(condition: any, message: string | (() => string)): asserts condition;
2
- export declare function assertUnreachable(_: never): never;
3
- export declare class MultiMap<K, V> extends Map<K, V[]> {
4
- add(key: K, value: V): this;
5
- addAll(otherMap: MultiMap<K, V>): this;
6
- }
7
- export declare class SetMultiMap<K, V> extends Map<K, Set<V>> {
8
- add(key: K, value: V): this;
9
- addAll(otherMap: SetMultiMap<K, V>): this;
10
- }
11
- export declare class OrderedMap<K, V> {
12
- private _keys;
13
- private _values;
14
- private _compareFn;
15
- private static defaultCompareFn;
16
- constructor(compareFn?: (a: K, b: K) => number);
17
- add(key: K, value: V): void;
18
- get(key: K): V | undefined;
19
- has(key: K): boolean;
20
- get size(): number;
21
- keys(): K[];
22
- values(): V[];
23
- private insertKeyInOrder;
24
- [Symbol.iterator](): Generator<NonNullable<V>, void, unknown>;
25
- }
26
- export declare function arrayEquals<T>(a: readonly T[], b: readonly T[], equalFct?: (e1: T, e2: T) => boolean): boolean;
27
- export declare function isSubset<T>(superset: Set<T>, maybeSubset: Set<T>): boolean;
28
- export declare function firstOf<T>(iterable: Iterable<T>): T | undefined;
29
- export declare function mapValues<V>(map: ReadonlyMap<any, V>): V[];
30
- export declare function mapKeys<K>(map: ReadonlyMap<K, any>): K[];
31
- export declare function mapEntries<K, V>(map: ReadonlyMap<K, V>): [K, V][];
32
- export declare function setValues<V>(set: ReadonlySet<V>): V[];
33
- export declare class MapWithCachedArrays<K, V> {
34
- private readonly map;
35
- private cachedKeys?;
36
- private cachedValues?;
37
- private clearCaches;
38
- get size(): number;
39
- has(key: K): boolean;
40
- get(key: K): V | undefined;
41
- set(key: K, value: V): this;
42
- delete(key: K): boolean;
43
- clear(): void;
44
- keys(): readonly K[];
45
- values(): readonly V[];
46
- }
47
- export declare function copyWitNewLength<T>(arr: T[], newLength: number): T[];
48
- export declare function validateStringContainsBoolean(str?: string): boolean | undefined;
49
- export declare function joinStrings(toJoin: string[], sep?: string, firstSep?: string, lastSep?: string): string;
50
- export declare function printHumanReadableList(names: string[], { emptyValue, prefix, prefixPlural, lastSeparator, cutoff_output_length, }: {
51
- emptyValue?: string;
52
- prefix?: string;
53
- prefixPlural?: string;
54
- lastSeparator?: string;
55
- cutoff_output_length?: number;
56
- }): string;
57
- export type Concrete<Type> = {
58
- [Property in keyof Type]-?: Type[Property];
59
- };
60
- export declare const isDefined: <T>(t: T | undefined) => t is T;
61
- export declare function removeArrayElement<T>(element: T, array: T[]): boolean;
62
- export type NonEmptyArray<T> = [T, ...T[]];
63
- export declare function isNonEmptyArray<T>(array: T[]): array is NonEmptyArray<T>;
64
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}