@contember/engine-content-api 1.3.4 → 1.4.0-alpha.1

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 (139) hide show
  1. package/dist/src/ExecutionContainer.d.ts +4 -4
  2. package/dist/src/ExecutionContainer.d.ts.map +1 -1
  3. package/dist/src/ExecutionContainer.js +5 -2
  4. package/dist/src/ExecutionContainer.js.map +1 -1
  5. package/dist/src/extensions/EntityFieldsProvider.d.ts +1 -1
  6. package/dist/src/extensions/EntityFieldsProvider.d.ts.map +1 -1
  7. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts +1 -1
  8. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.d.ts.map +1 -1
  9. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js +12 -2
  10. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.js.map +1 -1
  11. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts +16 -9
  12. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.d.ts.map +1 -1
  13. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js +21 -13
  14. package/dist/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.js.map +1 -1
  15. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts +1 -1
  16. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.d.ts.map +1 -1
  17. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js +8 -2
  18. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.js.map +1 -1
  19. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts +16 -9
  20. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.d.ts.map +1 -1
  21. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js +17 -12
  22. package/dist/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.js.map +1 -1
  23. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts +5 -2
  24. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.d.ts.map +1 -1
  25. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js +164 -14
  26. package/dist/src/introspection/IntrospectionSchemaDefinitionFactory.js.map +1 -1
  27. package/dist/src/introspection/index.d.ts +1 -2
  28. package/dist/src/introspection/index.d.ts.map +1 -1
  29. package/dist/src/introspection/index.js +4 -4
  30. package/dist/src/introspection/index.js.map +1 -1
  31. package/dist/src/mapper/ErrorUtils.d.ts +3 -3
  32. package/dist/src/mapper/ErrorUtils.d.ts.map +1 -1
  33. package/dist/src/mapper/ErrorUtils.js +2 -2
  34. package/dist/src/mapper/ErrorUtils.js.map +1 -1
  35. package/dist/src/mapper/Mapper.d.ts +2 -3
  36. package/dist/src/mapper/Mapper.d.ts.map +1 -1
  37. package/dist/src/mapper/Mapper.js +1 -1
  38. package/dist/src/mapper/Mapper.js.map +1 -1
  39. package/dist/src/mapper/MapperFactory.d.ts +3 -3
  40. package/dist/src/mapper/MapperFactory.d.ts.map +1 -1
  41. package/dist/src/mapper/MapperFactory.js.map +1 -1
  42. package/dist/src/mapper/Result.d.ts +2 -2
  43. package/dist/src/mapper/Result.d.ts.map +1 -1
  44. package/dist/src/mapper/Result.js.map +1 -1
  45. package/dist/src/mapper/delete/DeleteExecutor.js +1 -1
  46. package/dist/src/mapper/delete/DeleteExecutor.js.map +1 -1
  47. package/dist/src/mapper/insert/Inserter.d.ts +3 -2
  48. package/dist/src/mapper/insert/Inserter.d.ts.map +1 -1
  49. package/dist/src/mapper/insert/Inserter.js.map +1 -1
  50. package/dist/src/mapper/select/RelationFetcher.d.ts.map +1 -1
  51. package/dist/src/mapper/select/RelationFetcher.js +8 -7
  52. package/dist/src/mapper/select/RelationFetcher.js.map +1 -1
  53. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts +3 -5
  54. package/dist/src/mapper/select/handlers/FieldsVisitor.d.ts.map +1 -1
  55. package/dist/src/mapper/select/handlers/FieldsVisitor.js +8 -4
  56. package/dist/src/mapper/select/handlers/FieldsVisitor.js.map +1 -1
  57. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts +3 -5
  58. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.d.ts.map +1 -1
  59. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js +3 -4
  60. package/dist/src/mapper/select/handlers/FieldsVisitorFactory.js.map +1 -1
  61. package/dist/src/mapper/update/Updater.d.ts +2 -2
  62. package/dist/src/mapper/update/Updater.d.ts.map +1 -1
  63. package/dist/src/mapper/update/Updater.js.map +1 -1
  64. package/dist/src/resolvers/MutationResolver.d.ts +3 -2
  65. package/dist/src/resolvers/MutationResolver.d.ts.map +1 -1
  66. package/dist/src/resolvers/MutationResolver.js +20 -18
  67. package/dist/src/resolvers/MutationResolver.js.map +1 -1
  68. package/dist/src/schema/EntityTypeProvider.d.ts.map +1 -1
  69. package/dist/src/schema/EntityTypeProvider.js +23 -26
  70. package/dist/src/schema/EntityTypeProvider.js.map +1 -1
  71. package/dist/src/schema/GraphQlSchemaBuilder.d.ts +10 -2
  72. package/dist/src/schema/GraphQlSchemaBuilder.d.ts.map +1 -1
  73. package/dist/src/schema/GraphQlSchemaBuilder.js +47 -37
  74. package/dist/src/schema/GraphQlSchemaBuilder.js.map +1 -1
  75. package/dist/src/schema/ResultSchemaTypeProvider.d.ts +4 -0
  76. package/dist/src/schema/ResultSchemaTypeProvider.d.ts.map +1 -1
  77. package/dist/src/schema/ResultSchemaTypeProvider.js +27 -23
  78. package/dist/src/schema/ResultSchemaTypeProvider.js.map +1 -1
  79. package/dist/src/tsconfig.tsbuildinfo +1 -1
  80. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js +1 -1
  81. package/dist/tests/cases/integration/graphQlDb/update/deferedConstraints.test.js.map +1 -1
  82. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts +2 -0
  83. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.d.ts.map +1 -0
  84. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js +170 -0
  85. package/dist/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.js.map +1 -0
  86. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js +44 -0
  87. package/dist/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.js.map +1 -1
  88. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js +20 -0
  89. package/dist/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.js.map +1 -1
  90. package/dist/tests/src/test.js +1 -1
  91. package/dist/tests/src/test.js.map +1 -1
  92. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  93. package/graphql.codegen.yml +1 -1
  94. package/package.json +12 -14
  95. package/src/ExecutionContainer.ts +13 -6
  96. package/src/extensions/EntityFieldsProvider.ts +1 -1
  97. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts +12 -5
  98. package/src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts +33 -24
  99. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts +8 -5
  100. package/src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts +28 -17
  101. package/src/introspection/IntrospectionSchemaDefinitionFactory.ts +202 -13
  102. package/src/introspection/index.ts +1 -2
  103. package/src/mapper/ErrorUtils.ts +8 -7
  104. package/src/mapper/Mapper.ts +4 -4
  105. package/src/mapper/MapperFactory.ts +3 -3
  106. package/src/mapper/Result.ts +2 -3
  107. package/src/mapper/delete/DeleteExecutor.ts +1 -1
  108. package/src/mapper/insert/Inserter.ts +3 -2
  109. package/src/mapper/select/RelationFetcher.ts +8 -4
  110. package/src/mapper/select/handlers/FieldsVisitor.ts +9 -5
  111. package/src/mapper/select/handlers/FieldsVisitorFactory.ts +3 -6
  112. package/src/mapper/update/Updater.ts +3 -2
  113. package/src/resolvers/MutationResolver.ts +29 -22
  114. package/src/schema/EntityTypeProvider.ts +32 -41
  115. package/src/schema/GraphQlSchemaBuilder.ts +61 -40
  116. package/src/schema/ResultSchemaTypeProvider.ts +29 -27
  117. package/tests/cases/integration/graphQlDb/update/deferedConstraints.test.ts +1 -1
  118. package/tests/cases/integration/graphQlDb/update/deferredUniqueConstraints.test.ts +169 -0
  119. package/tests/cases/integration/graphQlRequests/query/relations/manyHasManyOwning.test.ts +45 -0
  120. package/tests/cases/integration/graphQlSchema/graphQlSchemaBuilder.test.ts +24 -0
  121. package/tests/cases/integration/graphQlSchema/schema-acl-allowed.gql +1 -0
  122. package/tests/cases/integration/graphQlSchema/schema-acl-create-only.gql +1 -0
  123. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-create.gql +1 -0
  124. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-delete.gql +1 -0
  125. package/tests/cases/integration/graphQlSchema/schema-acl-restricted-update.gql +1 -0
  126. package/tests/cases/integration/graphQlSchema/schema-acl.gql +1 -0
  127. package/tests/cases/integration/graphQlSchema/schema-aliased-type.gql +1 -0
  128. package/tests/cases/integration/graphQlSchema/schema-basic.gql +1 -0
  129. package/tests/cases/integration/graphQlSchema/schema-bug-66.gql +1 -0
  130. package/tests/cases/integration/graphQlSchema/schema-custom-primary.gql +1 -0
  131. package/tests/cases/integration/graphQlSchema/schema-has-many-reduction.gql +1 -0
  132. package/tests/cases/integration/graphQlSchema/schema-new-builder.gql +1 -0
  133. package/tests/cases/integration/graphQlSchema/schema-read-only.gql +116 -0
  134. package/tests/src/test.ts +3 -3
  135. package/dist/src/introspection/content-schema.graphql.d.ts +0 -4
  136. package/dist/src/introspection/content-schema.graphql.d.ts.map +0 -1
  137. package/dist/src/introspection/content-schema.graphql.js +0 -113
  138. package/dist/src/introspection/content-schema.graphql.js.map +0 -1
  139. package/src/introspection/content-schema.graphql.ts +0 -113
@@ -5,8 +5,8 @@ import { HasManyToHasOneReducerExecutionHandler } from './extensions';
5
5
  import { DeleteExecutor, InsertBuilderFactory, Inserter, JunctionConnectHandler, JunctionDisconnectHandler, JunctionTableManager, MapperFactory, PathFactory, SelectBuilder, SelectHydrator, UpdateBuilderFactory, Updater } from './mapper';
6
6
  import { Builder } from '@contember/dic';
7
7
  import { Acl, Model, Schema } from '@contember/schema';
8
- import { Client, SelectBuilder as DbSelectBuilder } from '@contember/database';
9
- import { Providers, SchemaDatabaseMetadata } from '@contember/schema-utils';
8
+ import { Client, DatabaseMetadata, SelectBuilder as DbSelectBuilder } from '@contember/database';
9
+ import { Providers } from '@contember/schema-utils';
10
10
  import { PaginatedHasManyExecutionHandler } from './extensions/paginatedHasMany/PaginatedHasManyExecutionHandler';
11
11
  import { WhereOptimizer } from './mapper/select/optimizer/WhereOptimizer';
12
12
  import { GraphQlQueryAstFactory, MutationResolver, ReadResolver, ValidationResolver } from './resolvers';
@@ -15,7 +15,7 @@ export type ExecutionContainerArgs = {
15
15
  schema: Schema & {
16
16
  id: number;
17
17
  };
18
- schemaDatabaseMetadata: SchemaDatabaseMetadata;
18
+ schemaDatabaseMetadata: DatabaseMetadata;
19
19
  db: Client;
20
20
  identityId: string;
21
21
  identityVariables: Acl.VariablesMap;
@@ -59,7 +59,7 @@ export declare class ExecutionContainerFactory {
59
59
  id: number;
60
60
  };
61
61
  } & {
62
- schemaDatabaseMetadata: SchemaDatabaseMetadata;
62
+ schemaDatabaseMetadata: DatabaseMetadata;
63
63
  } & {
64
64
  providers: Providers;
65
65
  } & {
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionContainer.d.ts","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
@@ -38,10 +38,13 @@ class ExecutionContainerFactory {
38
38
  .addService('conditionBuilder', () => new select_1.ConditionBuilder())
39
39
  .addService('pathFactory', () => new mapper_1.PathFactory())
40
40
  .addService('whereOptimized', ({ schema }) => new WhereOptimizer_1.WhereOptimizer(schema.model, new ConditionOptimizer_1.ConditionOptimizer()))
41
- .addService('whereBuilder', ({ joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema }) => new select_1.WhereBuilder(schema.model, joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema.settings.useExistsInHasManyFilter === true))
41
+ .addService('whereBuilder', ({ joinBuilder, conditionBuilder, pathFactory, whereOptimized, schema }) => {
42
+ var _a, _b;
43
+ return new select_1.WhereBuilder(schema.model, joinBuilder, conditionBuilder, pathFactory, whereOptimized, ((_b = (_a = schema.settings.content) === null || _a === void 0 ? void 0 : _a.useExistsInHasManyFilter) !== null && _b !== void 0 ? _b : schema.settings.useExistsInHasManyFilter) === true);
44
+ })
42
45
  .addService('orderByBuilder', ({ joinBuilder, schema }) => new select_1.OrderByBuilder(schema.model, joinBuilder))
43
46
  .addService('relationFetcher', ({ whereBuilder, orderByBuilder, predicatesInjector, pathFactory }) => new select_1.RelationFetcher(whereBuilder, orderByBuilder, predicatesInjector, pathFactory))
44
- .addService('fieldsVisitorFactory', ({ relationFetcher, predicateFactory, whereBuilder, schema }) => new select_1.FieldsVisitorFactory(schema.model, relationFetcher, predicateFactory, whereBuilder))
47
+ .addService('fieldsVisitorFactory', ({ relationFetcher, predicateFactory, schema }) => { var _a; return new select_1.FieldsVisitorFactory(relationFetcher, predicateFactory, (_a = schema.settings.content) !== null && _a !== void 0 ? _a : {}); })
45
48
  .addService('metaHandler', ({ whereBuilder, predicateFactory }) => new select_1.MetaHandler(whereBuilder, predicateFactory))
46
49
  .addService('uniqueWhereExpander', ({ schema }) => new inputProcessing_1.UniqueWhereExpander(schema.model))
47
50
  .addService('hasManyToHasOneReducer', ({ uniqueWhereExpander, schema }) => new extensions_1.HasManyToHasOneReducerExecutionHandler(schema.model, uniqueWhereExpander))
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutionContainer.js","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ExecutionContainer.js","sourceRoot":"","sources":["../../src/ExecutionContainer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { GraphQLFieldConfig } from 'graphql';
2
2
  import { Model } from '@contember/schema';
3
3
  export interface EntityFieldsProvider<ExtensionArg extends object = {}> {
4
- getFields(entity: Model.Entity, accessibleFields: string[]): FieldMap<ExtensionArg>;
4
+ getFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<ExtensionArg>;
5
5
  }
6
6
  export type FieldMap<ExtensionArg extends object> = {
7
7
  [fieldName: string]: GraphQLFieldConfig<any, any> & {
@@ -1 +1 @@
1
- {"version":3,"file":"EntityFieldsProvider.d.ts","sourceRoot":"","sources":["../../../src/extensions/EntityFieldsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,WAAW,oBAAoB,CAAC,YAAY,SAAS,MAAM,GAAG,EAAE;IACrE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;CACnF;AAED,MAAM,MAAM,QAAQ,CAAC,YAAY,SAAS,MAAM,IAAI;IACnD,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QACnD,UAAU,EAAE,YAAY,CAAA;KACxB,CAAA;CACD,CAAA"}
1
+ {"version":3,"file":"EntityFieldsProvider.d.ts","sourceRoot":"","sources":["../../../src/extensions/EntityFieldsProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEzC,MAAM,WAAW,oBAAoB,CAAC,YAAY,SAAS,MAAM,GAAG,EAAE;IACrE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAA;CAC3F;AAED,MAAM,MAAM,QAAQ,CAAC,YAAY,SAAS,MAAM,IAAI;IACnD,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QACnD,UAAU,EAAE,YAAY,CAAA;KACxB,CAAA;CACD,CAAA"}
@@ -6,7 +6,7 @@ export declare class HasManyToHasOneReducer implements EntityFieldsProvider<HasM
6
6
  private readonly visitor;
7
7
  static extensionName: string;
8
8
  constructor(schema: Model.Schema, visitor: HasManyToHasOneRelationReducerFieldVisitor);
9
- getFields(entity: Model.Entity, fields: string[]): FieldMap<HasManyToHasOneReducerExtension>;
9
+ getFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<HasManyToHasOneReducerExtension>;
10
10
  }
11
11
  export interface HasManyToHasOneReducerExtension {
12
12
  relationName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneReducer.d.ts","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,0CAA0C,EAAE,MAAM,yCAAyC,CAAA;AAEpG,qBAAa,sBAAuB,YAAW,oBAAoB,CAAC,+BAA+B,CAAC;IAIlG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJzB,MAAM,CAAC,aAAa,EAAE,MAAM,CAA2B;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,0CAA0C;IAGrE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,+BAA+B,CAAC;CAM5F;AAED,MAAM,WAAW,+BAA+B;IAC/C,YAAY,EAAE,MAAM,CAAA;CACpB"}
1
+ {"version":3,"file":"HasManyToHasOneReducer.d.ts","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,0CAA0C,EAAE,MAAM,yCAAyC,CAAA;AAEpG,qBAAa,sBAAuB,YAAW,oBAAoB,CAAC,+BAA+B,CAAC;IAIlG,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJzB,MAAM,CAAC,aAAa,EAAE,MAAM,CAA2B;gBAGrC,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,OAAO,EAAE,0CAA0C;IAGrE,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,+BAA+B,CAAC;CAa9G;AAED,MAAM,WAAW,+BAA+B;IAC/C,YAAY,EAAE,MAAM,CAAA;CACpB"}
@@ -2,13 +2,23 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HasManyToHasOneReducer = void 0;
4
4
  const schema_utils_1 = require("@contember/schema-utils");
5
+ const schema_1 = require("@contember/schema");
5
6
  class HasManyToHasOneReducer {
6
7
  constructor(schema, visitor) {
7
8
  this.schema = schema;
8
9
  this.visitor = visitor;
9
10
  }
10
- getFields(entity, fields) {
11
- return fields.reduce((result, field) => ({ ...result, ...(0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field, this.visitor) }), {});
11
+ getFields(entity, accessibleFields) {
12
+ const fieldMap = {};
13
+ for (const field of accessibleFields) {
14
+ if (field.type !== schema_1.Model.RelationType.OneHasMany) {
15
+ continue;
16
+ }
17
+ for (const [name, resultField] of (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field, this.visitor)) {
18
+ fieldMap[name] = resultField;
19
+ }
20
+ }
21
+ return fieldMap;
12
22
  }
13
23
  }
14
24
  exports.HasManyToHasOneReducer = HasManyToHasOneReducer;
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneReducer.js","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"names":[],"mappings":";;;AACA,0DAA4D;AAI5D,MAAa,sBAAsB;IAGlC,YACkB,MAAoB,EACpB,OAAmD;QADnD,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAA4C;IAClE,CAAC;IAEJ,SAAS,CAAC,MAAoB,EAAE,MAAgB;QAC/C,OAAO,MAAM,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EACnG,EAAE,CACF,CAAA;IACF,CAAC;;AAbF,wDAcC;AAbO,oCAAa,GAAW,wBAAwB,CAAA"}
1
+ {"version":3,"file":"HasManyToHasOneReducer.js","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneReducer.ts"],"names":[],"mappings":";;;AACA,0DAA4D;AAC5D,8CAAyC;AAGzC,MAAa,sBAAsB;IAGlC,YACkB,MAAoB,EACpB,OAAmD;QADnD,WAAM,GAAN,MAAM,CAAc;QACpB,YAAO,GAAP,OAAO,CAA4C;IAClE,CAAC;IAEJ,SAAS,CAAC,MAAoB,EAAE,gBAAkC;QACjE,MAAM,QAAQ,GAA8C,EAAE,CAAA;QAC9D,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE;YACrC,IAAI,KAAK,CAAC,IAAI,KAAK,cAAK,CAAC,YAAY,CAAC,UAAU,EAAE;gBACjD,SAAQ;aACR;YAED,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/F,QAAQ,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;aAC5B;SACD;QACD,OAAO,QAAQ,CAAA;IAChB,CAAC;;AApBF,wDAqBC;AApBO,oCAAa,GAAW,wBAAwB,CAAA"}
@@ -2,19 +2,26 @@ import { Model } from '@contember/schema';
2
2
  import { EntityTypeProvider, WhereTypeProvider } from '../../schema';
3
3
  import { Authorizator } from '../../acl';
4
4
  import { HasManyToHasOneReducerExtension } from './HasManyToHasOneReducer';
5
- import { FieldMap } from '../EntityFieldsProvider';
6
- export declare class HasManyToHasOneRelationReducerFieldVisitor implements Model.ColumnVisitor<FieldMap<HasManyToHasOneReducerExtension>>, Model.RelationByTypeVisitor<FieldMap<HasManyToHasOneReducerExtension>> {
5
+ import { GraphQLFieldConfig } from 'graphql';
6
+ type Result = [
7
+ string,
8
+ GraphQLFieldConfig<any, any> & {
9
+ extensions: HasManyToHasOneReducerExtension;
10
+ }
11
+ ];
12
+ export declare class HasManyToHasOneRelationReducerFieldVisitor implements Model.ColumnVisitor<Result[]>, Model.RelationByTypeVisitor<Result[]> {
7
13
  private readonly schema;
8
14
  private readonly authorizator;
9
15
  private readonly entityTypeProvider;
10
16
  private readonly whereTypeProvider;
11
17
  constructor(schema: Model.Schema, authorizator: Authorizator, entityTypeProvider: EntityTypeProvider, whereTypeProvider: WhereTypeProvider);
12
- visitColumn(): {};
13
- visitOneHasOneOwning(): {};
14
- visitOneHasOneInverse(): {};
15
- visitManyHasOne(): {};
16
- visitManyHasManyInverse(): {};
17
- visitManyHasManyOwning(): {};
18
- visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext): FieldMap<HasManyToHasOneReducerExtension>;
18
+ visitColumn(): never[];
19
+ visitOneHasOneOwning(): never[];
20
+ visitOneHasOneInverse(): never[];
21
+ visitManyHasOne(): never[];
22
+ visitManyHasManyInverse(): never[];
23
+ visitManyHasManyOwning(): never[];
24
+ visitOneHasMany({ entity, targetEntity, targetRelation, relation }: Model.OneHasManyContext): Result[];
19
25
  }
26
+ export {};
20
27
  //# sourceMappingURL=HasManyToHasOneRelationReducerVisitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.d.ts","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAEN,kBAAkB,EAGlB,iBAAiB,EACjB,MAAM,cAAc,CAAA;AAErB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAAE,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAElD,qBAAa,0CAA2C,YACvD,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,EAC9D,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC;IAGrE,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB;IAG/C,WAAW;IAIX,oBAAoB;IAIpB,qBAAqB;IAIrB,eAAe;IAIf,uBAAuB;IAIvB,sBAAsB;IAItB,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;CAoDlG"}
1
+ {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.d.ts","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"names":[],"mappings":"AACA,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAsB,kBAAkB,EAAmC,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEzH,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAExC,OAAO,EAA0B,+BAA+B,EAAE,MAAM,0BAA0B,CAAA;AAClG,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,KAAK,MAAM,GAAG;IACb,MAAM;IACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QAC9B,UAAU,EAAE,+BAA+B,CAAA;KAC3C;CACD,CAAA;AAED,qBAAa,0CAA2C,YACvD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAC7B,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAGpC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,kBAAkB;IACnC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAHjB,MAAM,EAAE,KAAK,CAAC,MAAM,EACpB,YAAY,EAAE,YAAY,EAC1B,kBAAkB,EAAE,kBAAkB,EACtC,iBAAiB,EAAE,iBAAiB;IAG/C,WAAW;IAIX,oBAAoB;IAIpB,qBAAqB;IAIrB,eAAe;IAIf,uBAAuB;IAIvB,sBAAsB;IAItB,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;CA4DlG"}
@@ -6,6 +6,7 @@ const schema_1 = require("@contember/schema");
6
6
  const schema_2 = require("../../schema");
7
7
  const schema_utils_1 = require("@contember/schema-utils");
8
8
  const utils_1 = require("../../utils");
9
+ const HasManyToHasOneReducer_1 = require("./HasManyToHasOneReducer");
9
10
  class HasManyToHasOneRelationReducerFieldVisitor {
10
11
  constructor(schema, authorizator, entityTypeProvider, whereTypeProvider) {
11
12
  this.schema = schema;
@@ -14,26 +15,26 @@ class HasManyToHasOneRelationReducerFieldVisitor {
14
15
  this.whereTypeProvider = whereTypeProvider;
15
16
  }
16
17
  visitColumn() {
17
- return {};
18
+ return [];
18
19
  }
19
20
  visitOneHasOneOwning() {
20
- return {};
21
+ return [];
21
22
  }
22
23
  visitOneHasOneInverse() {
23
- return {};
24
+ return [];
24
25
  }
25
26
  visitManyHasOne() {
26
- return {};
27
+ return [];
27
28
  }
28
29
  visitManyHasManyInverse() {
29
- return {};
30
+ return [];
30
31
  }
31
32
  visitManyHasManyOwning() {
32
- return {};
33
+ return [];
33
34
  }
34
35
  visitOneHasMany({ entity, targetEntity, targetRelation, relation }) {
35
36
  if (!targetRelation) {
36
- return {};
37
+ return [];
37
38
  }
38
39
  const uniqueConstraints = (0, utils_1.getFieldsForUniqueWhere)(this.schema, targetEntity);
39
40
  const composedUnique = uniqueConstraints
@@ -45,9 +46,14 @@ class HasManyToHasOneRelationReducerFieldVisitor {
45
46
  .filter(fields => fields.length === 1 && fields[0] !== targetEntity.primary)
46
47
  .map(fields => fields[0])
47
48
  .filter(it => it !== targetRelation.name);
49
+ const existing = new Set();
48
50
  return [...composedUnique, ...singleUnique]
49
51
  .filter(field => (0, schema_utils_1.acceptFieldVisitor)(this.schema, targetEntity.name, field, new schema_2.FieldAccessVisitor(schema_1.Acl.Operation.read, this.authorizator)))
50
- .reduce((fields, fieldName) => {
52
+ .map(fieldName => {
53
+ if (existing.has(fieldName)) {
54
+ return null;
55
+ }
56
+ existing.add(fieldName);
51
57
  const graphQlName = relation.name + (0, schema_2.GqlTypeName) `By${fieldName}`;
52
58
  const uniqueWhere = new graphql_1.GraphQLInputObjectType({
53
59
  //todo this can be simplified to ${targetEntity.name}By${fieldName}, but singleton must be used
@@ -57,12 +63,13 @@ class HasManyToHasOneRelationReducerFieldVisitor {
57
63
  },
58
64
  });
59
65
  const entityType = this.entityTypeProvider.getEntity(targetEntity.name);
60
- return {
61
- ...fields,
62
- [graphQlName]: {
66
+ return [
67
+ graphQlName,
68
+ {
63
69
  type: entityType,
64
70
  extensions: {
65
71
  relationName: relation.name,
72
+ extensionKey: HasManyToHasOneReducer_1.HasManyToHasOneReducer.extensionName,
66
73
  },
67
74
  args: {
68
75
  by: { type: new graphql_1.GraphQLNonNull(uniqueWhere) },
@@ -70,8 +77,9 @@ class HasManyToHasOneRelationReducerFieldVisitor {
70
77
  },
71
78
  resolve: schema_2.aliasAwareResolver,
72
79
  },
73
- };
74
- }, {});
80
+ ];
81
+ })
82
+ .filter((it) => it !== null);
75
83
  }
76
84
  }
77
85
  exports.HasManyToHasOneRelationReducerFieldVisitor = HasManyToHasOneRelationReducerFieldVisitor;
@@ -1 +1 @@
1
- {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.js","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAAgE;AAChE,8CAA8C;AAC9C,yCAMqB;AACrB,0DAA4D;AAE5D,uCAAqD;AAIrD,MAAa,0CAA0C;IAItD,YACkB,MAAoB,EACpB,YAA0B,EAC1B,kBAAsC,EACtC,iBAAoC;QAHpC,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEG,WAAW;QACjB,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,oBAAoB;QAC1B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,qBAAqB;QAC3B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,eAAe;QACrB,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,uBAAuB;QAC7B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,sBAAsB;QAC5B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAA2B;QACjG,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,EAAE,CAAA;SACT;QACD,MAAM,iBAAiB,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC5E,MAAM,cAAc,GAAG,iBAAiB;aACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,0BAA0B;aAChE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;aAC9D,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,YAAY,GAAG,iBAAiB;aACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC;aAC3E,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACxB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAA;QAE1C,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC;aACzC,MAAM,CAAC,KAAK,CAAC,EAAE,CACf,IAAA,iCAAkB,EACjB,IAAI,CAAC,MAAM,EACX,YAAY,CAAC,IAAI,EACjB,KAAK,EACL,IAAI,2BAAkB,CAAC,YAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAC7D,CACD;aACA,MAAM,CAA4C,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE;YACxE,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAA,oBAAW,EAAA,KAAK,SAAS,EAAE,CAAA;YAC/D,MAAM,WAAW,GAA2B,IAAI,gCAAsB,CAAC;gBACtE,+FAA+F;gBAC/F,IAAI,EAAE,IAAA,oBAAW,EAAA,GAAG,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,aAAa;gBAC1E,MAAM,EAAE,GAAG,EAAE;oBACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAChF,CAAC;aACD,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAEvE,OAAO;gBACN,GAAG,MAAM;gBACT,CAAC,WAAW,CAAC,EAAE;oBACd,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE;wBACX,YAAY,EAAE,QAAQ,CAAC,IAAI;qBAC3B;oBACD,IAAI,EAAE;wBACL,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,wBAAc,CAAC,WAAW,CAAC,EAAE;wBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;qBAC9E;oBACD,OAAO,EAAE,2BAAkB;iBAC3B;aACD,CAAA;QACF,CAAC,EAAE,EAAE,CAAC,CAAA;IACR,CAAC;CACD;AAvFD,gGAuFC"}
1
+ {"version":3,"file":"HasManyToHasOneRelationReducerVisitor.js","sourceRoot":"","sources":["../../../../src/extensions/hasManyToHasOneReducer/HasManyToHasOneRelationReducerVisitor.ts"],"names":[],"mappings":";;;AAAA,qCAAgE;AAChE,8CAA8C;AAC9C,yCAAyH;AACzH,0DAA4D;AAE5D,uCAAqD;AACrD,qEAAkG;AAUlG,MAAa,0CAA0C;IAItD,YACkB,MAAoB,EACpB,YAA0B,EAC1B,kBAAsC,EACtC,iBAAoC;QAHpC,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAC1B,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,sBAAiB,GAAjB,iBAAiB,CAAmB;IACnD,CAAC;IAEG,WAAW;QACjB,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,oBAAoB;QAC1B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,qBAAqB;QAC3B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,eAAe;QACrB,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,uBAAuB;QAC7B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,sBAAsB;QAC5B,OAAO,EAAE,CAAA;IACV,CAAC;IAEM,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAA2B;QACjG,IAAI,CAAC,cAAc,EAAE;YACpB,OAAO,EAAE,CAAA;SACT;QACD,MAAM,iBAAiB,GAAG,IAAA,+BAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;QAC5E,MAAM,cAAc,GAAG,iBAAiB;aACtC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,0BAA0B;aAChE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACtD,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAC;aAC9D,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,MAAM,YAAY,GAAG,iBAAiB;aACpC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,OAAO,CAAC;aAC3E,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACxB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,cAAc,CAAC,IAAI,CAAC,CAAA;QAG1C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAClC,OAAO,CAAC,GAAG,cAAc,EAAE,GAAG,YAAY,CAAC;aACzC,MAAM,CAAC,KAAK,CAAC,EAAE,CACf,IAAA,iCAAkB,EACjB,IAAI,CAAC,MAAM,EACX,YAAY,CAAC,IAAI,EACjB,KAAK,EACL,IAAI,2BAAkB,CAAC,YAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAC7D,CACD;aACA,GAAG,CAAgB,SAAS,CAAC,EAAE;YAC/B,IAAI,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;gBAC5B,OAAO,IAAI,CAAA;aACX;YACD,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;YACvB,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,GAAG,IAAA,oBAAW,EAAA,KAAK,SAAS,EAAE,CAAA;YAC/D,MAAM,WAAW,GAA2B,IAAI,gCAAsB,CAAC;gBACtE,+FAA+F;gBAC/F,IAAI,EAAE,IAAA,oBAAW,EAAA,GAAG,MAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,KAAK,SAAS,aAAa;gBAC1E,MAAM,EAAE,GAAG,EAAE;oBACZ,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;gBAChF,CAAC;aACD,CAAC,CAAA;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;YAEvE,OAAO;gBACN,WAAW;gBACX;oBACC,IAAI,EAAE,UAAU;oBAChB,UAAU,EAAE;wBACX,YAAY,EAAE,QAAQ,CAAC,IAAI;wBAC3B,YAAY,EAAE,+CAAsB,CAAC,aAAa;qBAClD;oBACD,IAAI,EAAE;wBACL,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,wBAAc,CAAC,WAAW,CAAC,EAAE;wBAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;qBAC9E;oBACD,OAAO,EAAE,2BAAkB;iBAC3B;aACD,CAAA;QACF,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;IAC5C,CAAC;CACD;AA/FD,gGA+FC"}
@@ -6,7 +6,7 @@ export declare class PaginatedHasManyFieldProvider implements EntityFieldsProvid
6
6
  private readonly visitor;
7
7
  static extensionName: string;
8
8
  constructor(schema: Model.Schema, visitor: PaginatedHasManyFieldProviderVisitor);
9
- getFields(entity: Model.Entity, fields: string[]): FieldMap<PaginatedHasManyFieldProviderExtension>;
9
+ getFields(entity: Model.Entity, accessibleFields: Model.AnyField[]): FieldMap<PaginatedHasManyFieldProviderExtension>;
10
10
  }
11
11
  export interface PaginatedHasManyFieldProviderExtension {
12
12
  relationName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProvider.d.ts","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAE7F,qBAAa,6BAA8B,YAAW,oBAAoB,CAAC,sCAAsC,CAAC;IAGrG,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF3E,MAAM,CAAC,aAAa,EAAE,MAAM,CAAqB;gBAEpB,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,OAAO,EAAE,oCAAoC;IAEjH,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC,sCAAsC,CAAC;CAMnG;AAED,MAAM,WAAW,sCAAsC;IACtD,YAAY,EAAE,MAAM,CAAA;CACpB"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProvider.d.ts","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAExE,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,oCAAoC,EAAE,MAAM,wCAAwC,CAAA;AAE7F,qBAAa,6BAA8B,YAAW,oBAAoB,CAAC,sCAAsC,CAAC;IAGrG,OAAO,CAAC,QAAQ,CAAC,MAAM;IAAgB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAF3E,MAAM,CAAC,aAAa,EAAE,MAAM,CAAqB;gBAEpB,MAAM,EAAE,KAAK,CAAC,MAAM,EAAmB,OAAO,EAAE,oCAAoC;IAEjH,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC,sCAAsC,CAAC;CASrH;AAED,MAAM,WAAW,sCAAsC;IACtD,YAAY,EAAE,MAAM,CAAA;CACpB"}
@@ -7,8 +7,14 @@ class PaginatedHasManyFieldProvider {
7
7
  this.schema = schema;
8
8
  this.visitor = visitor;
9
9
  }
10
- getFields(entity, fields) {
11
- return fields.reduce((result, field) => ({ ...result, ...(0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field, this.visitor) }), {});
10
+ getFields(entity, accessibleFields) {
11
+ const fields = {};
12
+ for (const field of accessibleFields) {
13
+ for (const [name, fieldConfig] of (0, schema_utils_1.acceptFieldVisitor)(this.schema, entity, field, this.visitor)) {
14
+ fields[name] = fieldConfig;
15
+ }
16
+ }
17
+ return fields;
12
18
  }
13
19
  }
14
20
  exports.PaginatedHasManyFieldProvider = PaginatedHasManyFieldProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProvider.js","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"names":[],"mappings":";;;AACA,0DAA4D;AAI5D,MAAa,6BAA6B;IAGzC,YAA6B,MAAoB,EAAmB,OAA6C;QAApF,WAAM,GAAN,MAAM,CAAc;QAAmB,YAAO,GAAP,OAAO,CAAsC;IAAG,CAAC;IAErH,SAAS,CAAC,MAAoB,EAAE,MAAgB;QAC/C,OAAO,MAAM,CAAC,MAAM,CACnB,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,EACnG,EAAE,CACF,CAAA;IACF,CAAC;;AAVF,sEAWC;AAVO,2CAAa,GAAW,kBAAkB,CAAA"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProvider.js","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProvider.ts"],"names":[],"mappings":";;;AACA,0DAA4D;AAI5D,MAAa,6BAA6B;IAGzC,YAA6B,MAAoB,EAAmB,OAA6C;QAApF,WAAM,GAAN,MAAM,CAAc;QAAmB,YAAO,GAAP,OAAO,CAAsC;IAAG,CAAC;IAErH,SAAS,CAAC,MAAoB,EAAE,gBAAkC;QACjE,MAAM,MAAM,GAAqD,EAAE,CAAA;QACnE,KAAK,MAAM,KAAK,IAAI,gBAAgB,EAAE;YACrC,KAAK,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,IAAI,IAAA,iCAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;gBAC/F,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAA;aAC1B;SACD;QACD,OAAO,MAAM,CAAA;IACd,CAAC;;AAbF,sEAcC;AAbO,2CAAa,GAAW,kBAAkB,CAAA"}
@@ -1,17 +1,24 @@
1
1
  import { Model } from '@contember/schema';
2
- import { FieldMap } from '../EntityFieldsProvider';
3
2
  import { PaginatedHasManyFieldProviderExtension } from './PaginatedHasManyFieldProvider';
4
3
  import { PaginatedFieldConfigFactory } from '../../schema/PaginatedFieldConfigFactory';
5
- export declare class PaginatedHasManyFieldProviderVisitor implements Model.ColumnVisitor<FieldMap<PaginatedHasManyFieldProviderExtension>>, Model.RelationByTypeVisitor<FieldMap<PaginatedHasManyFieldProviderExtension>> {
4
+ import { GraphQLFieldConfig } from 'graphql';
5
+ type Result = [
6
+ string,
7
+ GraphQLFieldConfig<any, any> & {
8
+ extensions: PaginatedHasManyFieldProviderExtension;
9
+ }
10
+ ];
11
+ export declare class PaginatedHasManyFieldProviderVisitor implements Model.ColumnVisitor<Result[]>, Model.RelationByTypeVisitor<Result[]> {
6
12
  private readonly paginatedFieldFactory;
7
13
  constructor(paginatedFieldFactory: PaginatedFieldConfigFactory);
8
- visitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext): FieldMap<PaginatedHasManyFieldProviderExtension>;
9
- visitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext): FieldMap<PaginatedHasManyFieldProviderExtension>;
10
- visitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext): FieldMap<PaginatedHasManyFieldProviderExtension>;
14
+ visitOneHasMany({ targetEntity, relation }: Model.OneHasManyContext): Result[];
15
+ visitManyHasManyOwning({ targetEntity, relation }: Model.ManyHasManyOwningContext): Result[];
16
+ visitManyHasManyInverse({ targetEntity, relation }: Model.ManyHasManyInverseContext): Result[];
11
17
  private createField;
12
- visitColumn(): {};
13
- visitManyHasOne(): {};
14
- visitOneHasOneInverse(): {};
15
- visitOneHasOneOwning(): {};
18
+ visitColumn(): never[];
19
+ visitManyHasOne(): never[];
20
+ visitOneHasOneInverse(): never[];
21
+ visitOneHasOneOwning(): never[];
16
22
  }
23
+ export {};
17
24
  //# sourceMappingURL=PaginatedHasManyFieldProviderVisitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.d.ts","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,sCAAsC,EAAE,MAAM,iCAAiC,CAAA;AAExF,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAA;AAGtF,qBAAa,oCAAqC,YACjD,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC,EACrE,KAAK,CAAC,qBAAqB,CAAC,QAAQ,CAAC,sCAAsC,CAAC,CAAC;IAEjE,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,2BAA2B;IAE/E,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAInE,sBAAsB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIjF,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAInF,OAAO,CAAC,WAAW;IAYnB,WAAW;IAIX,eAAe;IAIf,qBAAqB;IAIrB,oBAAoB;CAGpB"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.d.ts","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAiC,sCAAsC,EAAE,MAAM,iCAAiC,CAAA;AAEvH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAA;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAE5C,KAAK,MAAM,GAAG;IACb,MAAM;IACN,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;QAC9B,UAAU,EAAE,sCAAsC,CAAA;KAClD;CACD,CAAA;AAED,qBAAa,oCAAqC,YACjD,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,EAC7B,KAAK,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;IAEzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAArB,qBAAqB,EAAE,2BAA2B;IAE/E,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,iBAAiB;IAInE,sBAAsB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,wBAAwB;IAIjF,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,yBAAyB;IAInF,OAAO,CAAC,WAAW;IAgBnB,WAAW;IAIX,eAAe;IAIf,qBAAqB;IAIrB,oBAAoB;CAGpB"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PaginatedHasManyFieldProviderVisitor = void 0;
4
+ const PaginatedHasManyFieldProvider_1 = require("./PaginatedHasManyFieldProvider");
4
5
  const utils_1 = require("../../utils");
5
6
  const schema_1 = require("../../schema");
6
7
  class PaginatedHasManyFieldProviderVisitor {
@@ -17,27 +18,31 @@ class PaginatedHasManyFieldProviderVisitor {
17
18
  return this.createField(targetEntity, relation);
18
19
  }
19
20
  createField(entity, relation) {
20
- return {
21
- [`paginate${(0, utils_1.capitalizeFirstLetter)(relation.name)}`]: {
22
- ...this.paginatedFieldFactory.createFieldConfig(entity),
23
- extensions: {
24
- relationName: relation.name,
21
+ return [
22
+ [
23
+ `paginate${(0, utils_1.capitalizeFirstLetter)(relation.name)}`,
24
+ {
25
+ ...this.paginatedFieldFactory.createFieldConfig(entity),
26
+ extensions: {
27
+ relationName: relation.name,
28
+ extensionKey: PaginatedHasManyFieldProvider_1.PaginatedHasManyFieldProvider.extensionName,
29
+ },
30
+ resolve: schema_1.aliasAwareResolver,
25
31
  },
26
- resolve: schema_1.aliasAwareResolver,
27
- },
28
- };
32
+ ],
33
+ ];
29
34
  }
30
35
  visitColumn() {
31
- return {};
36
+ return [];
32
37
  }
33
38
  visitManyHasOne() {
34
- return {};
39
+ return [];
35
40
  }
36
41
  visitOneHasOneInverse() {
37
- return {};
42
+ return [];
38
43
  }
39
44
  visitOneHasOneOwning() {
40
- return {};
45
+ return [];
41
46
  }
42
47
  }
43
48
  exports.PaginatedHasManyFieldProviderVisitor = PaginatedHasManyFieldProviderVisitor;
@@ -1 +1 @@
1
- {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.js","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"names":[],"mappings":";;;AAGA,uCAAmD;AAEnD,yCAAiD;AAEjD,MAAa,oCAAoC;IAIhD,YAA6B,qBAAkD;QAAlD,0BAAqB,GAArB,qBAAqB,CAA6B;IAAG,CAAC;IAEnF,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAA2B;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,sBAAsB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAkC;QAChF,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAmC;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAEO,WAAW,CAAC,MAAoB,EAAE,QAAwB;QACjE,OAAO;YACN,CAAC,WAAW,IAAA,6BAAqB,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBACpD,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC;gBACvD,UAAU,EAAE;oBACX,YAAY,EAAE,QAAQ,CAAC,IAAI;iBAC3B;gBACD,OAAO,EAAE,2BAAkB;aAC3B;SACD,CAAA;IACF,CAAC;IAED,WAAW;QACV,OAAO,EAAE,CAAA;IACV,CAAC;IAED,eAAe;QACd,OAAO,EAAE,CAAA;IACV,CAAC;IAED,qBAAqB;QACpB,OAAO,EAAE,CAAA;IACV,CAAC;IAED,oBAAoB;QACnB,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AA7CD,oFA6CC"}
1
+ {"version":3,"file":"PaginatedHasManyFieldProviderVisitor.js","sourceRoot":"","sources":["../../../../src/extensions/paginatedHasMany/PaginatedHasManyFieldProviderVisitor.ts"],"names":[],"mappings":";;;AACA,mFAAuH;AACvH,uCAAmD;AAEnD,yCAAiD;AAUjD,MAAa,oCAAoC;IAIhD,YAA6B,qBAAkD;QAAlD,0BAAqB,GAArB,qBAAqB,CAA6B;IAAG,CAAC;IAEnF,eAAe,CAAC,EAAE,YAAY,EAAE,QAAQ,EAA2B;QAClE,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,sBAAsB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAkC;QAChF,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAED,uBAAuB,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAmC;QAClF,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAA;IAChD,CAAC;IAEO,WAAW,CAAC,MAAoB,EAAE,QAAwB;QACjE,OAAO;YACN;gBACC,WAAW,IAAA,6BAAqB,EAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACjD;oBACC,GAAG,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,MAAM,CAAC;oBACvD,UAAU,EAAE;wBACX,YAAY,EAAE,QAAQ,CAAC,IAAI;wBAC3B,YAAY,EAAE,6DAA6B,CAAC,aAAa;qBACzD;oBACD,OAAO,EAAE,2BAAkB;iBAC3B;aACD;SACD,CAAA;IACF,CAAC;IAED,WAAW;QACV,OAAO,EAAE,CAAA;IACV,CAAC;IAED,eAAe;QACd,OAAO,EAAE,CAAA;IACV,CAAC;IAED,qBAAqB;QACpB,OAAO,EAAE,CAAA;IACV,CAAC;IAED,oBAAoB;QACnB,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AAjDD,oFAiDC"}
@@ -1,8 +1,11 @@
1
- import { IExecutableSchemaDefinition } from '@graphql-tools/schema';
2
1
  import { IntrospectionSchemaFactory } from './IntrospectionSchemaFactory';
2
+ import { GraphQLSchema, GraphQLSchemaConfig } from 'graphql';
3
+ declare const _default: GraphQLSchema;
4
+ export default _default;
3
5
  export declare class IntrospectionSchemaDefinitionFactory {
4
6
  private readonly introspectionSchemaFactory;
5
7
  constructor(introspectionSchemaFactory: IntrospectionSchemaFactory);
6
- create(): IExecutableSchemaDefinition;
8
+ create(): GraphQLSchema;
9
+ createConfig(): GraphQLSchemaConfig;
7
10
  }
8
11
  //# sourceMappingURL=IntrospectionSchemaDefinitionFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IntrospectionSchemaDefinitionFactory.d.ts","sourceRoot":"","sources":["../../../src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAA;AAGnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAEzE,qBAAa,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAA1B,0BAA0B,EAAE,0BAA0B;IAE5E,MAAM,IAAI,2BAA2B;CAY5C"}
1
+ {"version":3,"file":"IntrospectionSchemaDefinitionFactory.d.ts","sourceRoot":"","sources":["../../../src/introspection/IntrospectionSchemaDefinitionFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAA;AAGzE,OAAO,EASN,aAAa,EACb,mBAAmB,EAGnB,MAAM,SAAS,CAAA;;AAkLhB,wBAAsD;AAEtD,qBAAa,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,0BAA0B;gBAA1B,0BAA0B,EAAE,0BAA0B;IAE5E,MAAM,IAAI,aAAa;IAIvB,YAAY,IAAI,mBAAmB;CAK1C"}