@contember/client 1.0.0-rc.9 → 1.0.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 (93) hide show
  1. package/dist/development/content/formatContentApiRelativeUrl.js +0 -1
  2. package/dist/development/content/formatContentApiRelativeUrl.js.map +1 -1
  3. package/dist/development/content/params/whereToFilter.js +1 -3
  4. package/dist/development/content/params/whereToFilter.js.map +1 -1
  5. package/dist/development/content/upload/FileUploadError.js +0 -1
  6. package/dist/development/content/upload/FileUploadError.js.map +1 -1
  7. package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js +13 -8
  8. package/dist/development/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
  9. package/dist/development/content/upload/S3FileUploader.js +13 -9
  10. package/dist/development/content/upload/S3FileUploader.js.map +1 -1
  11. package/dist/development/crudQueryBuilder/CrudQueryBuilder.js +7 -9
  12. package/dist/development/crudQueryBuilder/CrudQueryBuilder.js.map +1 -1
  13. package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js +0 -1
  14. package/dist/development/crudQueryBuilder/CrudQueryBuilderError.js.map +1 -1
  15. package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js +0 -1
  16. package/dist/development/crudQueryBuilder/ErrorsRelationBuilder.js.map +1 -1
  17. package/dist/development/crudQueryBuilder/ReadBuilder.js +1 -3
  18. package/dist/development/crudQueryBuilder/ReadBuilder.js.map +1 -1
  19. package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js +0 -1
  20. package/dist/development/crudQueryBuilder/ValidationRelationBuilder.js.map +1 -1
  21. package/dist/development/crudQueryBuilder/WriteBuilder.js +5 -7
  22. package/dist/development/crudQueryBuilder/WriteBuilder.js.map +1 -1
  23. package/dist/development/crudQueryBuilder/WriteDataBuilder.js +12 -8
  24. package/dist/development/crudQueryBuilder/WriteDataBuilder.js.map +1 -1
  25. package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js +1 -3
  26. package/dist/development/crudQueryBuilder/WriteManyRelationBuilder.js.map +1 -1
  27. package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js +1 -3
  28. package/dist/development/crudQueryBuilder/WriteOneRelationBuilder.js.map +1 -1
  29. package/dist/development/crudQueryBuilder/index.js +7 -7
  30. package/dist/development/crudQueryBuilder/index.js.map +1 -1
  31. package/dist/development/crudQueryBuilder/types.js +18 -4
  32. package/dist/development/crudQueryBuilder/types.js.map +1 -1
  33. package/dist/development/graphQlBuilder/GraphQlBuilderError.js +0 -1
  34. package/dist/development/graphQlBuilder/GraphQlBuilderError.js.map +1 -1
  35. package/dist/development/graphQlBuilder/GraphQlLiteral.js +0 -1
  36. package/dist/development/graphQlBuilder/GraphQlLiteral.js.map +1 -1
  37. package/dist/development/graphQlBuilder/ObjectBuilder.js +0 -1
  38. package/dist/development/graphQlBuilder/ObjectBuilder.js.map +1 -1
  39. package/dist/development/graphQlBuilder/QueryBuilder.js +2 -4
  40. package/dist/development/graphQlBuilder/QueryBuilder.js.map +1 -1
  41. package/dist/development/graphQlBuilder/QueryCompiler.js +1 -3
  42. package/dist/development/graphQlBuilder/QueryCompiler.js.map +1 -1
  43. package/dist/development/graphQlBuilder/RootObjectBuilder.js +3 -5
  44. package/dist/development/graphQlBuilder/RootObjectBuilder.js.map +1 -1
  45. package/dist/development/graphQlBuilder/index.js +5 -5
  46. package/dist/development/graphQlBuilder/index.js.map +1 -1
  47. package/dist/development/graphQlClient/GraphQlClient.js +0 -1
  48. package/dist/development/graphQlClient/GraphQlClient.js.map +1 -1
  49. package/dist/development/index.js +13 -13
  50. package/dist/development/index.js.map +1 -1
  51. package/dist/development/system/formatSystemApiRelativeUrl.js +0 -1
  52. package/dist/development/system/formatSystemApiRelativeUrl.js.map +1 -1
  53. package/dist/development/tenant/loginMutation.js +0 -1
  54. package/dist/development/tenant/loginMutation.js.map +1 -1
  55. package/dist/development/tenant/tenantApiRelativeUrl.js +0 -1
  56. package/dist/development/tenant/tenantApiRelativeUrl.js.map +1 -1
  57. package/dist/development/tenant/tenantErrorMessages.js +0 -1
  58. package/dist/development/tenant/tenantErrorMessages.js.map +1 -1
  59. package/dist/development/utils/isEmptyObject.js +0 -1
  60. package/dist/development/utils/isEmptyObject.js.map +1 -1
  61. package/dist/development/utils/readFileAsArrayBuffer.js +0 -1
  62. package/dist/development/utils/readFileAsArrayBuffer.js.map +1 -1
  63. package/dist/production/content/formatContentApiRelativeUrl.js.map +1 -1
  64. package/dist/production/content/params/whereToFilter.js.map +1 -1
  65. package/dist/production/content/upload/FileUploadError.js.map +1 -1
  66. package/dist/production/content/upload/GenerateUploadUrlMutationBuilder.js.map +1 -1
  67. package/dist/production/content/upload/S3FileUploader.js.map +1 -1
  68. package/dist/production/crudQueryBuilder/CrudQueryBuilder.js.map +1 -1
  69. package/dist/production/crudQueryBuilder/CrudQueryBuilderError.js.map +1 -1
  70. package/dist/production/crudQueryBuilder/ErrorsRelationBuilder.js.map +1 -1
  71. package/dist/production/crudQueryBuilder/ReadBuilder.js.map +1 -1
  72. package/dist/production/crudQueryBuilder/ValidationRelationBuilder.js.map +1 -1
  73. package/dist/production/crudQueryBuilder/WriteBuilder.js.map +1 -1
  74. package/dist/production/crudQueryBuilder/WriteDataBuilder.js.map +1 -1
  75. package/dist/production/crudQueryBuilder/WriteManyRelationBuilder.js.map +1 -1
  76. package/dist/production/crudQueryBuilder/WriteOneRelationBuilder.js.map +1 -1
  77. package/dist/production/crudQueryBuilder/types.js.map +1 -1
  78. package/dist/production/graphQlBuilder/GraphQlBuilderError.js.map +1 -1
  79. package/dist/production/graphQlBuilder/GraphQlLiteral.js.map +1 -1
  80. package/dist/production/graphQlBuilder/ObjectBuilder.js.map +1 -1
  81. package/dist/production/graphQlBuilder/QueryBuilder.js.map +1 -1
  82. package/dist/production/graphQlBuilder/QueryCompiler.js.map +1 -1
  83. package/dist/production/graphQlBuilder/RootObjectBuilder.js.map +1 -1
  84. package/dist/production/graphQlClient/GraphQlClient.js.map +1 -1
  85. package/dist/production/system/formatSystemApiRelativeUrl.js.map +1 -1
  86. package/dist/production/tenant/loginMutation.js.map +1 -1
  87. package/dist/production/tenant/tenantApiRelativeUrl.js.map +1 -1
  88. package/dist/production/tenant/tenantErrorMessages.js.map +1 -1
  89. package/dist/production/utils/isEmptyObject.js.map +1 -1
  90. package/dist/production/utils/readFileAsArrayBuffer.js.map +1 -1
  91. package/dist/types/tsconfig.tsbuildinfo +1 -1
  92. package/package.json +5 -4
  93. package/src/tsconfig.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ReadBuilder.js","sources":["../../../src/crudQueryBuilder/ReadBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport type { HasManyArguments, HasOneArguments, OrderDirection, ReadArguments, ReductionArguments } from './types'\n\nclass ReadBuilder<AllowedArgs extends ReadArguments = ReadArguments> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AllowedArgs extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AllowedArgs> {\n\t\treturn new ReadBuilder<AllowedArgs>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<AllowedArgs extends ReadArguments>(\n\t\tbuilder: ReadBuilder.BuilderFactory<AllowedArgs>,\n\t): ReadBuilder.Builder<never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(ReadBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tprotected instantiate<AA extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AA> {\n\t\treturn ReadBuilder.instantiate<AA>(objectBuilder)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'by'>>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic filter(where: Input.Where<Input.Condition<Input.ColumnValue<GraphQlLiteral>>>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'filter'>>(this.objectBuilder.argument('filter', where))\n\t}\n\n\tpublic orderBy(orderBy: Input.OrderBy<OrderDirection>[]) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'orderBy'>>(this.objectBuilder.argument('orderBy', orderBy))\n\t}\n\n\tpublic offset(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'offset'>>(this.objectBuilder.argument('offset', offset))\n\t}\n\n\tpublic limit(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'limit'>>(this.objectBuilder.argument('limit', limit))\n\t}\n\n\tpublic skip(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'skip'>>(this.objectBuilder.argument('skip', offset))\n\t}\n\n\tpublic first(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'first'>>(this.objectBuilder.argument('first', limit))\n\t}\n\n\tpublic column(name: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.field(name))\n\t}\n\n\tpublic inlineFragment(typeName: string, builder: ReadBuilder.BuilderFactory<never>) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.inlineFragment(typeName, builder.objectBuilder))\n\t}\n\n\tpublic applyFragment(fragmentName: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.applyFragment(fragmentName))\n\t}\n\n\tpublic reductionRelation(name: string, builder: ReadBuilder.BuilderFactory<ReductionArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasOneRelation(name: string, builder: ReadBuilder.BuilderFactory<HasOneArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasManyRelation(name: string, builder: ReadBuilder.BuilderFactory<HasManyArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic anyRelation(name: string, builder: ReadBuilder.BuilderFactory<never>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tprotected relation<A extends ReadArguments>(name: string, builder: ReadBuilder.BuilderFactory<A>, alias?: string) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, builder.objectBuilder.name(name)] : [name, builder.objectBuilder]\n\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.object(objectName, objectBuilder))\n\t}\n}\n\nnamespace ReadBuilder {\n\texport type Builder<AllowedArgs extends ReadArguments> = Omit<\n\t\tReadBuilder<AllowedArgs>,\n\t\tExclude<ReadArguments, AllowedArgs>\n\t>\n\texport type BuilderFactory<AllowedArgs extends ReadArguments> =\n\t\t| Builder<never>\n\t\t| ((builder: Builder<AllowedArgs>) => Builder<never>)\n}\n\nexport { ReadBuilder }\n"],"names":[],"mappings":";AAIA,kBAAqE;AAAA,EAC1D,YAA4B,gBAA+B,IAAI,iBAAiB;;;SAE5E,YACb,gBAA+B,IAAI,iBACA;WAC5B,IAAI,YAAyB;AAAA;AAAA,SAGvB,uBACb,SAC6B;QACzB,OAAO,YAAY,YAAY;aAC3B,QAAQ,YAAY;AAAA;WAErB;AAAA;AAAA,EAGE,YACT,gBAA+B,IAAI,iBACT;WACnB,YAAY,YAAgB;AAAA;AAAA,EAG7B,GAAG,IAAuC;WACzC,KAAK,YAAwC,KAAK,cAAc,SAAS,MAAM;AAAA;AAAA,EAGhF,OAAO,OAAwE;WAC9E,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU;AAAA;AAAA,EAGxF,QAAQ,SAA0C;WACjD,KAAK,YAA6C,KAAK,cAAc,SAAS,WAAW;AAAA;AAAA,EAG1F,OAAO,QAAgB;WACtB,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU;AAAA;AAAA,EAGxF,MAAM,OAAe;WACpB,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS;AAAA;AAAA,EAGtF,KAAK,QAAgB;WACpB,KAAK,YAA0C,KAAK,cAAc,SAAS,QAAQ;AAAA;AAAA,EAGpF,MAAM,OAAe;WACpB,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS;AAAA;AAAA,EAGtF,OAAO,MAAc;WACpB,KAAK,YAAyB,KAAK,cAAc,MAAM;AAAA;AAAA,EAGxD,eAAe,UAAkB,SAA4C;cACzE,YAAY,uBAAuB;WACtC,KAAK,YAAyB,KAAK,cAAc,eAAe,UAAU,QAAQ;AAAA;AAAA,EAGnF,cAAc,cAAsB;WACnC,KAAK,YAAyB,KAAK,cAAc,cAAc;AAAA;AAAA,EAGhE,kBAAkB,MAAc,SAAyD,OAAgB;WACxG,KAAK,SAAS,MAAM,SAAS;AAAA;AAAA,EAG9B,eAAe,MAAc,SAAsD,OAAgB;WAClG,KAAK,SAAS,MAAM,SAAS;AAAA;AAAA,EAG9B,gBAAgB,MAAc,SAAuD,OAAgB;WACpG,KAAK,SAAS,MAAM,SAAS;AAAA;AAAA,EAG9B,YAAY,MAAc,SAA4C,OAAgB;WACrF,KAAK,SAAS,MAAM,SAAS;AAAA;AAAA,EAG3B,SAAkC,MAAc,SAAwC,OAAgB;cACvG,YAAY,uBAAuB;UAEvC,CAAC,YAAY,iBAClB,OAAO,UAAU,WAAW,CAAC,OAAO,QAAQ,cAAc,KAAK,SAAS,CAAC,MAAM,QAAQ;WAEjF,KAAK,YAAyB,KAAK,cAAc,OAAO,YAAY;AAAA;AAAA;;"}
1
+ {"version":3,"file":"ReadBuilder.js","sources":["../../../src/crudQueryBuilder/ReadBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport type { HasManyArguments, HasOneArguments, OrderDirection, ReadArguments, ReductionArguments } from './types'\n\nclass ReadBuilder<AllowedArgs extends ReadArguments = ReadArguments> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AllowedArgs extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AllowedArgs> {\n\t\treturn new ReadBuilder<AllowedArgs>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<AllowedArgs extends ReadArguments>(\n\t\tbuilder: ReadBuilder.BuilderFactory<AllowedArgs>,\n\t): ReadBuilder.Builder<never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(ReadBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tprotected instantiate<AA extends ReadArguments = ReadArguments>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): ReadBuilder.Builder<AA> {\n\t\treturn ReadBuilder.instantiate<AA>(objectBuilder)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'by'>>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic filter(where: Input.Where<Input.Condition<Input.ColumnValue<GraphQlLiteral>>>) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'filter'>>(this.objectBuilder.argument('filter', where))\n\t}\n\n\tpublic orderBy(orderBy: Input.OrderBy<OrderDirection>[]) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'orderBy'>>(this.objectBuilder.argument('orderBy', orderBy))\n\t}\n\n\tpublic offset(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'offset'>>(this.objectBuilder.argument('offset', offset))\n\t}\n\n\tpublic limit(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'limit'>>(this.objectBuilder.argument('limit', limit))\n\t}\n\n\tpublic skip(offset: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'skip'>>(this.objectBuilder.argument('skip', offset))\n\t}\n\n\tpublic first(limit: number) {\n\t\treturn this.instantiate<Exclude<AllowedArgs, 'first'>>(this.objectBuilder.argument('first', limit))\n\t}\n\n\tpublic column(name: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.field(name))\n\t}\n\n\tpublic inlineFragment(typeName: string, builder: ReadBuilder.BuilderFactory<never>) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.inlineFragment(typeName, builder.objectBuilder))\n\t}\n\n\tpublic applyFragment(fragmentName: string) {\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.applyFragment(fragmentName))\n\t}\n\n\tpublic reductionRelation(name: string, builder: ReadBuilder.BuilderFactory<ReductionArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasOneRelation(name: string, builder: ReadBuilder.BuilderFactory<HasOneArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic hasManyRelation(name: string, builder: ReadBuilder.BuilderFactory<HasManyArguments>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tpublic anyRelation(name: string, builder: ReadBuilder.BuilderFactory<never>, alias?: string) {\n\t\treturn this.relation(name, builder, alias)\n\t}\n\n\tprotected relation<A extends ReadArguments>(name: string, builder: ReadBuilder.BuilderFactory<A>, alias?: string) {\n\t\tbuilder = ReadBuilder.instantiateFromFactory(builder)\n\n\t\tconst [objectName, objectBuilder] =\n\t\t\ttypeof alias === 'string' ? [alias, builder.objectBuilder.name(name)] : [name, builder.objectBuilder]\n\n\t\treturn this.instantiate<AllowedArgs>(this.objectBuilder.object(objectName, objectBuilder))\n\t}\n}\n\nnamespace ReadBuilder {\n\texport type Builder<AllowedArgs extends ReadArguments> = Omit<\n\t\tReadBuilder<AllowedArgs>,\n\t\tExclude<ReadArguments, AllowedArgs>\n\t>\n\texport type BuilderFactory<AllowedArgs extends ReadArguments> =\n\t\t| Builder<never>\n\t\t| ((builder: Builder<AllowedArgs>) => Builder<never>)\n}\n\nexport { ReadBuilder }\n"],"names":[],"mappings":";AAIA,MAAM,YAA+D;AAAA,EAC1D,YAA4B,gBAA+B,IAAI,iBAAiB;AAApD,SAAA,gBAAA;AAAA,EAAqD;AAAA,SAE7E,YACb,gBAA+B,IAAI,iBACA;AAC5B,WAAA,IAAI,YAAyB,aAAa;AAAA,EAClD;AAAA,SAEc,uBACb,SAC6B;AACzB,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,YAAY,YAAA,CAAa;AAAA,IACzC;AACO,WAAA;AAAA,EACR;AAAA,EAEU,YACT,gBAA+B,IAAI,iBACT;AACnB,WAAA,YAAY,YAAgB,aAAa;AAAA,EACjD;AAAA,EAEO,GAAG,IAAuC;AAChD,WAAO,KAAK,YAAwC,KAAK,cAAc,SAAS,MAAM,EAAE,CAAC;AAAA,EAC1F;AAAA,EAEO,OAAO,OAAwE;AACrF,WAAO,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU,KAAK,CAAC;AAAA,EACrG;AAAA,EAEO,QAAQ,SAA0C;AACxD,WAAO,KAAK,YAA6C,KAAK,cAAc,SAAS,WAAW,OAAO,CAAC;AAAA,EACzG;AAAA,EAEO,OAAO,QAAgB;AAC7B,WAAO,KAAK,YAA4C,KAAK,cAAc,SAAS,UAAU,MAAM,CAAC;AAAA,EACtG;AAAA,EAEO,MAAM,OAAe;AAC3B,WAAO,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS,KAAK,CAAC;AAAA,EACnG;AAAA,EAEO,KAAK,QAAgB;AAC3B,WAAO,KAAK,YAA0C,KAAK,cAAc,SAAS,QAAQ,MAAM,CAAC;AAAA,EAClG;AAAA,EAEO,MAAM,OAAe;AAC3B,WAAO,KAAK,YAA2C,KAAK,cAAc,SAAS,SAAS,KAAK,CAAC;AAAA,EACnG;AAAA,EAEO,OAAO,MAAc;AAC3B,WAAO,KAAK,YAAyB,KAAK,cAAc,MAAM,IAAI,CAAC;AAAA,EACpE;AAAA,EAEO,eAAe,UAAkB,SAA4C;AACzE,cAAA,YAAY,uBAAuB,OAAO;AAC7C,WAAA,KAAK,YAAyB,KAAK,cAAc,eAAe,UAAU,QAAQ,aAAa,CAAC;AAAA,EACxG;AAAA,EAEO,cAAc,cAAsB;AAC1C,WAAO,KAAK,YAAyB,KAAK,cAAc,cAAc,YAAY,CAAC;AAAA,EACpF;AAAA,EAEO,kBAAkB,MAAc,SAAyD,OAAgB;AAC/G,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,eAAe,MAAc,SAAsD,OAAgB;AACzG,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,gBAAgB,MAAc,SAAuD,OAAgB;AAC3G,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEO,YAAY,MAAc,SAA4C,OAAgB;AAC5F,WAAO,KAAK,SAAS,MAAM,SAAS,KAAK;AAAA,EAC1C;AAAA,EAEU,SAAkC,MAAc,SAAwC,OAAgB;AACvG,cAAA,YAAY,uBAAuB,OAAO;AAEpD,UAAM,CAAC,YAAY,iBAClB,OAAO,UAAU,WAAW,CAAC,OAAO,QAAQ,cAAc,KAAK,IAAI,CAAC,IAAI,CAAC,MAAM,QAAQ,aAAa;AAErG,WAAO,KAAK,YAAyB,KAAK,cAAc,OAAO,YAAY,aAAa,CAAC;AAAA,EAC1F;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationRelationBuilder.js","sources":["../../../src/crudQueryBuilder/ValidationRelationBuilder.ts"],"sourcesContent":["import type { ObjectBuilder } from '../graphQlBuilder'\n\nexport class ValidationRelationBuilder {\n\tpublic static validationRelation(objectBuilder: ObjectBuilder): ObjectBuilder {\n\t\treturn objectBuilder.object('validation', builder =>\n\t\t\tbuilder.field('valid').object('errors', builder =>\n\t\t\t\tbuilder\n\t\t\t\t\t.object('path', builder =>\n\t\t\t\t\t\tbuilder\n\t\t\t\t\t\t\t.field('__typename')\n\t\t\t\t\t\t\t.inlineFragment('_FieldPathFragment', builder => builder.field('field'))\n\t\t\t\t\t\t\t.inlineFragment('_IndexPathFragment', builder => builder.field('index').field('alias')),\n\t\t\t\t\t)\n\t\t\t\t\t.object('message', builder => builder.field('text')),\n\t\t\t),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"gCAEuC;AAAA,SACxB,mBAAmB,eAA6C;WACtE,cAAc,OAAO,cAAc,aACzC,QAAQ,MAAM,SAAS,OAAO,UAAU,cACvC,SACE,OAAO,QAAQ,cACf,SACE,MAAM,cACN,eAAe,sBAAsB,cAAW,SAAQ,MAAM,UAC9D,eAAe,sBAAsB,cAAW,SAAQ,MAAM,SAAS,MAAM,WAE/E,OAAO,WAAW,cAAW,SAAQ,MAAM;AAAA;AAAA;;"}
1
+ {"version":3,"file":"ValidationRelationBuilder.js","sources":["../../../src/crudQueryBuilder/ValidationRelationBuilder.ts"],"sourcesContent":["import type { ObjectBuilder } from '../graphQlBuilder'\n\nexport class ValidationRelationBuilder {\n\tpublic static validationRelation(objectBuilder: ObjectBuilder): ObjectBuilder {\n\t\treturn objectBuilder.object('validation', builder =>\n\t\t\tbuilder.field('valid').object('errors', builder =>\n\t\t\t\tbuilder\n\t\t\t\t\t.object('path', builder =>\n\t\t\t\t\t\tbuilder\n\t\t\t\t\t\t\t.field('__typename')\n\t\t\t\t\t\t\t.inlineFragment('_FieldPathFragment', builder => builder.field('field'))\n\t\t\t\t\t\t\t.inlineFragment('_IndexPathFragment', builder => builder.field('index').field('alias')),\n\t\t\t\t\t)\n\t\t\t\t\t.object('message', builder => builder.field('text')),\n\t\t\t),\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"AAEO,MAAM,0BAA0B;AAAA,SACxB,mBAAmB,eAA6C;AACtE,WAAA,cAAc,OAAO,cAAc,CAAA,YACzC,QAAQ,MAAM,OAAO,EAAE,OAAO,UAAU,cACvC,SACE,OAAO,QAAQ,CACf,aAAA,SACE,MAAM,YAAY,EAClB,eAAe,sBAAsB,CAAW,aAAA,SAAQ,MAAM,OAAO,CAAC,EACtE,eAAe,sBAAsB,cAAW,SAAQ,MAAM,OAAO,EAAE,MAAM,OAAO,CAAC,CACxF,EACC,OAAO,WAAW,CAAA,aAAW,SAAQ,MAAM,MAAM,CAAC,CACrD,CACD;AAAA,EACD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteBuilder.js","sources":["../../../src/crudQueryBuilder/WriteBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport { ErrorsRelationBuilder } from './ErrorsRelationBuilder'\nimport { ReadBuilder } from './ReadBuilder'\nimport type { WriteArguments, WriteFields, WriteOperation } from './types'\nimport { ValidationRelationBuilder } from './ValidationRelationBuilder'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteBuilder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): WriteBuilder.Builder<AA, AF, Op> {\n\t\treturn new WriteBuilder<AA, AF, Op>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tAA extends WriteArguments,\n\t\tAF extends WriteFields,\n\t\tOp extends WriteOperation.Operation,\n\t>(builder: WriteBuilder.BuilderFactory<AA, AF, Op>): WriteBuilder.Builder<never, never, Op> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tpublic data<SubOp extends Op & WriteOperation.ContentfulOperation>(data: WriteDataBuilder.DataLike<SubOp>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'data'>, AF, Op>(\n\t\t\tresolvedData === undefined ? this.objectBuilder : this.objectBuilder.argument('data', resolvedData),\n\t\t)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'by'>, AF, Op>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic ok() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'ok'>, Op>(this.objectBuilder.field('ok'))\n\t}\n\n\tpublic errorMessage() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errorMessage'>, Op>(this.objectBuilder.field('errorMessage'))\n\t}\n\n\tpublic validation() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'validation'>, Op>(\n\t\t\tValidationRelationBuilder.validationRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic errors() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errors'>, Op>(\n\t\t\tErrorsRelationBuilder.errorsRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic node(builder: ReadBuilder.BuilderFactory<never>) {\n\t\tconst readBuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'node'>, Op>(\n\t\t\tthis.objectBuilder.object('node', readBuilder.objectBuilder),\n\t\t)\n\t}\n}\n\nnamespace WriteBuilder {\n\texport type Builder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> = Omit<\n\t\tOmit<WriteBuilder<AA, AF, Op>, Exclude<WriteArguments, AA>>,\n\t\tExclude<WriteFields, AF>\n\t>\n\n\texport type BuilderFactory<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> =\n\t\t| Builder<never, never, Op>\n\t\t| ((builder: Builder<AA, AF, Op>) => Builder<never, never, Op>)\n}\n\nexport { WriteBuilder }\n"],"names":[],"mappings":";;;;;AAQA,mBAA2G;AAAA,EAChG,YAA4B,gBAA+B,IAAI,iBAAiB;;;SAE5E,YACb,gBAA+B,IAAI,iBACA;WAC5B,IAAI,aAAyB;AAAA;AAAA,SAGvB,uBAIZ,SAA0F;QACvF,OAAO,YAAY,YAAY;aAC3B,QAAQ,aAAa;AAAA;WAEtB;AAAA;AAAA,EAGD,KAA4D,MAAwC;UACpG,eAAe,iBAAiB,YAAY;WAC3C,aAAa,YACnB,iBAAiB,SAAY,KAAK,gBAAgB,KAAK,cAAc,SAAS,QAAQ;AAAA;AAAA,EAIjF,GAAG,IAAuC;WACzC,aAAa,YAAuC,KAAK,cAAc,SAAS,MAAM;AAAA;AAAA,EAGvF,KAAK;WACJ,aAAa,YAAuC,KAAK,cAAc,MAAM;AAAA;AAAA,EAG9E,eAAe;WACd,aAAa,YAAiD,KAAK,cAAc,MAAM;AAAA;AAAA,EAGxF,aAAa;WACZ,aAAa,YACnB,0BAA0B,mBAAmB,KAAK;AAAA;AAAA,EAI7C,SAAS;WACR,aAAa,YACnB,sBAAsB,eAAe,KAAK;AAAA;AAAA,EAIrC,KAAK,SAA4C;UACjD,cAAc,YAAY,uBAAuB;WAChD,aAAa,YACnB,KAAK,cAAc,OAAO,QAAQ,YAAY;AAAA;AAAA;;"}
1
+ {"version":3,"file":"WriteBuilder.js","sources":["../../../src/crudQueryBuilder/WriteBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport { GraphQlLiteral, ObjectBuilder } from '../graphQlBuilder'\nimport { ErrorsRelationBuilder } from './ErrorsRelationBuilder'\nimport { ReadBuilder } from './ReadBuilder'\nimport type { WriteArguments, WriteFields, WriteOperation } from './types'\nimport { ValidationRelationBuilder } from './ValidationRelationBuilder'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteBuilder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> {\n\tprotected constructor(public readonly objectBuilder: ObjectBuilder = new ObjectBuilder()) {}\n\n\tpublic static instantiate<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation>(\n\t\tobjectBuilder: ObjectBuilder = new ObjectBuilder(),\n\t): WriteBuilder.Builder<AA, AF, Op> {\n\t\treturn new WriteBuilder<AA, AF, Op>(objectBuilder)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tAA extends WriteArguments,\n\t\tAF extends WriteFields,\n\t\tOp extends WriteOperation.Operation,\n\t>(builder: WriteBuilder.BuilderFactory<AA, AF, Op>): WriteBuilder.Builder<never, never, Op> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteBuilder.instantiate())\n\t\t}\n\t\treturn builder\n\t}\n\n\tpublic data<SubOp extends Op & WriteOperation.ContentfulOperation>(data: WriteDataBuilder.DataLike<SubOp>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'data'>, AF, Op>(\n\t\t\tresolvedData === undefined ? this.objectBuilder : this.objectBuilder.argument('data', resolvedData),\n\t\t)\n\t}\n\n\tpublic by(by: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteBuilder.instantiate<Exclude<AA, 'by'>, AF, Op>(this.objectBuilder.argument('by', by))\n\t}\n\n\tpublic ok() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'ok'>, Op>(this.objectBuilder.field('ok'))\n\t}\n\n\tpublic errorMessage() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errorMessage'>, Op>(this.objectBuilder.field('errorMessage'))\n\t}\n\n\tpublic validation() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'validation'>, Op>(\n\t\t\tValidationRelationBuilder.validationRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic errors() {\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'errors'>, Op>(\n\t\t\tErrorsRelationBuilder.errorsRelation(this.objectBuilder),\n\t\t)\n\t}\n\n\tpublic node(builder: ReadBuilder.BuilderFactory<never>) {\n\t\tconst readBuilder = ReadBuilder.instantiateFromFactory(builder)\n\t\treturn WriteBuilder.instantiate<AA, Exclude<AF, 'node'>, Op>(\n\t\t\tthis.objectBuilder.object('node', readBuilder.objectBuilder),\n\t\t)\n\t}\n}\n\nnamespace WriteBuilder {\n\texport type Builder<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> = Omit<\n\t\tOmit<WriteBuilder<AA, AF, Op>, Exclude<WriteArguments, AA>>,\n\t\tExclude<WriteFields, AF>\n\t>\n\n\texport type BuilderFactory<AA extends WriteArguments, AF extends WriteFields, Op extends WriteOperation.Operation> =\n\t\t| Builder<never, never, Op>\n\t\t| ((builder: Builder<AA, AF, Op>) => Builder<never, never, Op>)\n}\n\nexport { WriteBuilder }\n"],"names":[],"mappings":";;;;;AAQA,MAAM,aAAqG;AAAA,EAChG,YAA4B,gBAA+B,IAAI,iBAAiB;AAApD,SAAA,gBAAA;AAAA,EAAqD;AAAA,SAE7E,YACb,gBAA+B,IAAI,iBACA;AAC5B,WAAA,IAAI,aAAyB,aAAa;AAAA,EAClD;AAAA,SAEc,uBAIZ,SAA0F;AACvF,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,aAAa,YAAA,CAAa;AAAA,IAC1C;AACO,WAAA;AAAA,EACR;AAAA,EAEO,KAA4D,MAAwC;AACpG,UAAA,eAAe,iBAAiB,YAAY,IAAI;AAC/C,WAAA,aAAa,YACnB,iBAAiB,SAAY,KAAK,gBAAgB,KAAK,cAAc,SAAS,QAAQ,YAAY,CACnG;AAAA,EACD;AAAA,EAEO,GAAG,IAAuC;AAChD,WAAO,aAAa,YAAuC,KAAK,cAAc,SAAS,MAAM,EAAE,CAAC;AAAA,EACjG;AAAA,EAEO,KAAK;AACX,WAAO,aAAa,YAAuC,KAAK,cAAc,MAAM,IAAI,CAAC;AAAA,EAC1F;AAAA,EAEO,eAAe;AACrB,WAAO,aAAa,YAAiD,KAAK,cAAc,MAAM,cAAc,CAAC;AAAA,EAC9G;AAAA,EAEO,aAAa;AACnB,WAAO,aAAa,YACnB,0BAA0B,mBAAmB,KAAK,aAAa,CAChE;AAAA,EACD;AAAA,EAEO,SAAS;AACf,WAAO,aAAa,YACnB,sBAAsB,eAAe,KAAK,aAAa,CACxD;AAAA,EACD;AAAA,EAEO,KAAK,SAA4C;AACjD,UAAA,cAAc,YAAY,uBAAuB,OAAO;AACvD,WAAA,aAAa,YACnB,KAAK,cAAc,OAAO,QAAQ,YAAY,aAAa,CAC5D;AAAA,EACD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteDataBuilder.js","sources":["../../../src/crudQueryBuilder/WriteDataBuilder.ts"],"sourcesContent":["import type { Input, Value } from '@contember/schema'\nimport { GraphQlLiteral } from '../graphQlBuilder'\nimport { isEmptyObject } from '../utils'\nimport { CrudQueryBuilderError } from './CrudQueryBuilderError'\nimport type { WriteOperation } from './types'\nimport { WriteManyRelationBuilder } from './WriteManyRelationBuilder'\nimport { WriteOneRelationBuilder } from './WriteOneRelationBuilder'\n\nclass WriteDataBuilder<Op extends WriteOperation.ContentfulOperation> {\n\tpublic readonly data: WriteDataBuilder.DataFormat[Op['op']]\n\n\tpublic constructor(data?: WriteDataBuilder.DataFormat[Op['op']]) {\n\t\tthis.data = data || {}\n\t}\n\n\tpublic static resolveData<Op extends WriteOperation.ContentfulOperation>(\n\t\tdataLike: WriteDataBuilder.DataLike<Op>,\n\t): WriteDataBuilder.DataFormat[Op['op']] | undefined {\n\t\tlet resolvedData: WriteDataBuilder.DataFormat[Op['op']]\n\n\t\tif (dataLike instanceof WriteDataBuilder) {\n\t\t\tresolvedData = dataLike.data\n\t\t} else if (typeof dataLike === 'function') {\n\t\t\tresolvedData = dataLike(new WriteDataBuilder()).data\n\t\t} else {\n\t\t\tresolvedData = dataLike\n\t\t}\n\n\t\tif (isEmptyObject(resolvedData)) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn resolvedData\n\t}\n\n\tpublic set(fieldName: string, value: Input.ColumnValue<GraphQlLiteral>) {\n\t\treturn new WriteDataBuilder<Op>({ ...this.data, [fieldName]: value })\n\t}\n\n\tpublic many(fieldName: string, data: WriteManyRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteManyRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || resolvedData.length === 0\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tpublic one(fieldName: string, data: WriteOneRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteOneRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || isEmptyObject(resolvedData)\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tprivate mergeInFreshData(\n\t\toriginal: WriteDataBuilder.DataFormat[Op['op']],\n\t\tfieldName: string,\n\t\tfresh: WriteManyRelationBuilder.DataFormat[Op['op']] | WriteOneRelationBuilder.DataFormat[Op['op']],\n\t): WriteDataBuilder.DataFormat[Op['op']] {\n\t\tif (fieldName in original) {\n\t\t\tconst existingValue = original[fieldName]\n\t\t\tif (Array.isArray(existingValue)) {\n\t\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\t\treturn { ...original, [fieldName]: [...existingValue, ...fresh] }\n\t\t\t\t}\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\treturn { ...original, [fieldName]: this.mergeUpdateOne(existingValue, fresh) }\n\t\t}\n\t\treturn { ...original, [fieldName]: fresh }\n\t}\n\n\tprivate mergeUpdateOne(\n\t\toriginal:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t\tfresh:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t):\n\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t| Input.UpdateOneRelationInput<GraphQlLiteral> {\n\t\t// TODO This implementation pretty bad but it will have to do for now.\n\t\tif (original instanceof GraphQlLiteral) {\n\t\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\t\tif (original.value === fresh.value) {\n\t\t\t\t\treturn original\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (Array.isArray(original)) {\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\treturn [...original, ...fresh]\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (Array.isArray(fresh)) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === null) {\n\t\t\tif (fresh === null) {\n\t\t\t\treturn original\n\t\t\t}\n\t\t}\n\t\tif (fresh === null) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (typeof original === 'object') {\n\t\t\tif (typeof fresh === 'object') {\n\t\t\t\tconst composite: any = { ...original }\n\t\t\t\tfor (const field in fresh) {\n\t\t\t\t\tconst fromFresh = (fresh as any)[field]\n\t\t\t\t\tcomposite[field] = field in composite ? this.mergeUpdateOne(composite[field], fromFresh) : fromFresh\n\t\t\t\t}\n\t\t\t\treturn composite\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (typeof fresh === 'object') {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === fresh) {\n\t\t\treturn original\n\t\t}\n\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t}\n}\n\nnamespace WriteDataBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateDataInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateDataInput<GraphQlLiteral>\n\t}\n\n\texport type DataLike<Op extends WriteOperation.ContentfulOperation> =\n\t\t| DataFormat[Op['op']]\n\t\t| WriteDataBuilder<Op>\n\t\t| ((builder: WriteDataBuilder<Op>) => WriteDataBuilder<Op>)\n}\n\nexport { WriteDataBuilder }\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,uBAAsE;AAAA,EAG9D,YAAY,MAA8C;AAFjD;SAGV,OAAO,QAAQ;AAAA;AAAA,SAGP,YACb,UACoD;QAChD;QAEA,oBAAoB,kBAAkB;qBAC1B,SAAS;AAAA,eACd,OAAO,aAAa,YAAY;qBAC3B,SAAS,IAAI,oBAAoB;AAAA,WAC1C;qBACS;AAAA;QAGZ,cAAc,eAAe;aACzB;AAAA;WAED;AAAA;AAAA,EAGD,IAAI,WAAmB,OAA0C;WAChE,IAAI,iBAAqB,KAAK,KAAK,OAAO,YAAY;AAAA;AAAA,EAGvD,KAAK,WAAmB,MAAyE;UACjG,eAAe,yBAAyB,uBAAuB,MAAM;WACpE,iBAAiB,UAAa,aAAa,WAAW,IAC1D,OACA,IAAI,iBAAqB,KAAK,iBAAiB,KAAK,MAAM,WAAW;AAAA;AAAA,EAGlE,IAAI,WAAmB,MAAwE;UAC/F,eAAe,wBAAwB,uBAAuB,MAAM;WACnE,iBAAiB,UAAa,cAAc,gBAChD,OACA,IAAI,iBAAqB,KAAK,iBAAiB,KAAK,MAAM,WAAW;AAAA;AAAA,EAGjE,iBACP,UACA,WACA,OACwC;QACpC,aAAa,UAAU;YACpB,gBAAgB,SAAS;UAC3B,MAAM,QAAQ,gBAAgB;YAC7B,MAAM,QAAQ,QAAQ;iBAClB,KAAK,WAAW,YAAY,CAAC,GAAG,eAAe,GAAG;AAAA;cAEpD,IAAI,sBAAsB;AAAA;UAE7B,MAAM,QAAQ,QAAQ;cACnB,IAAI,sBAAsB;AAAA;aAE1B,KAAK,WAAW,YAAY,KAAK,eAAe,eAAe;AAAA;WAEhE,KAAK,WAAW,YAAY;AAAA;AAAA,EAG5B,eACP,UAIA,OAO+C;QAE3C,oBAAoB,gBAAgB;UACnC,iBAAiB,gBAAgB;YAChC,SAAS,UAAU,MAAM,OAAO;iBAC5B;AAAA;AAAA;YAGH,IAAI,sBAAsB;AAAA;QAE7B,iBAAiB,gBAAgB;YAC9B,IAAI,sBAAsB;AAAA;QAG7B,MAAM,QAAQ,WAAW;UACxB,MAAM,QAAQ,QAAQ;eAClB,CAAC,GAAG,UAAU,GAAG;AAAA;YAEnB,IAAI,sBAAsB;AAAA;QAE7B,MAAM,QAAQ,QAAQ;YACnB,IAAI,sBAAsB;AAAA;QAG7B,aAAa,MAAM;UAClB,UAAU,MAAM;eACZ;AAAA;AAAA;QAGL,UAAU,MAAM;YACb,IAAI,sBAAsB;AAAA;QAG7B,OAAO,aAAa,UAAU;UAC7B,OAAO,UAAU,UAAU;cACxB,YAAiB,KAAK;mBACjB,SAAS,OAAO;gBACpB,YAAa,MAAc;oBACvB,SAAS,SAAS,YAAY,KAAK,eAAe,UAAU,QAAQ,aAAa;AAAA;eAErF;AAAA;YAEF,IAAI,sBAAsB;AAAA;QAE7B,OAAO,UAAU,UAAU;YACxB,IAAI,sBAAsB;AAAA;QAG7B,aAAa,OAAO;aAChB;AAAA;UAEF,IAAI,sBAAsB;AAAA;AAAA;;"}
1
+ {"version":3,"file":"WriteDataBuilder.js","sources":["../../../src/crudQueryBuilder/WriteDataBuilder.ts"],"sourcesContent":["import type { Input, Value } from '@contember/schema'\nimport { GraphQlLiteral } from '../graphQlBuilder'\nimport { isEmptyObject } from '../utils'\nimport { CrudQueryBuilderError } from './CrudQueryBuilderError'\nimport type { WriteOperation } from './types'\nimport { WriteManyRelationBuilder } from './WriteManyRelationBuilder'\nimport { WriteOneRelationBuilder } from './WriteOneRelationBuilder'\n\nclass WriteDataBuilder<Op extends WriteOperation.ContentfulOperation> {\n\tpublic readonly data: WriteDataBuilder.DataFormat[Op['op']]\n\n\tpublic constructor(data?: WriteDataBuilder.DataFormat[Op['op']]) {\n\t\tthis.data = data || {}\n\t}\n\n\tpublic static resolveData<Op extends WriteOperation.ContentfulOperation>(\n\t\tdataLike: WriteDataBuilder.DataLike<Op>,\n\t): WriteDataBuilder.DataFormat[Op['op']] | undefined {\n\t\tlet resolvedData: WriteDataBuilder.DataFormat[Op['op']]\n\n\t\tif (dataLike instanceof WriteDataBuilder) {\n\t\t\tresolvedData = dataLike.data\n\t\t} else if (typeof dataLike === 'function') {\n\t\t\tresolvedData = dataLike(new WriteDataBuilder()).data\n\t\t} else {\n\t\t\tresolvedData = dataLike\n\t\t}\n\n\t\tif (isEmptyObject(resolvedData)) {\n\t\t\treturn undefined\n\t\t}\n\t\treturn resolvedData\n\t}\n\n\tpublic set(fieldName: string, value: Input.ColumnValue<GraphQlLiteral>) {\n\t\treturn new WriteDataBuilder<Op>({ ...this.data, [fieldName]: value })\n\t}\n\n\tpublic many(fieldName: string, data: WriteManyRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteManyRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || resolvedData.length === 0\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tpublic one(fieldName: string, data: WriteOneRelationBuilder.BuilderFactory<Op>): WriteDataBuilder<Op> {\n\t\tconst resolvedData = WriteOneRelationBuilder.instantiateFromFactory(data).data\n\t\treturn resolvedData === undefined || isEmptyObject(resolvedData)\n\t\t\t? this\n\t\t\t: new WriteDataBuilder<Op>(this.mergeInFreshData(this.data, fieldName, resolvedData))\n\t}\n\n\tprivate mergeInFreshData(\n\t\toriginal: WriteDataBuilder.DataFormat[Op['op']],\n\t\tfieldName: string,\n\t\tfresh: WriteManyRelationBuilder.DataFormat[Op['op']] | WriteOneRelationBuilder.DataFormat[Op['op']],\n\t): WriteDataBuilder.DataFormat[Op['op']] {\n\t\tif (fieldName in original) {\n\t\t\tconst existingValue = original[fieldName]\n\t\t\tif (Array.isArray(existingValue)) {\n\t\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\t\treturn { ...original, [fieldName]: [...existingValue, ...fresh] }\n\t\t\t\t}\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t\t}\n\t\t\treturn { ...original, [fieldName]: this.mergeUpdateOne(existingValue, fresh) }\n\t\t}\n\t\treturn { ...original, [fieldName]: fresh }\n\t}\n\n\tprivate mergeUpdateOne(\n\t\toriginal:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t\tfresh:\n\t\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t\t| Input.UpdateOneRelationInput<GraphQlLiteral>,\n\t):\n\t\t| Value.FieldValue<GraphQlLiteral>\n\t\t| Input.CreateOneRelationInput<GraphQlLiteral>\n\t\t| Input.UpdateOneRelationInput<GraphQlLiteral> {\n\t\t// TODO This implementation pretty bad but it will have to do for now.\n\t\tif (original instanceof GraphQlLiteral) {\n\t\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\t\tif (original.value === fresh.value) {\n\t\t\t\t\treturn original\n\t\t\t\t}\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (fresh instanceof GraphQlLiteral) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (Array.isArray(original)) {\n\t\t\tif (Array.isArray(fresh)) {\n\t\t\t\treturn [...original, ...fresh]\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (Array.isArray(fresh)) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === null) {\n\t\t\tif (fresh === null) {\n\t\t\t\treturn original\n\t\t\t}\n\t\t}\n\t\tif (fresh === null) {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (typeof original === 'object') {\n\t\t\tif (typeof fresh === 'object') {\n\t\t\t\tconst composite: any = { ...original }\n\t\t\t\tfor (const field in fresh) {\n\t\t\t\t\tconst fromFresh = (fresh as any)[field]\n\t\t\t\t\tcomposite[field] = field in composite ? this.mergeUpdateOne(composite[field], fromFresh) : fromFresh\n\t\t\t\t}\n\t\t\t\treturn composite\n\t\t\t}\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\t\tif (typeof fresh === 'object') {\n\t\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t\t}\n\n\t\tif (original === fresh) {\n\t\t\treturn original\n\t\t}\n\t\tthrow new CrudQueryBuilderError(`Inconsistent data.`)\n\t}\n}\n\nnamespace WriteDataBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateDataInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateDataInput<GraphQlLiteral>\n\t}\n\n\texport type DataLike<Op extends WriteOperation.ContentfulOperation> =\n\t\t| DataFormat[Op['op']]\n\t\t| WriteDataBuilder<Op>\n\t\t| ((builder: WriteDataBuilder<Op>) => WriteDataBuilder<Op>)\n}\n\nexport { WriteDataBuilder }\n"],"names":[],"mappings":";;;;;;;;;;;AAQA,MAAM,iBAAgE;AAAA,EAG9D,YAAY,MAA8C;AAFjD;AAGV,SAAA,OAAO,QAAQ;EACrB;AAAA,SAEc,YACb,UACoD;AAChD,QAAA;AAEJ,QAAI,oBAAoB,kBAAkB;AACzC,qBAAe,SAAS;AAAA,IAAA,WACd,OAAO,aAAa,YAAY;AAC1C,qBAAe,SAAS,IAAI,iBAAkB,CAAA,EAAE;AAAA,IAAA,OAC1C;AACS,qBAAA;AAAA,IAChB;AAEI,QAAA,cAAc,YAAY,GAAG;AACzB,aAAA;AAAA,IACR;AACO,WAAA;AAAA,EACR;AAAA,EAEO,IAAI,WAAmB,OAA0C;AACvE,WAAO,IAAI,iBAAqB,KAAK,KAAK,OAAO,YAAY,OAAO;AAAA,EACrE;AAAA,EAEO,KAAK,WAAmB,MAAyE;AACvG,UAAM,eAAe,yBAAyB,uBAAuB,IAAI,EAAE;AAC3E,WAAO,iBAAiB,UAAa,aAAa,WAAW,IAC1D,OACA,IAAI,iBAAqB,KAAK,iBAAiB,KAAK,MAAM,WAAW,YAAY,CAAC;AAAA,EACtF;AAAA,EAEO,IAAI,WAAmB,MAAwE;AACrG,UAAM,eAAe,wBAAwB,uBAAuB,IAAI,EAAE;AAC1E,WAAO,iBAAiB,UAAa,cAAc,YAAY,IAC5D,OACA,IAAI,iBAAqB,KAAK,iBAAiB,KAAK,MAAM,WAAW,YAAY,CAAC;AAAA,EACtF;AAAA,EAEQ,iBACP,UACA,WACA,OACwC;AACxC,QAAI,aAAa,UAAU;AAC1B,YAAM,gBAAgB,SAAS;AAC3B,UAAA,MAAM,QAAQ,aAAa,GAAG;AAC7B,YAAA,MAAM,QAAQ,KAAK,GAAG;AAClB,iBAAA,KAAK,WAAW,YAAY,CAAC,GAAG,eAAe,GAAG,KAAK;QAC/D;AACM,cAAA,IAAI,sBAAsB,oBAAoB;AAAA,MACrD;AACI,UAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,cAAA,IAAI,sBAAsB,oBAAoB;AAAA,MACrD;AACA,aAAO,KAAK,WAAW,YAAY,KAAK,eAAe,eAAe,KAAK;IAC5E;AACO,WAAA,KAAK,WAAW,YAAY,MAAM;AAAA,EAC1C;AAAA,EAEQ,eACP,UAIA,OAO+C;AAE/C,QAAI,oBAAoB,gBAAgB;AACvC,UAAI,iBAAiB,gBAAgB;AAChC,YAAA,SAAS,UAAU,MAAM,OAAO;AAC5B,iBAAA;AAAA,QACR;AAAA,MACD;AACM,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AACA,QAAI,iBAAiB,gBAAgB;AAC9B,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AAEI,QAAA,MAAM,QAAQ,QAAQ,GAAG;AACxB,UAAA,MAAM,QAAQ,KAAK,GAAG;AACzB,eAAO,CAAC,GAAG,UAAU,GAAG,KAAK;AAAA,MAC9B;AACM,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AACI,QAAA,MAAM,QAAQ,KAAK,GAAG;AACnB,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AAEA,QAAI,aAAa,MAAM;AACtB,UAAI,UAAU,MAAM;AACZ,eAAA;AAAA,MACR;AAAA,IACD;AACA,QAAI,UAAU,MAAM;AACb,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AAEI,QAAA,OAAO,aAAa,UAAU;AAC7B,UAAA,OAAO,UAAU,UAAU;AACxB,cAAA,YAAiB,KAAK;AAC5B,mBAAW,SAAS,OAAO;AAC1B,gBAAM,YAAa,MAAc;AACvB,oBAAA,SAAS,SAAS,YAAY,KAAK,eAAe,UAAU,QAAQ,SAAS,IAAI;AAAA,QAC5F;AACO,eAAA;AAAA,MACR;AACM,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AACI,QAAA,OAAO,UAAU,UAAU;AACxB,YAAA,IAAI,sBAAsB,oBAAoB;AAAA,IACrD;AAEA,QAAI,aAAa,OAAO;AAChB,aAAA;AAAA,IACR;AACM,UAAA,IAAI,sBAAsB,oBAAoB;AAAA,EACrD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteManyRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteManyRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteManyRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']],\n> {\n\tprivate constructor(public readonly data: WriteManyRelationBuilder.DataFormat[Op['op']] = []) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t>(data: WriteManyRelationBuilder.DataFormat[Op['op']] = []): WriteManyRelationBuilder.Builder<Op, Allowed> {\n\t\treturn new WriteManyRelationBuilder<Op, Allowed>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']],\n\t>(builder: WriteManyRelationBuilder.BuilderFactory<Op, Allowed>): WriteManyRelationBuilder.Builder<Op, never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteManyRelationBuilder.instantiate())\n\t\t}\n\t\tif ('data' in builder) {\n\t\t\treturn WriteManyRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteManyRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<Op> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ create: resolvedData }, alias),\n\t\t\t\t ] as WriteManyRelationBuilder.DataFormat[WriteOperation.Create['op']])\n\t\t) as WriteManyRelationBuilder.Builder<Op>\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ connect: where }, alias),\n\t\t] as WriteManyRelationBuilder.DataFormat[Op['op']])\n\t}\n\n\tpublic delete(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ delete: where }, alias),\n\t\t])\n\t}\n\n\tpublic disconnect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ disconnect: where }, alias),\n\t\t])\n\t}\n\n\tpublic update(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ update: { by: where, data: resolvedData } }, alias),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tpublic upsert(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\treturn (\n\t\t\tresolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tupsert: {\n\t\t\t\t\t\t\t\t\tby: where,\n\t\t\t\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talias,\n\t\t\t\t\t\t),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tprivate withAlias<\n\t\tD extends Input.CreateOneRelationInput<GraphQlLiteral> | Input.UpdateManyRelationInputItem<GraphQlLiteral>,\n\t>(data: D, alias?: string): D {\n\t\tif (alias !== undefined) {\n\t\t\tdata.alias = alias\n\t\t}\n\t\treturn data\n\t}\n}\n\nnamespace WriteManyRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateManyRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateManyRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = Omit<\n\t\tWriteManyRelationBuilder<Op, Allowed>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = DataFormat[Op['op']] | Builder<Op, never> | ((builder: Builder<Op, Allowed>) => Builder<Op, never>)\n}\n\nexport { WriteManyRelationBuilder }\n"],"names":[],"mappings":";AAKA,+BAGE;AAAA,EACO,YAA4B,OAAsD,IAAI;;;SAEhF,YAGZ,OAAsD,IAAmD;WACnG,IAAI,yBAAsC;AAAA;AAAA,SAGpC,uBAGZ,SAA4G;QACzG,OAAO,YAAY,YAAY;aAC3B,QAAQ,yBAAyB;AAAA;QAErC,UAAU,SAAS;aACf,yBAAyB,YAAY,QAAQ;AAAA;WAE9C,yBAAyB,YAAY;AAAA;AAAA,EAGtC,OACN,MACA,OACuC;UACjC,eAAe,iBAAiB,YAAY;WAEjD,iBAAiB,SACd,OACA,yBAAyB,YAAgB;AAAA,MACzC,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,gBAAgB;AAAA;AAAA;AAAA,EAKvC,QAAQ,OAA0C,OAAgB;WACjE,yBAAyB,YAAgB;AAAA,MAC/C,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,SAAS,SAAS;AAAA;AAAA;AAAA,EAI9B,OAAO,OAA0C,OAAgB;WAChE,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,SAAS;AAAA;AAAA;AAAA,EAI7B,WAAW,OAA0C,OAAgB;WACpE,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,YAAY,SAAS;AAAA;AAAA;AAAA,EAIjC,OACN,OACA,MACA,OAC0D;UACpD,eAAe,iBAAiB,YAAY;WAEjD,iBAAiB,SACd,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,EAAE,IAAI,OAAO,MAAM,kBAAkB;AAAA;AAAA;AAAA,EAK5D,OACN,OACA,QACA,QACA,OAC0D;UACpD,iBAAiB,iBAAiB,YAAY;UAC9C,iBAAiB,iBAAiB,YAAY;WAEnD,mBAAmB,UAAa,mBAAmB,SAChD,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK,UACJ;AAAA,QACC,QAAQ;AAAA,UACP,IAAI;AAAA,UACJ,QAAQ,kBAAkB;AAAA,UAC1B,QAAQ,kBAAkB;AAAA;AAAA,SAG5B;AAAA;AAAA;AAAA,EAME,UAEN,MAAS,OAAmB;QACzB,UAAU,QAAW;WACnB,QAAQ;AAAA;WAEP;AAAA;AAAA;;"}
1
+ {"version":3,"file":"WriteManyRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteManyRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteManyRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']],\n> {\n\tprivate constructor(public readonly data: WriteManyRelationBuilder.DataFormat[Op['op']] = []) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t>(data: WriteManyRelationBuilder.DataFormat[Op['op']] = []): WriteManyRelationBuilder.Builder<Op, Allowed> {\n\t\treturn new WriteManyRelationBuilder<Op, Allowed>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']],\n\t>(builder: WriteManyRelationBuilder.BuilderFactory<Op, Allowed>): WriteManyRelationBuilder.Builder<Op, never> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteManyRelationBuilder.instantiate())\n\t\t}\n\t\tif ('data' in builder) {\n\t\t\treturn WriteManyRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteManyRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<Op> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ create: resolvedData }, alias),\n\t\t\t\t ] as WriteManyRelationBuilder.DataFormat[WriteOperation.Create['op']])\n\t\t) as WriteManyRelationBuilder.Builder<Op>\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<Op>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ connect: where }, alias),\n\t\t] as WriteManyRelationBuilder.DataFormat[Op['op']])\n\t}\n\n\tpublic delete(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ delete: where }, alias),\n\t\t])\n\t}\n\n\tpublic disconnect(where: Input.UniqueWhere<GraphQlLiteral>, alias?: string) {\n\t\treturn WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t...this.data,\n\t\t\tthis.withAlias({ disconnect: where }, alias),\n\t\t])\n\t}\n\n\tpublic update(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tdata: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn (\n\t\t\tresolvedData === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias({ update: { by: where, data: resolvedData } }, alias),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tpublic upsert(\n\t\twhere: Input.UniqueWhere<GraphQlLiteral>,\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t\talias?: string,\n\t): WriteManyRelationBuilder.Builder<WriteOperation.Update> {\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\treturn (\n\t\t\tresolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t\t? this\n\t\t\t\t: WriteManyRelationBuilder.instantiate<WriteOperation.Update>([\n\t\t\t\t\t\t...this.data,\n\t\t\t\t\t\tthis.withAlias(\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tupsert: {\n\t\t\t\t\t\t\t\t\tby: where,\n\t\t\t\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\talias,\n\t\t\t\t\t\t),\n\t\t\t\t ])\n\t\t) as WriteManyRelationBuilder.Builder<WriteOperation.Update>\n\t}\n\n\tprivate withAlias<\n\t\tD extends Input.CreateOneRelationInput<GraphQlLiteral> | Input.UpdateManyRelationInputItem<GraphQlLiteral>,\n\t>(data: D, alias?: string): D {\n\t\tif (alias !== undefined) {\n\t\t\tdata.alias = alias\n\t\t}\n\t\treturn data\n\t}\n}\n\nnamespace WriteManyRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateManyRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateManyRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = Omit<\n\t\tWriteManyRelationBuilder<Op, Allowed>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t> = DataFormat[Op['op']] | Builder<Op, never> | ((builder: Builder<Op, Allowed>) => Builder<Op, never>)\n}\n\nexport { WriteManyRelationBuilder }\n"],"names":[],"mappings":";AAKA,MAAM,yBAGJ;AAAA,EACO,YAA4B,OAAsD,IAAI;AAA1D,SAAA,OAAA;AAAA,EAA2D;AAAA,SAEjF,YAGZ,OAAsD,IAAmD;AACnG,WAAA,IAAI,yBAAsC,IAAI;AAAA,EACtD;AAAA,SAEc,uBAGZ,SAA4G;AACzG,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,yBAAyB,YAAA,CAAa;AAAA,IACtD;AACA,QAAI,UAAU,SAAS;AACf,aAAA,yBAAyB,YAAY,QAAQ,IAAI;AAAA,IACzD;AACO,WAAA,yBAAyB,YAAY,OAAO;AAAA,EACpD;AAAA,EAEO,OACN,MACA,OACuC;AACjC,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WACC,iBAAiB,SACd,OACA,yBAAyB,YAAgB;AAAA,MACzC,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,aAAA,GAAgB,KAAK;AAAA,IAAA,CACuB;AAAA,EAE1E;AAAA,EAEO,QAAQ,OAA0C,OAAgB;AACxE,WAAO,yBAAyB,YAAgB;AAAA,MAC/C,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,SAAS,MAAA,GAAS,KAAK;AAAA,IAAA,CACS;AAAA,EACnD;AAAA,EAEO,OAAO,OAA0C,OAAgB;AACvE,WAAO,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,MAAA,GAAS,KAAK;AAAA,IAAA,CACvC;AAAA,EACF;AAAA,EAEO,WAAW,OAA0C,OAAgB;AAC3E,WAAO,yBAAyB,YAAmC;AAAA,MAClE,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,YAAY,MAAA,GAAS,KAAK;AAAA,IAAA,CAC3C;AAAA,EACF;AAAA,EAEO,OACN,OACA,MACA,OAC0D;AACpD,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WACC,iBAAiB,SACd,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK,UAAU,EAAE,QAAQ,EAAE,IAAI,OAAO,MAAM,eAAe,GAAG,KAAK;AAAA,IAAA,CAClE;AAAA,EAEN;AAAA,EAEO,OACN,OACA,QACA,QACA,OAC0D;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AAC1D,WACC,mBAAmB,UAAa,mBAAmB,SAChD,OACA,yBAAyB,YAAmC;AAAA,MAC5D,GAAG,KAAK;AAAA,MACR,KAAK,UACJ;AAAA,QACC,QAAQ;AAAA,UACP,IAAI;AAAA,UACJ,QAAQ,kBAAkB,CAAC;AAAA,UAC3B,QAAQ,kBAAkB,CAAC;AAAA,QAC5B;AAAA,SAED,KACD;AAAA,IAAA,CACC;AAAA,EAEN;AAAA,EAEQ,UAEN,MAAS,OAAmB;AAC7B,QAAI,UAAU,QAAW;AACxB,WAAK,QAAQ;AAAA,IACd;AACO,WAAA;AAAA,EACR;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"WriteOneRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteOneRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteOneRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n> {\n\tprotected constructor(public readonly data: D = undefined as D) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(data: D = undefined as D): WriteOneRelationBuilder.Builder<Op, Allowed, D> {\n\t\treturn new WriteOneRelationBuilder<Op, Allowed, D>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(builder: WriteOneRelationBuilder.BuilderFactory<Op, Allowed, D>): WriteOneRelationBuilder.Builder<Op, never, D> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteOneRelationBuilder.instantiate())\n\t\t}\n\t\tif (builder && 'data' in builder!) {\n\t\t\treturn WriteOneRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteOneRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(data: WriteDataBuilder.DataLike<WriteOperation.Create>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<Op, never>({\n\t\t\t\t\tcreate: resolvedData,\n\t\t\t })\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteOneRelationBuilder.instantiate<Op, never>({ connect: where })\n\t}\n\n\tpublic delete() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ delete: true })\n\t}\n\n\tpublic disconnect() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ disconnect: true })\n\t}\n\n\tpublic update(data: WriteDataBuilder.DataLike<WriteOperation.Update>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined ? this : new WriteOneRelationBuilder({ update: resolvedData })\n\t}\n\n\tpublic upsert(\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t) {\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\n\t\treturn resolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({\n\t\t\t\t\tupsert: {\n\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t},\n\t\t\t })\n\t}\n}\n\nnamespace WriteOneRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateOneRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateOneRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = Omit<\n\t\tWriteOneRelationBuilder<Op, Allowed, D>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = D | Builder<Op, never, D> | ((builder: Builder<Op, Allowed, D>) => Builder<Op, never, D>)\n}\n\nexport { WriteOneRelationBuilder }\n"],"names":[],"mappings":";AAKA,8BAIE;AAAA,EACS,YAA4B,OAAU,QAAgB;;;SAElD,YAIZ,OAAU,QAAiE;WACrE,IAAI,wBAAwC;AAAA;AAAA,SAGtC,uBAIZ,SAAgH;QAC7G,OAAO,YAAY,YAAY;aAC3B,QAAQ,wBAAwB;AAAA;QAEpC,WAAW,UAAU,SAAU;aAC3B,wBAAwB,YAAY,QAAQ;AAAA;WAE7C,wBAAwB,YAAY;AAAA;AAAA,EAGrC,OAAO,MAAwD;UAC/D,eAAe,iBAAiB,YAAY;WAC3C,iBAAiB,SACrB,OACA,wBAAwB,YAAuB;AAAA,MAC/C,QAAQ;AAAA;AAAA;AAAA,EAIL,QAAQ,OAA0C;WACjD,wBAAwB,YAAuB,EAAE,SAAS;AAAA;AAAA,EAG3D,SAAS;WACR,wBAAwB,YAA0C,EAAE,QAAQ;AAAA;AAAA,EAG7E,aAAa;WACZ,wBAAwB,YAA0C,EAAE,YAAY;AAAA;AAAA,EAGjF,OAAO,MAAwD;UAC/D,eAAe,iBAAiB,YAAY;WAC3C,iBAAiB,SAAY,OAAO,IAAI,wBAAwB,EAAE,QAAQ;AAAA;AAAA,EAG3E,OACN,QACA,QACC;UACK,iBAAiB,iBAAiB,YAAY;UAC9C,iBAAiB,iBAAiB,YAAY;WAE7C,mBAAmB,UAAa,mBAAmB,SACvD,OACA,wBAAwB,YAA0C;AAAA,MAClE,QAAQ;AAAA,QACP,QAAQ,kBAAkB;AAAA,QAC1B,QAAQ,kBAAkB;AAAA;AAAA;AAAA;AAAA;;"}
1
+ {"version":3,"file":"WriteOneRelationBuilder.js","sources":["../../../src/crudQueryBuilder/WriteOneRelationBuilder.ts"],"sourcesContent":["import type { Input } from '@contember/schema'\nimport type { GraphQlLiteral } from '../graphQlBuilder'\nimport type { WriteOperation, WriteRelationOps } from './types'\nimport { WriteDataBuilder } from './WriteDataBuilder'\n\nclass WriteOneRelationBuilder<\n\tOp extends WriteOperation.ContentfulOperation,\n\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n> {\n\tprotected constructor(public readonly data: D = undefined as D) {}\n\n\tpublic static instantiate<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(data: D = undefined as D): WriteOneRelationBuilder.Builder<Op, Allowed, D> {\n\t\treturn new WriteOneRelationBuilder<Op, Allowed, D>(data)\n\t}\n\n\tpublic static instantiateFromFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t>(builder: WriteOneRelationBuilder.BuilderFactory<Op, Allowed, D>): WriteOneRelationBuilder.Builder<Op, never, D> {\n\t\tif (typeof builder === 'function') {\n\t\t\treturn builder(WriteOneRelationBuilder.instantiate())\n\t\t}\n\t\tif (builder && 'data' in builder!) {\n\t\t\treturn WriteOneRelationBuilder.instantiate(builder.data)\n\t\t}\n\t\treturn WriteOneRelationBuilder.instantiate(builder)\n\t}\n\n\tpublic create(data: WriteDataBuilder.DataLike<WriteOperation.Create>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<Op, never>({\n\t\t\t\t\tcreate: resolvedData,\n\t\t\t })\n\t}\n\n\tpublic connect(where: Input.UniqueWhere<GraphQlLiteral>) {\n\t\treturn WriteOneRelationBuilder.instantiate<Op, never>({ connect: where })\n\t}\n\n\tpublic delete() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ delete: true })\n\t}\n\n\tpublic disconnect() {\n\t\treturn WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({ disconnect: true })\n\t}\n\n\tpublic update(data: WriteDataBuilder.DataLike<WriteOperation.Update>) {\n\t\tconst resolvedData = WriteDataBuilder.resolveData(data)\n\t\treturn resolvedData === undefined ? this : new WriteOneRelationBuilder({ update: resolvedData })\n\t}\n\n\tpublic upsert(\n\t\tupdate: WriteDataBuilder.DataLike<WriteOperation.Update>,\n\t\tcreate: WriteDataBuilder.DataLike<WriteOperation.Create>,\n\t) {\n\t\tconst resolvedCreate = WriteDataBuilder.resolveData(create)\n\t\tconst resolvedUpdate = WriteDataBuilder.resolveData(update)\n\n\t\treturn resolvedUpdate === undefined && resolvedCreate === undefined\n\t\t\t? this\n\t\t\t: WriteOneRelationBuilder.instantiate<WriteOperation.Update, never>({\n\t\t\t\t\tupsert: {\n\t\t\t\t\t\tupdate: resolvedUpdate || {},\n\t\t\t\t\t\tcreate: resolvedCreate || {},\n\t\t\t\t\t},\n\t\t\t })\n\t}\n}\n\nnamespace WriteOneRelationBuilder {\n\texport interface DataFormat {\n\t\tcreate: Input.CreateOneRelationInput<GraphQlLiteral>\n\t\tupdate: Input.UpdateOneRelationInput<GraphQlLiteral>\n\t}\n\n\texport type Builder<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = Omit<\n\t\tWriteOneRelationBuilder<Op, Allowed, D>,\n\t\tExclude<WriteRelationOps[WriteOperation.ContentfulOperation['op']], Allowed>\n\t>\n\n\texport type BuilderFactory<\n\t\tOp extends WriteOperation.ContentfulOperation,\n\t\tAllowed extends WriteRelationOps[Op['op']] = WriteRelationOps[Op['op']],\n\t\tD extends WriteOneRelationBuilder.DataFormat[Op['op']] | undefined = WriteOneRelationBuilder.DataFormat[Op['op']],\n\t> = D | Builder<Op, never, D> | ((builder: Builder<Op, Allowed, D>) => Builder<Op, never, D>)\n}\n\nexport { WriteOneRelationBuilder }\n"],"names":[],"mappings":";AAKA,MAAM,wBAIJ;AAAA,EACS,YAA4B,OAAU,QAAgB;AAA1B,SAAA,OAAA;AAAA,EAA2B;AAAA,SAEnD,YAIZ,OAAU,QAAiE;AACrE,WAAA,IAAI,wBAAwC,IAAI;AAAA,EACxD;AAAA,SAEc,uBAIZ,SAAgH;AAC7G,QAAA,OAAO,YAAY,YAAY;AAC3B,aAAA,QAAQ,wBAAwB,YAAA,CAAa;AAAA,IACrD;AACI,QAAA,WAAW,UAAU,SAAU;AAC3B,aAAA,wBAAwB,YAAY,QAAQ,IAAI;AAAA,IACxD;AACO,WAAA,wBAAwB,YAAY,OAAO;AAAA,EACnD;AAAA,EAEO,OAAO,MAAwD;AAC/D,UAAA,eAAe,iBAAiB,YAAY,IAAI;AACtD,WAAO,iBAAiB,SACrB,OACA,wBAAwB,YAAuB;AAAA,MAC/C,QAAQ;AAAA,IAAA,CACP;AAAA,EACL;AAAA,EAEO,QAAQ,OAA0C;AACxD,WAAO,wBAAwB,YAAuB,EAAE,SAAS,MAAO,CAAA;AAAA,EACzE;AAAA,EAEO,SAAS;AACf,WAAO,wBAAwB,YAA0C,EAAE,QAAQ,KAAM,CAAA;AAAA,EAC1F;AAAA,EAEO,aAAa;AACnB,WAAO,wBAAwB,YAA0C,EAAE,YAAY,KAAM,CAAA;AAAA,EAC9F;AAAA,EAEO,OAAO,MAAwD;AAC/D,UAAA,eAAe,iBAAiB,YAAY,IAAI;AAC/C,WAAA,iBAAiB,SAAY,OAAO,IAAI,wBAAwB,EAAE,QAAQ,cAAc;AAAA,EAChG;AAAA,EAEO,OACN,QACA,QACC;AACK,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AACpD,UAAA,iBAAiB,iBAAiB,YAAY,MAAM;AAE1D,WAAO,mBAAmB,UAAa,mBAAmB,SACvD,OACA,wBAAwB,YAA0C;AAAA,MAClE,QAAQ;AAAA,QACP,QAAQ,kBAAkB,CAAC;AAAA,QAC3B,QAAQ,kBAAkB,CAAC;AAAA,MAC5B;AAAA,IAAA,CACC;AAAA,EACL;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sources":["../../../src/crudQueryBuilder/types.ts"],"sourcesContent":["import type { GraphQlBuilder } from '../index'\n\nexport type Mutations = 'create' | 'update' | 'delete'\n\nexport type Queries = 'get' | 'list' | 'paginate'\n\nexport type GetQueryArguments = 'by'\n\nexport type ListQueryArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type PaginateQueryArguments = 'filter' | 'orderBy' | 'skip' | 'first'\n\nexport type CreateMutationArguments = 'data'\n\nexport type UpdateMutationArguments = 'data' | 'by'\n\nexport type DeleteMutationArguments = 'by'\n\nexport type ReductionArguments = 'filter' | 'by'\n\nexport type HasOneArguments = 'filter'\n\nexport type HasManyArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type UpdateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type CreateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type DeleteMutationFields = 'ok' | 'node' | 'errors' | 'errorMessage'\n\nexport type WriteArguments = CreateMutationArguments | UpdateMutationArguments | DeleteMutationArguments\n\nexport type WriteFields = UpdateMutationFields | CreateMutationFields\n\nexport type ReadArguments =\n\t| GetQueryArguments\n\t| ListQueryArguments\n\t| PaginateQueryArguments\n\t| HasOneArguments\n\t| HasManyArguments\n\nexport interface WriteRelationOps {\n\tcreate: 'create' | 'connect'\n\tupdate: 'create' | 'connect' | 'delete' | 'disconnect' | 'update' | 'upsert'\n}\n\nexport type OrderDirection = GraphQlBuilder.GraphQlLiteral<'asc'> | GraphQlBuilder.GraphQlLiteral<'desc'>\n\n// TODO Silly enums because TS does not support enum extension 🙄\n// https://github.com/Microsoft/TypeScript/issues/17592\nexport namespace WriteOperation {\n\texport interface Operation {\n\t\top: 'create' | 'update' | 'delete'\n\t}\n\texport abstract class Operation implements Operation {}\n\n\texport interface ContentfulOperation {\n\t\top: 'create' | 'update'\n\t}\n\texport abstract class ContentfulOperation extends Operation implements ContentfulOperation {}\n\n\texport class Update extends ContentfulOperation {\n\t\toverride readonly op = 'update' as const\n\t}\n\n\texport class Create extends ContentfulOperation {\n\t\toverride readonly op = 'create' as const\n\t}\n\n\texport class Delete extends Operation {\n\t\toverride readonly op = 'delete' as const\n\t}\n}\n"],"names":[],"mappings":";;;;;;IAkDiB;AAAV,EAAU,oBAAV;kBAI+C;AAAA;kBAA/B;oCAK4B,UAAyC;AAAA;kBAArE;uBAEM,oBAAoB;AAAA;;AAC7B,gCAAK;AAAA;AAAA;kBADX;uBAIe,oBAAoB;AAAA;;AAC7B,gCAAK;AAAA;AAAA;kBADX;uBAIe,UAAU;AAAA;;AACnB,gCAAK;AAAA;AAAA;kBADX;GAnBG;;"}
1
+ {"version":3,"file":"types.js","sources":["../../../src/crudQueryBuilder/types.ts"],"sourcesContent":["import type { GraphQlBuilder } from '../index'\n\nexport type Mutations = 'create' | 'update' | 'delete'\n\nexport type Queries = 'get' | 'list' | 'paginate'\n\nexport type GetQueryArguments = 'by'\n\nexport type ListQueryArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type PaginateQueryArguments = 'filter' | 'orderBy' | 'skip' | 'first'\n\nexport type CreateMutationArguments = 'data'\n\nexport type UpdateMutationArguments = 'data' | 'by'\n\nexport type DeleteMutationArguments = 'by'\n\nexport type ReductionArguments = 'filter' | 'by'\n\nexport type HasOneArguments = 'filter'\n\nexport type HasManyArguments = 'filter' | 'orderBy' | 'offset' | 'limit'\n\nexport type UpdateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type CreateMutationFields = 'ok' | 'validation' | 'errors' | 'errorMessage' | 'node'\n\nexport type DeleteMutationFields = 'ok' | 'node' | 'errors' | 'errorMessage'\n\nexport type WriteArguments = CreateMutationArguments | UpdateMutationArguments | DeleteMutationArguments\n\nexport type WriteFields = UpdateMutationFields | CreateMutationFields\n\nexport type ReadArguments =\n\t| GetQueryArguments\n\t| ListQueryArguments\n\t| PaginateQueryArguments\n\t| HasOneArguments\n\t| HasManyArguments\n\nexport interface WriteRelationOps {\n\tcreate: 'create' | 'connect'\n\tupdate: 'create' | 'connect' | 'delete' | 'disconnect' | 'update' | 'upsert'\n}\n\nexport type OrderDirection = GraphQlBuilder.GraphQlLiteral<'asc'> | GraphQlBuilder.GraphQlLiteral<'desc'>\n\n// TODO Silly enums because TS does not support enum extension 🙄\n// https://github.com/Microsoft/TypeScript/issues/17592\nexport namespace WriteOperation {\n\texport interface Operation {\n\t\top: 'create' | 'update' | 'delete'\n\t}\n\texport abstract class Operation implements Operation {}\n\n\texport interface ContentfulOperation {\n\t\top: 'create' | 'update'\n\t}\n\texport abstract class ContentfulOperation extends Operation implements ContentfulOperation {}\n\n\texport class Update extends ContentfulOperation {\n\t\toverride readonly op = 'update' as const\n\t}\n\n\texport class Create extends ContentfulOperation {\n\t\toverride readonly op = 'create' as const\n\t}\n\n\texport class Delete extends Operation {\n\t\toverride readonly op = 'delete' as const\n\t}\n}\n"],"names":[],"mappings":";;;;;;AAkDiB,IAAA;AAAV,AAAA,EAAU,oBAAV;AAIC,QAAe,UAA+B;AAAA,EAAC;AAAhC,kBAAA,YAAA;AAKf,QAAe,4BAA4B,UAAyC;AAAA,EAAC;AAAtE,kBAAA,sBAAA;AAEf,QAAM,eAAe,oBAAoB;AAAA,IAAzC;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFa,kBAAA,SAAA;AAIN,QAAM,eAAe,oBAAoB;AAAA,IAAzC;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFa,kBAAA,SAAA;AAIN,QAAM,eAAe,UAAU;AAAA,IAA/B;AAAA;AACY,gCAAK;AAAA;AAAA,EACxB;AAFa,kBAAA,SAAA;AAAA,GAnBG,kBAAA,kBAAA,CAAA,EAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlBuilderError.js","sources":["../../../src/graphQlBuilder/GraphQlBuilderError.ts"],"sourcesContent":["export class GraphQlBuilderError extends Error {}\n"],"names":[],"mappings":"kCAAyC,MAAM;AAAA;;"}
1
+ {"version":3,"file":"GraphQlBuilderError.js","sources":["../../../src/graphQlBuilder/GraphQlBuilderError.ts"],"sourcesContent":["export class GraphQlBuilderError extends Error {}\n"],"names":[],"mappings":"AAAO,MAAM,4BAA4B,MAAM;AAAC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlLiteral.js","sources":["../../../src/graphQlBuilder/GraphQlLiteral.ts"],"sourcesContent":["export class GraphQlLiteral<Value extends string = string> {\n\tconstructor(public readonly value: Value) {}\n\n\tpublic toString() {\n\t\treturn `Literal(${this.value})`\n\t}\n}\n"],"names":[],"mappings":"qBAA2D;AAAA,EAC1D,YAA4B,OAAc;;;EAEnC,WAAW;WACV,WAAW,KAAK;AAAA;AAAA;;"}
1
+ {"version":3,"file":"GraphQlLiteral.js","sources":["../../../src/graphQlBuilder/GraphQlLiteral.ts"],"sourcesContent":["export class GraphQlLiteral<Value extends string = string> {\n\tconstructor(public readonly value: Value) {}\n\n\tpublic toString() {\n\t\treturn `Literal(${this.value})`\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,eAA8C;AAAA,EAC1D,YAA4B,OAAc;AAAd,SAAA,QAAA;AAAA,EAAe;AAAA,EAEpC,WAAW;AACjB,WAAO,WAAW,KAAK;AAAA,EACxB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectBuilder.js","sources":["../../../src/graphQlBuilder/ObjectBuilder.ts"],"sourcesContent":["export class ObjectBuilder {\n\tconstructor(\n\t\tpublic readonly fields: string[] = [],\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly args: { [name: string]: any } = {},\n\t\tpublic readonly fragmentApplications: string[] = [],\n\t\tpublic readonly inlineFragments: { [typeName: string]: ObjectBuilder } = {},\n\t\tpublic readonly objectName?: string,\n\t) {}\n\n\tpublic argument(name: string, value: any): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\t{ ...this.args, [name]: value },\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic name(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tname,\n\t\t)\n\t}\n\n\tpublic field(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\t[...this.fields, name],\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\t{ ...this.objects, [name]: builder },\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic inlineFragment(\n\t\ttypeName: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\t{ ...this.inlineFragments, [typeName]: builder },\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic applyFragment(fragmentName: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\t[...this.fragmentApplications, fragmentName],\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"oBAA2B;AAAA,EAC1B,YACiB,SAAmB,IACnB,UAA6C,IAC7C,OAAgC,IAChC,uBAAiC,IACjC,kBAAyD,IACzD,YACf;;;;;;;;EAEK,SAAS,MAAc,OAA2B;WACjD,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,KAAK,OAAO,OAAO,SACxB,KAAK,sBACL,KAAK,iBACL,KAAK;AAAA;AAAA,EAIA,KAAK,MAA6B;WACjC,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,iBACL;AAAA;AAAA,EAIK,MAAM,MAA6B;WAClC,IAAI,cACV,CAAC,GAAG,KAAK,QAAQ,OACjB,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,iBACL,KAAK;AAAA;AAAA,EAIA,OAAO,MAAc,SAAqF;QAC5G,qBAAqB,gBAAgB;gBAC9B,QAAQ,IAAI;AAAA;WAGhB,IAAI,cACV,KAAK,QACL,KAAK,KAAK,UAAU,OAAO,WAC3B,KAAK,MACL,KAAK,sBACL,KAAK,iBACL,KAAK;AAAA;AAAA,EAIA,eACN,UACA,SACgB;QACZ,qBAAqB,gBAAgB;gBAC9B,QAAQ,IAAI;AAAA;WAGhB,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,KAAK,kBAAkB,WAAW,WACvC,KAAK;AAAA;AAAA,EAIA,cAAc,cAAqC;WAClD,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,CAAC,GAAG,KAAK,sBAAsB,eAC/B,KAAK,iBACL,KAAK;AAAA;AAAA;;"}
1
+ {"version":3,"file":"ObjectBuilder.js","sources":["../../../src/graphQlBuilder/ObjectBuilder.ts"],"sourcesContent":["export class ObjectBuilder {\n\tconstructor(\n\t\tpublic readonly fields: string[] = [],\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly args: { [name: string]: any } = {},\n\t\tpublic readonly fragmentApplications: string[] = [],\n\t\tpublic readonly inlineFragments: { [typeName: string]: ObjectBuilder } = {},\n\t\tpublic readonly objectName?: string,\n\t) {}\n\n\tpublic argument(name: string, value: any): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\t{ ...this.args, [name]: value },\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic name(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tname,\n\t\t)\n\t}\n\n\tpublic field(name: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\t[...this.fields, name],\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\t{ ...this.objects, [name]: builder },\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic inlineFragment(\n\t\ttypeName: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): ObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\tthis.fragmentApplications,\n\t\t\t{ ...this.inlineFragments, [typeName]: builder },\n\t\t\tthis.objectName,\n\t\t)\n\t}\n\n\tpublic applyFragment(fragmentName: string): ObjectBuilder {\n\t\treturn new ObjectBuilder(\n\t\t\tthis.fields,\n\t\t\tthis.objects,\n\t\t\tthis.args,\n\t\t\t[...this.fragmentApplications, fragmentName],\n\t\t\tthis.inlineFragments,\n\t\t\tthis.objectName,\n\t\t)\n\t}\n}\n"],"names":[],"mappings":"AAAO,MAAM,cAAc;AAAA,EAC1B,YACiB,SAAmB,IACnB,UAA6C,CAAA,GAC7C,OAAgC,CAAC,GACjC,uBAAiC,CAAC,GAClC,kBAAyD,CAAA,GACzD,YACf;AANe,SAAA,SAAA;AACA,SAAA,UAAA;AACA,SAAA,OAAA;AACA,SAAA,uBAAA;AACA,SAAA,kBAAA;AACA,SAAA,aAAA;AAAA,EACd;AAAA,EAEI,SAAS,MAAc,OAA2B;AACxD,WAAO,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,KAAK,OAAO,OAAO,SACxB,KAAK,sBACL,KAAK,iBACL,KAAK,UACN;AAAA,EACD;AAAA,EAEO,KAAK,MAA6B;AACxC,WAAO,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,iBACL,IACD;AAAA,EACD;AAAA,EAEO,MAAM,MAA6B;AACzC,WAAO,IAAI,cACV,CAAC,GAAG,KAAK,QAAQ,IAAI,GACrB,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,iBACL,KAAK,UACN;AAAA,EACD;AAAA,EAEO,OAAO,MAAc,SAAqF;AAC5G,QAAA,qBAAqB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,WAAO,IAAI,cACV,KAAK,QACL,KAAK,KAAK,UAAU,OAAO,QAAQ,GACnC,KAAK,MACL,KAAK,sBACL,KAAK,iBACL,KAAK,UACN;AAAA,EACD;AAAA,EAEO,eACN,UACA,SACgB;AACZ,QAAA,qBAAqB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,WAAO,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,KAAK,sBACL,KAAK,KAAK,kBAAkB,WAAW,WACvC,KAAK,UACN;AAAA,EACD;AAAA,EAEO,cAAc,cAAqC;AACzD,WAAO,IAAI,cACV,KAAK,QACL,KAAK,SACL,KAAK,MACL,CAAC,GAAG,KAAK,sBAAsB,YAAY,GAC3C,KAAK,iBACL,KAAK,UACN;AAAA,EACD;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilder.js","sources":["../../../src/graphQlBuilder/QueryBuilder.ts"],"sourcesContent":["import type { GraphQlLiteral } from './GraphQlLiteral'\nimport { QueryCompiler } from './QueryCompiler'\nimport { RootObjectBuilder } from './RootObjectBuilder'\n\nclass QueryBuilder {\n\tquery(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('query', builder)\n\t\treturn compiler.create()\n\t}\n\n\tmutation(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('mutation', builder)\n\t\treturn compiler.create()\n\t}\n}\n\nnamespace QueryBuilder {\n\texport interface Object {\n\t\t[key: string]: Value\n\t}\n\n\texport interface List extends Array<Value> {}\n\n\texport type AtomicValue = string | null | number | boolean | GraphQlLiteral\n\texport type Value = AtomicValue | QueryBuilder.Object | List\n}\n\nexport { QueryBuilder }\n"],"names":[],"mappings":";;AAIA,mBAAmB;AAAA,EAClB,MAAM,SAA0F;QAC3F,qBAAqB,oBAAoB;gBAClC,QAAQ,IAAI;AAAA;UAEjB,WAAW,IAAI,cAAc,SAAS;WACrC,SAAS;AAAA;AAAA,EAGjB,SAAS,SAA0F;QAC9F,qBAAqB,oBAAoB;gBAClC,QAAQ,IAAI;AAAA;UAEjB,WAAW,IAAI,cAAc,YAAY;WACxC,SAAS;AAAA;AAAA;;"}
1
+ {"version":3,"file":"QueryBuilder.js","sources":["../../../src/graphQlBuilder/QueryBuilder.ts"],"sourcesContent":["import type { GraphQlLiteral } from './GraphQlLiteral'\nimport { QueryCompiler } from './QueryCompiler'\nimport { RootObjectBuilder } from './RootObjectBuilder'\n\nclass QueryBuilder {\n\tquery(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('query', builder)\n\t\treturn compiler.create()\n\t}\n\n\tmutation(builder: ((builder: RootObjectBuilder) => RootObjectBuilder) | RootObjectBuilder): string {\n\t\tif (!(builder instanceof RootObjectBuilder)) {\n\t\t\tbuilder = builder(new RootObjectBuilder())\n\t\t}\n\t\tconst compiler = new QueryCompiler('mutation', builder)\n\t\treturn compiler.create()\n\t}\n}\n\nnamespace QueryBuilder {\n\texport interface Object {\n\t\t[key: string]: Value\n\t}\n\n\texport interface List extends Array<Value> {}\n\n\texport type AtomicValue = string | null | number | boolean | GraphQlLiteral\n\texport type Value = AtomicValue | QueryBuilder.Object | List\n}\n\nexport { QueryBuilder }\n"],"names":[],"mappings":";;AAIA,MAAM,aAAa;AAAA,EAClB,MAAM,SAA0F;AAC3F,QAAA,qBAAqB,oBAAoB;AAClC,gBAAA,QAAQ,IAAI,kBAAA,CAAmB;AAAA,IAC1C;AACA,UAAM,WAAW,IAAI,cAAc,SAAS,OAAO;AACnD,WAAO,SAAS;EACjB;AAAA,EAEA,SAAS,SAA0F;AAC9F,QAAA,qBAAqB,oBAAoB;AAClC,gBAAA,QAAQ,IAAI,kBAAA,CAAmB;AAAA,IAC1C;AACA,UAAM,WAAW,IAAI,cAAc,YAAY,OAAO;AACtD,WAAO,SAAS;EACjB;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryCompiler.js","sources":["../../../src/graphQlBuilder/QueryCompiler.ts"],"sourcesContent":["import { GraphQlLiteral } from './GraphQlLiteral'\nimport type { ObjectBuilder } from './ObjectBuilder'\nimport type { RootObjectBuilder } from './RootObjectBuilder'\n\nexport class QueryCompiler {\n\tconstructor(private operation: 'query' | 'mutation', private builder: RootObjectBuilder) {}\n\n\tpublic create(): string {\n\t\tconst rootObjects = this.formatRootObjects(this.builder.objects)\n\t\tconst fragmentDefinitions = this.formatFragmentDefinitions(this.builder.fragmentDefinitions)\n\n\t\treturn `${this.operation} {\\n${rootObjects}\\n}${fragmentDefinitions ? `\\n${fragmentDefinitions}` : ''}`\n\t}\n\n\tprivate formatFragmentDefinitions(fragments: RootObjectBuilder['fragmentDefinitions']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const name in fragments) {\n\t\t\tconst object = fragments[name]\n\n\t\t\tlines.push(`fragment ${name} on ${object.objectName!} {`)\n\t\t\tlines.push(...this.formatObjectBody(object))\n\t\t\tlines.push('}')\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatRootObjects(objects: RootObjectBuilder['objects']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const alias in objects) {\n\t\t\tlines.push(...this.formatObject(alias, objects[alias]).map(val => `\\t${val}`))\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatObject(alias: string, builder: ObjectBuilder): string[] {\n\t\tconst result = []\n\n\t\tresult.push(`${alias}${builder.objectName ? `: ${builder.objectName}` : ''}${this.formatArgs(builder.args, 0)} {`)\n\n\t\tresult.push(...this.formatObjectBody(builder))\n\n\t\tresult.push('}')\n\n\t\treturn result\n\t}\n\n\tprivate formatObjectBody(builder: ObjectBuilder): string[] {\n\t\tconst result = []\n\t\tfor (const fieldName of builder.fields) {\n\t\t\tresult.push(fieldName)\n\t\t}\n\t\tfor (const fragmentName of builder.fragmentApplications) {\n\t\t\tresult.push(`... ${fragmentName}`)\n\t\t}\n\t\tfor (const typeName in builder.inlineFragments) {\n\t\t\tconst fragment = builder.inlineFragments[typeName]\n\t\t\tresult.push(`... on ${typeName} {`, ...this.formatObjectBody(fragment), '}')\n\t\t}\n\t\tfor (const alias in builder.objects) {\n\t\t\tresult.push(...this.formatObject(alias, builder.objects[alias]))\n\t\t}\n\t\treturn result.map(val => `\\t${val}`)\n\t}\n\n\tprivate formatArgs(args: any, level: number): string {\n\t\tif (args === null) {\n\t\t\treturn 'null'\n\t\t}\n\n\t\tif (typeof args === 'number') {\n\t\t\treturn args.toString()\n\t\t}\n\n\t\tif (typeof args === 'boolean') {\n\t\t\treturn args ? 'true' : 'false'\n\t\t}\n\t\tif (typeof args === 'string') {\n\t\t\treturn JSON.stringify(args)\n\t\t}\n\n\t\tif (Array.isArray(args)) {\n\t\t\tconst vals = args.map(val => this.formatArgs(val, level + 1))\n\t\t\treturn `[${vals.join(', ')}]`\n\t\t}\n\t\tif (args instanceof GraphQlLiteral) {\n\t\t\treturn args.value\n\t\t}\n\n\t\tif (typeof args === 'object') {\n\t\t\tlet result = ''\n\t\t\tfor (let key in args) {\n\t\t\t\tconst argValue = args[key]\n\t\t\t\tif (argValue === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tresult += `${key}: ${this.formatArgs(argValue, level + 1)}, `\n\t\t\t}\n\t\t\tif (result.length > 0) {\n\t\t\t\tresult = result.substring(0, result.length - 2)\n\t\t\t}\n\t\t\tif (level > 0) {\n\t\t\t\treturn `{${result}}`\n\t\t\t} else if (result.length > 0) {\n\t\t\t\treturn `(${result})`\n\t\t\t}\n\t\t\treturn ''\n\t\t}\n\n\t\tthrow new Error(typeof args)\n\t}\n}\n"],"names":[],"mappings":";oBAI2B;AAAA,EAC1B,YAAoB,WAAyC,SAA4B;;;;EAElF,SAAiB;UACjB,cAAc,KAAK,kBAAkB,KAAK,QAAQ;UAClD,sBAAsB,KAAK,0BAA0B,KAAK,QAAQ;WAEjE,GAAG,KAAK;AAAA,EAAgB;AAAA,GAAiB,sBAAsB;AAAA,EAAK,wBAAwB;AAAA;AAAA,EAG5F,0BAA0B,WAA6D;UACxF,QAAkB;eAEb,QAAQ,WAAW;YACvB,SAAS,UAAU;YAEnB,KAAK,YAAY,WAAW,OAAO;YACnC,KAAK,GAAG,KAAK,iBAAiB;YAC9B,KAAK;AAAA;WAGL,MAAM,KAAK;AAAA;AAAA,EAGX,kBAAkB,SAA+C;UAClE,QAAkB;eAEb,SAAS,SAAS;YACtB,KAAK,GAAG,KAAK,aAAa,OAAO,QAAQ,QAAQ,IAAI,SAAO,IAAK;AAAA;WAGjE,MAAM,KAAK;AAAA;AAAA,EAGX,aAAa,OAAe,SAAkC;UAC/D,SAAS;WAER,KAAK,GAAG,QAAQ,QAAQ,aAAa,KAAK,QAAQ,eAAe,KAAK,KAAK,WAAW,QAAQ,MAAM;WAEpG,KAAK,GAAG,KAAK,iBAAiB;WAE9B,KAAK;WAEL;AAAA;AAAA,EAGA,iBAAiB,SAAkC;UACpD,SAAS;eACJ,aAAa,QAAQ,QAAQ;aAChC,KAAK;AAAA;eAEF,gBAAgB,QAAQ,sBAAsB;aACjD,KAAK,OAAO;AAAA;eAET,YAAY,QAAQ,iBAAiB;YACzC,WAAW,QAAQ,gBAAgB;aAClC,KAAK,UAAU,cAAc,GAAG,KAAK,iBAAiB,WAAW;AAAA;eAE9D,SAAS,QAAQ,SAAS;aAC7B,KAAK,GAAG,KAAK,aAAa,OAAO,QAAQ,QAAQ;AAAA;WAElD,OAAO,IAAI,SAAO,IAAK;AAAA;AAAA,EAGvB,WAAW,MAAW,OAAuB;QAChD,SAAS,MAAM;aACX;AAAA;QAGJ,OAAO,SAAS,UAAU;aACtB,KAAK;AAAA;QAGT,OAAO,SAAS,WAAW;aACvB,OAAO,SAAS;AAAA;QAEpB,OAAO,SAAS,UAAU;aACtB,KAAK,UAAU;AAAA;QAGnB,MAAM,QAAQ,OAAO;YAClB,OAAO,KAAK,IAAI,SAAO,KAAK,WAAW,KAAK,QAAQ;aACnD,IAAI,KAAK,KAAK;AAAA;QAElB,gBAAgB,gBAAgB;aAC5B,KAAK;AAAA;QAGT,OAAO,SAAS,UAAU;UACzB,SAAS;eACJ,OAAO,MAAM;cACf,WAAW,KAAK;YAClB,aAAa,QAAW;;;kBAGlB,GAAG,QAAQ,KAAK,WAAW,UAAU,QAAQ;AAAA;UAEpD,OAAO,SAAS,GAAG;iBACb,OAAO,UAAU,GAAG,OAAO,SAAS;AAAA;UAE1C,QAAQ,GAAG;eACP,IAAI;AAAA,iBACD,OAAO,SAAS,GAAG;eACtB,IAAI;AAAA;aAEL;AAAA;UAGF,IAAI,MAAM,OAAO;AAAA;AAAA;;"}
1
+ {"version":3,"file":"QueryCompiler.js","sources":["../../../src/graphQlBuilder/QueryCompiler.ts"],"sourcesContent":["import { GraphQlLiteral } from './GraphQlLiteral'\nimport type { ObjectBuilder } from './ObjectBuilder'\nimport type { RootObjectBuilder } from './RootObjectBuilder'\n\nexport class QueryCompiler {\n\tconstructor(private operation: 'query' | 'mutation', private builder: RootObjectBuilder) {}\n\n\tpublic create(): string {\n\t\tconst rootObjects = this.formatRootObjects(this.builder.objects)\n\t\tconst fragmentDefinitions = this.formatFragmentDefinitions(this.builder.fragmentDefinitions)\n\n\t\treturn `${this.operation} {\\n${rootObjects}\\n}${fragmentDefinitions ? `\\n${fragmentDefinitions}` : ''}`\n\t}\n\n\tprivate formatFragmentDefinitions(fragments: RootObjectBuilder['fragmentDefinitions']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const name in fragments) {\n\t\t\tconst object = fragments[name]\n\n\t\t\tlines.push(`fragment ${name} on ${object.objectName!} {`)\n\t\t\tlines.push(...this.formatObjectBody(object))\n\t\t\tlines.push('}')\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatRootObjects(objects: RootObjectBuilder['objects']): string {\n\t\tconst lines: string[] = []\n\n\t\tfor (const alias in objects) {\n\t\t\tlines.push(...this.formatObject(alias, objects[alias]).map(val => `\\t${val}`))\n\t\t}\n\n\t\treturn lines.join('\\n')\n\t}\n\n\tprivate formatObject(alias: string, builder: ObjectBuilder): string[] {\n\t\tconst result = []\n\n\t\tresult.push(`${alias}${builder.objectName ? `: ${builder.objectName}` : ''}${this.formatArgs(builder.args, 0)} {`)\n\n\t\tresult.push(...this.formatObjectBody(builder))\n\n\t\tresult.push('}')\n\n\t\treturn result\n\t}\n\n\tprivate formatObjectBody(builder: ObjectBuilder): string[] {\n\t\tconst result = []\n\t\tfor (const fieldName of builder.fields) {\n\t\t\tresult.push(fieldName)\n\t\t}\n\t\tfor (const fragmentName of builder.fragmentApplications) {\n\t\t\tresult.push(`... ${fragmentName}`)\n\t\t}\n\t\tfor (const typeName in builder.inlineFragments) {\n\t\t\tconst fragment = builder.inlineFragments[typeName]\n\t\t\tresult.push(`... on ${typeName} {`, ...this.formatObjectBody(fragment), '}')\n\t\t}\n\t\tfor (const alias in builder.objects) {\n\t\t\tresult.push(...this.formatObject(alias, builder.objects[alias]))\n\t\t}\n\t\treturn result.map(val => `\\t${val}`)\n\t}\n\n\tprivate formatArgs(args: any, level: number): string {\n\t\tif (args === null) {\n\t\t\treturn 'null'\n\t\t}\n\n\t\tif (typeof args === 'number') {\n\t\t\treturn args.toString()\n\t\t}\n\n\t\tif (typeof args === 'boolean') {\n\t\t\treturn args ? 'true' : 'false'\n\t\t}\n\t\tif (typeof args === 'string') {\n\t\t\treturn JSON.stringify(args)\n\t\t}\n\n\t\tif (Array.isArray(args)) {\n\t\t\tconst vals = args.map(val => this.formatArgs(val, level + 1))\n\t\t\treturn `[${vals.join(', ')}]`\n\t\t}\n\t\tif (args instanceof GraphQlLiteral) {\n\t\t\treturn args.value\n\t\t}\n\n\t\tif (typeof args === 'object') {\n\t\t\tlet result = ''\n\t\t\tfor (let key in args) {\n\t\t\t\tconst argValue = args[key]\n\t\t\t\tif (argValue === undefined) {\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\t\t\t\tresult += `${key}: ${this.formatArgs(argValue, level + 1)}, `\n\t\t\t}\n\t\t\tif (result.length > 0) {\n\t\t\t\tresult = result.substring(0, result.length - 2)\n\t\t\t}\n\t\t\tif (level > 0) {\n\t\t\t\treturn `{${result}}`\n\t\t\t} else if (result.length > 0) {\n\t\t\t\treturn `(${result})`\n\t\t\t}\n\t\t\treturn ''\n\t\t}\n\n\t\tthrow new Error(typeof args)\n\t}\n}\n"],"names":[],"mappings":";AAIO,MAAM,cAAc;AAAA,EAC1B,YAAoB,WAAyC,SAA4B;AAArE,SAAA,YAAA;AAAyC,SAAA,UAAA;AAAA,EAA6B;AAAA,EAEnF,SAAiB;AACvB,UAAM,cAAc,KAAK,kBAAkB,KAAK,QAAQ,OAAO;AAC/D,UAAM,sBAAsB,KAAK,0BAA0B,KAAK,QAAQ,mBAAmB;AAE3F,WAAO,GAAG,KAAK;AAAA,EAAgB;AAAA,GAAiB,sBAAsB;AAAA,EAAK,wBAAwB;AAAA,EACpG;AAAA,EAEQ,0BAA0B,WAA6D;AAC9F,UAAM,QAAkB,CAAA;AAExB,eAAW,QAAQ,WAAW;AAC7B,YAAM,SAAS,UAAU;AAEzB,YAAM,KAAK,YAAY,WAAW,OAAO,cAAe;AACxD,YAAM,KAAK,GAAG,KAAK,iBAAiB,MAAM,CAAC;AAC3C,YAAM,KAAK,GAAG;AAAA,IACf;AAEO,WAAA,MAAM,KAAK,IAAI;AAAA,EACvB;AAAA,EAEQ,kBAAkB,SAA+C;AACxE,UAAM,QAAkB,CAAA;AAExB,eAAW,SAAS,SAAS;AAC5B,YAAM,KAAK,GAAG,KAAK,aAAa,OAAO,QAAQ,MAAM,EAAE,IAAI,CAAA,QAAO,IAAK,KAAK,CAAC;AAAA,IAC9E;AAEO,WAAA,MAAM,KAAK,IAAI;AAAA,EACvB;AAAA,EAEQ,aAAa,OAAe,SAAkC;AACrE,UAAM,SAAS,CAAA;AAEf,WAAO,KAAK,GAAG,QAAQ,QAAQ,aAAa,KAAK,QAAQ,eAAe,KAAK,KAAK,WAAW,QAAQ,MAAM,CAAC,KAAK;AAEjH,WAAO,KAAK,GAAG,KAAK,iBAAiB,OAAO,CAAC;AAE7C,WAAO,KAAK,GAAG;AAER,WAAA;AAAA,EACR;AAAA,EAEQ,iBAAiB,SAAkC;AAC1D,UAAM,SAAS,CAAA;AACJ,eAAA,aAAa,QAAQ,QAAQ;AACvC,aAAO,KAAK,SAAS;AAAA,IACtB;AACW,eAAA,gBAAgB,QAAQ,sBAAsB;AACjD,aAAA,KAAK,OAAO,cAAc;AAAA,IAClC;AACW,eAAA,YAAY,QAAQ,iBAAiB;AACzC,YAAA,WAAW,QAAQ,gBAAgB;AAClC,aAAA,KAAK,UAAU,cAAc,GAAG,KAAK,iBAAiB,QAAQ,GAAG,GAAG;AAAA,IAC5E;AACW,eAAA,SAAS,QAAQ,SAAS;AAC7B,aAAA,KAAK,GAAG,KAAK,aAAa,OAAO,QAAQ,QAAQ,MAAM,CAAC;AAAA,IAChE;AACA,WAAO,OAAO,IAAI,CAAO,QAAA,IAAK,KAAK;AAAA,EACpC;AAAA,EAEQ,WAAW,MAAW,OAAuB;AACpD,QAAI,SAAS,MAAM;AACX,aAAA;AAAA,IACR;AAEI,QAAA,OAAO,SAAS,UAAU;AAC7B,aAAO,KAAK;IACb;AAEI,QAAA,OAAO,SAAS,WAAW;AAC9B,aAAO,OAAO,SAAS;AAAA,IACxB;AACI,QAAA,OAAO,SAAS,UAAU;AACtB,aAAA,KAAK,UAAU,IAAI;AAAA,IAC3B;AAEI,QAAA,MAAM,QAAQ,IAAI,GAAG;AAClB,YAAA,OAAO,KAAK,IAAI,CAAA,QAAO,KAAK,WAAW,KAAK,QAAQ,CAAC,CAAC;AACrD,aAAA,IAAI,KAAK,KAAK,IAAI;AAAA,IAC1B;AACA,QAAI,gBAAgB,gBAAgB;AACnC,aAAO,KAAK;AAAA,IACb;AAEI,QAAA,OAAO,SAAS,UAAU;AAC7B,UAAI,SAAS;AACb,eAAS,OAAO,MAAM;AACrB,cAAM,WAAW,KAAK;AACtB,YAAI,aAAa,QAAW;AAC3B;AAAA,QACD;AACA,kBAAU,GAAG,QAAQ,KAAK,WAAW,UAAU,QAAQ,CAAC;AAAA,MACzD;AACI,UAAA,OAAO,SAAS,GAAG;AACtB,iBAAS,OAAO,UAAU,GAAG,OAAO,SAAS,CAAC;AAAA,MAC/C;AACA,UAAI,QAAQ,GAAG;AACd,eAAO,IAAI;AAAA,MAAA,WACD,OAAO,SAAS,GAAG;AAC7B,eAAO,IAAI;AAAA,MACZ;AACO,aAAA;AAAA,IACR;AAEM,UAAA,IAAI,MAAM,OAAO,IAAI;AAAA,EAC5B;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootObjectBuilder.js","sources":["../../../src/graphQlBuilder/RootObjectBuilder.ts"],"sourcesContent":["import { isEmptyObject } from '../utils'\nimport { GraphQlBuilderError } from './GraphQlBuilderError'\nimport { ObjectBuilder } from './ObjectBuilder'\n\nexport class RootObjectBuilder {\n\tconstructor(\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly fragmentDefinitions: { [name: string]: ObjectBuilder } = {},\n\t) {}\n\n\tpublic fragment(\n\t\tname: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\tif (!isEmptyObject(builder.args)) {\n\t\t\tthrow new GraphQlBuilderError(`Cannot supply args to Graph QL fragments!`)\n\t\t}\n\t\tif (!builder.objectName) {\n\t\t\tthrow new GraphQlBuilderError(`Object names are mandatory for Graph QL fragments!`)\n\t\t}\n\n\t\treturn new RootObjectBuilder(this.objects, { ...this.fragmentDefinitions, [name]: builder })\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new RootObjectBuilder({ ...this.objects, [name]: builder }, this.fragmentDefinitions)\n\t}\n}\n"],"names":[],"mappings":";;;wBAI+B;AAAA,EAC9B,YACiB,UAA6C,IAC7C,sBAAyD,IACxE;;;;EAEK,SACN,MACA,SACoB;QAChB,qBAAqB,gBAAgB;gBAC9B,QAAQ,IAAI;AAAA;QAGnB,CAAC,cAAc,QAAQ,OAAO;YAC3B,IAAI,oBAAoB;AAAA;QAE3B,CAAC,QAAQ,YAAY;YAClB,IAAI,oBAAoB;AAAA;WAGxB,IAAI,kBAAkB,KAAK,SAAS,KAAK,KAAK,sBAAsB,OAAO;AAAA;AAAA,EAG5E,OAAO,MAAc,SAAyF;QAChH,qBAAqB,gBAAgB;gBAC9B,QAAQ,IAAI;AAAA;WAGhB,IAAI,kBAAkB,KAAK,KAAK,UAAU,OAAO,WAAW,KAAK;AAAA;AAAA;;"}
1
+ {"version":3,"file":"RootObjectBuilder.js","sources":["../../../src/graphQlBuilder/RootObjectBuilder.ts"],"sourcesContent":["import { isEmptyObject } from '../utils'\nimport { GraphQlBuilderError } from './GraphQlBuilderError'\nimport { ObjectBuilder } from './ObjectBuilder'\n\nexport class RootObjectBuilder {\n\tconstructor(\n\t\tpublic readonly objects: { [name: string]: ObjectBuilder } = {},\n\t\tpublic readonly fragmentDefinitions: { [name: string]: ObjectBuilder } = {},\n\t) {}\n\n\tpublic fragment(\n\t\tname: string,\n\t\tbuilder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder,\n\t): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\tif (!isEmptyObject(builder.args)) {\n\t\t\tthrow new GraphQlBuilderError(`Cannot supply args to Graph QL fragments!`)\n\t\t}\n\t\tif (!builder.objectName) {\n\t\t\tthrow new GraphQlBuilderError(`Object names are mandatory for Graph QL fragments!`)\n\t\t}\n\n\t\treturn new RootObjectBuilder(this.objects, { ...this.fragmentDefinitions, [name]: builder })\n\t}\n\n\tpublic object(name: string, builder: ((builder: ObjectBuilder) => ObjectBuilder) | ObjectBuilder): RootObjectBuilder {\n\t\tif (!(builder instanceof ObjectBuilder)) {\n\t\t\tbuilder = builder(new ObjectBuilder())\n\t\t}\n\n\t\treturn new RootObjectBuilder({ ...this.objects, [name]: builder }, this.fragmentDefinitions)\n\t}\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,kBAAkB;AAAA,EAC9B,YACiB,UAA6C,IAC7C,sBAAyD,CAAA,GACxE;AAFe,SAAA,UAAA;AACA,SAAA,sBAAA;AAAA,EACd;AAAA,EAEI,SACN,MACA,SACoB;AAChB,QAAA,qBAAqB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEA,QAAI,CAAC,cAAc,QAAQ,IAAI,GAAG;AAC3B,YAAA,IAAI,oBAAoB,2CAA2C;AAAA,IAC1E;AACI,QAAA,CAAC,QAAQ,YAAY;AAClB,YAAA,IAAI,oBAAoB,oDAAoD;AAAA,IACnF;AAEO,WAAA,IAAI,kBAAkB,KAAK,SAAS,KAAK,KAAK,sBAAsB,OAAO,QAAA,CAAS;AAAA,EAC5F;AAAA,EAEO,OAAO,MAAc,SAAyF;AAChH,QAAA,qBAAqB,gBAAgB;AAC9B,gBAAA,QAAQ,IAAI,cAAA,CAAe;AAAA,IACtC;AAEO,WAAA,IAAI,kBAAkB,KAAK,KAAK,UAAU,OAAO,QAAW,GAAA,KAAK,mBAAmB;AAAA,EAC5F;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GraphQlClient.js","sources":["../../../src/graphQlClient/GraphQlClient.ts"],"sourcesContent":["export interface GraphQlClientRequestOptions {\n\tvariables?: GraphQlClientVariables\n\tapiTokenOverride?: string\n\tsignal?: AbortSignal\n\theaders?: Record<string, string>\n}\n\nexport interface GraphQlClientVariables {\n\t[name: string]: any\n}\n\nexport type GraphQlClientFailedRequestMetadata = Pick<Response, 'status' | 'statusText'> & {\n\tresponseText: string\n}\n\nexport class GraphQlClient {\n\tconstructor(public readonly apiUrl: string, private readonly apiToken?: string) {}\n\n\tasync sendRequest<T = any>(\n\t\tquery: string,\n\t\t{ apiTokenOverride, signal, variables, headers }: GraphQlClientRequestOptions = {},\n\t): Promise<T> {\n\t\tconst resolvedHeaders: Record<string, string> = { 'Content-Type': 'application/json', ...headers }\n\t\tconst resolvedToken = apiTokenOverride ?? this.apiToken\n\n\t\tif (resolvedToken !== undefined) {\n\t\t\tresolvedHeaders['Authorization'] = `Bearer ${resolvedToken}`\n\t\t}\n\n\t\tconsole.debug(query)\n\n\t\tconst response = await fetch(this.apiUrl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: resolvedHeaders,\n\t\t\tsignal,\n\t\t\tbody: JSON.stringify({ query, variables }),\n\t\t})\n\n\t\tif (response.ok) {\n\t\t\t// It may still have errors (e.g. unfilled fields) but as far as the request goes, it is ok.\n\t\t\treturn await response.json()\n\t\t}\n\n\t\tconst failedRequest: GraphQlClientFailedRequestMetadata = {\n\t\t\tstatus: response.status,\n\t\t\tstatusText: response.statusText,\n\t\t\tresponseText: await response.text(),\n\t\t}\n\n\t\treturn Promise.reject(failedRequest)\n\t}\n}\n"],"names":[],"mappings":"oBAe2B;AAAA,EAC1B,YAA4B,QAAiC,UAAmB;;;;QAE1E,YACL,OACA,EAAE,kBAAkB,QAAQ,WAAW,YAAyC,IACnE;UACP,kBAA0C,EAAE,gBAAgB,uBAAuB;UACnF,gBAAgB,oBAAoB,KAAK;QAE3C,kBAAkB,QAAW;sBAChB,mBAAmB,UAAU;AAAA;YAGtC,MAAM;UAER,WAAW,MAAM,MAAM,KAAK,QAAQ;AAAA,MACzC,QAAQ;AAAA,MACR,SAAS;AAAA,MACT;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,OAAO;AAAA;QAG3B,SAAS,IAAI;aAET,MAAM,SAAS;AAAA;UAGjB,gBAAoD;AAAA,MACzD,QAAQ,SAAS;AAAA,MACjB,YAAY,SAAS;AAAA,MACrB,cAAc,MAAM,SAAS;AAAA;WAGvB,QAAQ,OAAO;AAAA;AAAA;;"}
1
+ {"version":3,"file":"GraphQlClient.js","sources":["../../../src/graphQlClient/GraphQlClient.ts"],"sourcesContent":["export interface GraphQlClientRequestOptions {\n\tvariables?: GraphQlClientVariables\n\tapiTokenOverride?: string\n\tsignal?: AbortSignal\n\theaders?: Record<string, string>\n}\n\nexport interface GraphQlClientVariables {\n\t[name: string]: any\n}\n\nexport type GraphQlClientFailedRequestMetadata = Pick<Response, 'status' | 'statusText'> & {\n\tresponseText: string\n}\n\nexport class GraphQlClient {\n\tconstructor(public readonly apiUrl: string, private readonly apiToken?: string) {}\n\n\tasync sendRequest<T = any>(\n\t\tquery: string,\n\t\t{ apiTokenOverride, signal, variables, headers }: GraphQlClientRequestOptions = {},\n\t): Promise<T> {\n\t\tconst resolvedHeaders: Record<string, string> = { 'Content-Type': 'application/json', ...headers }\n\t\tconst resolvedToken = apiTokenOverride ?? this.apiToken\n\n\t\tif (resolvedToken !== undefined) {\n\t\t\tresolvedHeaders['Authorization'] = `Bearer ${resolvedToken}`\n\t\t}\n\n\t\tconsole.debug(query)\n\n\t\tconst response = await fetch(this.apiUrl, {\n\t\t\tmethod: 'POST',\n\t\t\theaders: resolvedHeaders,\n\t\t\tsignal,\n\t\t\tbody: JSON.stringify({ query, variables }),\n\t\t})\n\n\t\tif (response.ok) {\n\t\t\t// It may still have errors (e.g. unfilled fields) but as far as the request goes, it is ok.\n\t\t\treturn await response.json()\n\t\t}\n\n\t\tconst failedRequest: GraphQlClientFailedRequestMetadata = {\n\t\t\tstatus: response.status,\n\t\t\tstatusText: response.statusText,\n\t\t\tresponseText: await response.text(),\n\t\t}\n\n\t\treturn Promise.reject(failedRequest)\n\t}\n}\n"],"names":[],"mappings":"AAeO,MAAM,cAAc;AAAA,EAC1B,YAA4B,QAAiC,UAAmB;AAApD,SAAA,SAAA;AAAiC,SAAA,WAAA;AAAA,EAAoB;AAAA,QAE3E,YACL,OACA,EAAE,kBAAkB,QAAQ,WAAW,YAAyC,IACnE;AACb,UAAM,kBAA0C,EAAE,gBAAgB,uBAAuB,QAAQ;AAC3F,UAAA,gBAAgB,oBAAoB,KAAK;AAE/C,QAAI,kBAAkB,QAAW;AAChC,sBAAgB,mBAAmB,UAAU;AAAA,IAC9C;AAEA,YAAQ,MAAM,KAAK;AAEnB,UAAM,WAAW,MAAM,MAAM,KAAK,QAAQ;AAAA,MACzC,QAAQ;AAAA,MACR,SAAS;AAAA,MACT;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,OAAO,WAAW;AAAA,IAAA,CACzC;AAED,QAAI,SAAS,IAAI;AAET,aAAA,MAAM,SAAS;IACvB;AAEA,UAAM,gBAAoD;AAAA,MACzD,QAAQ,SAAS;AAAA,MACjB,YAAY,SAAS;AAAA,MACrB,cAAc,MAAM,SAAS,KAAK;AAAA,IAAA;AAG5B,WAAA,QAAQ,OAAO,aAAa;AAAA,EACpC;AACD;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"formatSystemApiRelativeUrl.js","sources":["../../../src/system/formatSystemApiRelativeUrl.ts"],"sourcesContent":["export const formatSystemApiRelativeUrl = (projectSlug: string) => `/system/${projectSlug}`\n"],"names":[],"mappings":"MAAa,6BAA6B,CAAC,gBAAwB,WAAW;;"}
1
+ {"version":3,"file":"formatSystemApiRelativeUrl.js","sources":["../../../src/system/formatSystemApiRelativeUrl.ts"],"sourcesContent":["export const formatSystemApiRelativeUrl = (projectSlug: string) => `/system/${projectSlug}`\n"],"names":[],"mappings":"AAAa,MAAA,6BAA6B,CAAC,gBAAwB,WAAW;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"loginMutation.js","sources":["../../../src/tenant/loginMutation.ts"],"sourcesContent":["export interface LoginMutationResponse {\n\tdata: {\n\t\tsignIn: {\n\t\t\tok: boolean\n\t\t\terrors: Array<{\n\t\t\t\tendUserMessage: string | null\n\t\t\t\tcode: string\n\t\t\t}>\n\t\t\tresult: {\n\t\t\t\ttoken: string\n\t\t\t\tperson: {\n\t\t\t\t\tid: string\n\t\t\t\t\temail: string\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tid: string\n\t\t\t\t\t\tprojects: Array<{\n\t\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t\tid: string\n\t\t\t\t\t\t\t\tslug: string\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmemberships: Array<{\n\t\t\t\t\t\t\t\trole: string\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t}>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} | null\n\t\t}\n\t}\n}\n\nexport const loginMutation = `\n\tmutation($email: String!, $password: String!, $expiration: Int) {\n\t\tsignIn(email: $email, password: $password, expiration: $expiration) {\n\t\t\tok\n\t\t\terrors {\n\t\t\t\tendUserMessage\n\t\t\t\tcode\n\t\t\t}\n\t\t\tresult {\n\t\t\t\ttoken\n\t\t\t\tperson {\n\t\t\t\t\tid\n\t\t\t\t\temail\n\t\t\t\t\tidentity {\n\t\t\t\t\t\tid\n\t\t\t\t\t\tprojects {\n\t\t\t\t\t\t\tproject {\n\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmemberships {\n\t\t\t\t\t\t\t\trole\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`\n"],"names":[],"mappings":"MA+Ba,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
1
+ {"version":3,"file":"loginMutation.js","sources":["../../../src/tenant/loginMutation.ts"],"sourcesContent":["export interface LoginMutationResponse {\n\tdata: {\n\t\tsignIn: {\n\t\t\tok: boolean\n\t\t\terrors: Array<{\n\t\t\t\tendUserMessage: string | null\n\t\t\t\tcode: string\n\t\t\t}>\n\t\t\tresult: {\n\t\t\t\ttoken: string\n\t\t\t\tperson: {\n\t\t\t\t\tid: string\n\t\t\t\t\temail: string\n\t\t\t\t\tidentity: {\n\t\t\t\t\t\tid: string\n\t\t\t\t\t\tprojects: Array<{\n\t\t\t\t\t\t\tproject: {\n\t\t\t\t\t\t\t\tid: string\n\t\t\t\t\t\t\t\tslug: string\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmemberships: Array<{\n\t\t\t\t\t\t\t\trole: string\n\t\t\t\t\t\t\t}>\n\t\t\t\t\t\t}>\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} | null\n\t\t}\n\t}\n}\n\nexport const loginMutation = `\n\tmutation($email: String!, $password: String!, $expiration: Int) {\n\t\tsignIn(email: $email, password: $password, expiration: $expiration) {\n\t\t\tok\n\t\t\terrors {\n\t\t\t\tendUserMessage\n\t\t\t\tcode\n\t\t\t}\n\t\t\tresult {\n\t\t\t\ttoken\n\t\t\t\tperson {\n\t\t\t\t\tid\n\t\t\t\t\temail\n\t\t\t\t\tidentity {\n\t\t\t\t\t\tid\n\t\t\t\t\t\tprojects {\n\t\t\t\t\t\t\tproject {\n\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\tslug\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmemberships {\n\t\t\t\t\t\t\t\trole\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n`\n"],"names":[],"mappings":"AA+BO,MAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenantApiRelativeUrl.js","sources":["../../../src/tenant/tenantApiRelativeUrl.ts"],"sourcesContent":["export const tenantApiRelativeUrl = '/tenant'\n"],"names":[],"mappings":"MAAa,uBAAuB;;"}
1
+ {"version":3,"file":"tenantApiRelativeUrl.js","sources":["../../../src/tenant/tenantApiRelativeUrl.ts"],"sourcesContent":["export const tenantApiRelativeUrl = '/tenant'\n"],"names":[],"mappings":"AAAO,MAAM,uBAAuB;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"tenantErrorMessages.js","sources":["../../../src/tenant/tenantErrorMessages.ts"],"sourcesContent":["export const tenantErrorMessages: { [key: string]: string } = {\n\tTOO_WEAK: 'Password is too weak.',\n\tEMAIL_ALREADY_EXISTS: 'Email already exists.',\n\tUNKNOWN_EMAIL: 'Unknown email.',\n\tINVALID_PASSWORD: 'Password is invalid.',\n\tALREADY_MEMBER: 'User is already a member of this project.',\n}\n\nexport const getTenantErrorMessage = (errorCode: string): string => {\n\tif (errorCode in tenantErrorMessages) {\n\t\treturn tenantErrorMessages[errorCode]\n\t}\n\treturn `Unknown error occurred. [${errorCode}]`\n}\n"],"names":[],"mappings":"MAAa,sBAAiD;AAAA,EAC7D,UAAU;AAAA,EACV,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,gBAAgB;AAAA;MAGJ,wBAAwB,CAAC,cAA8B;MAC/D,aAAa,qBAAqB;WAC9B,oBAAoB;AAAA;SAErB,4BAA4B;AAAA;;"}
1
+ {"version":3,"file":"tenantErrorMessages.js","sources":["../../../src/tenant/tenantErrorMessages.ts"],"sourcesContent":["export const tenantErrorMessages: { [key: string]: string } = {\n\tTOO_WEAK: 'Password is too weak.',\n\tEMAIL_ALREADY_EXISTS: 'Email already exists.',\n\tUNKNOWN_EMAIL: 'Unknown email.',\n\tINVALID_PASSWORD: 'Password is invalid.',\n\tALREADY_MEMBER: 'User is already a member of this project.',\n}\n\nexport const getTenantErrorMessage = (errorCode: string): string => {\n\tif (errorCode in tenantErrorMessages) {\n\t\treturn tenantErrorMessages[errorCode]\n\t}\n\treturn `Unknown error occurred. [${errorCode}]`\n}\n"],"names":[],"mappings":"AAAO,MAAM,sBAAiD;AAAA,EAC7D,UAAU;AAAA,EACV,sBAAsB;AAAA,EACtB,eAAe;AAAA,EACf,kBAAkB;AAAA,EAClB,gBAAgB;AACjB;AAEa,MAAA,wBAAwB,CAAC,cAA8B;AACnE,MAAI,aAAa,qBAAqB;AACrC,WAAO,oBAAoB;AAAA,EAC5B;AACA,SAAO,4BAA4B;AACpC;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"isEmptyObject.js","sources":["../../../src/utils/isEmptyObject.ts"],"sourcesContent":["export const isEmptyObject = (arg: object): boolean => {\n\t// This is faster than Object.keys(arg).length === 0 && arg.constructor === Object\n\tfor (const key in arg) {\n\t\tif (arg.hasOwnProperty(key)) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"],"names":[],"mappings":"MAAa,gBAAgB,CAAC,QAAyB;aAE3C,OAAO,KAAK;QAClB,IAAI,eAAe,MAAM;aACrB;AAAA;AAAA;SAGF;AAAA;;"}
1
+ {"version":3,"file":"isEmptyObject.js","sources":["../../../src/utils/isEmptyObject.ts"],"sourcesContent":["export const isEmptyObject = (arg: object): boolean => {\n\t// This is faster than Object.keys(arg).length === 0 && arg.constructor === Object\n\tfor (const key in arg) {\n\t\tif (arg.hasOwnProperty(key)) {\n\t\t\treturn false\n\t\t}\n\t}\n\treturn true\n}\n"],"names":[],"mappings":"AAAa,MAAA,gBAAgB,CAAC,QAAyB;AAEtD,aAAW,OAAO,KAAK;AAClB,QAAA,IAAI,eAAe,GAAG,GAAG;AACrB,aAAA;AAAA,IACR;AAAA,EACD;AACO,SAAA;AACR;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"readFileAsArrayBuffer.js","sources":["../../../src/utils/readFileAsArrayBuffer.ts"],"sourcesContent":["export const readFileAsArrayBuffer = (file: File): Promise<string | ArrayBuffer> =>\n\tnew Promise((resolve, reject) => {\n\t\tconst reader = new FileReader()\n\t\treader.onload = () => {\n\t\t\tif (reader.result === null) {\n\t\t\t\treject()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tresolve(reader.result)\n\t\t}\n\t\treader.readAsArrayBuffer(file)\n\t})\n"],"names":[],"mappings":"MAAa,wBAAwB,CAAC,SACrC,IAAI,QAAQ,CAAC,SAAS,WAAW;QAC1B,SAAS,IAAI;SACZ,SAAS,MAAM;QACjB,OAAO,WAAW,MAAM;;;;YAIpB,OAAO;AAAA;SAET,kBAAkB;AAAA;;"}
1
+ {"version":3,"file":"readFileAsArrayBuffer.js","sources":["../../../src/utils/readFileAsArrayBuffer.ts"],"sourcesContent":["export const readFileAsArrayBuffer = (file: File): Promise<string | ArrayBuffer> =>\n\tnew Promise((resolve, reject) => {\n\t\tconst reader = new FileReader()\n\t\treader.onload = () => {\n\t\t\tif (reader.result === null) {\n\t\t\t\treject()\n\t\t\t\treturn\n\t\t\t}\n\t\t\tresolve(reader.result)\n\t\t}\n\t\treader.readAsArrayBuffer(file)\n\t})\n"],"names":[],"mappings":"AAAO,MAAM,wBAAwB,CAAC,SACrC,IAAI,QAAQ,CAAC,SAAS,WAAW;AAC1B,QAAA,SAAS,IAAI;AACnB,SAAO,SAAS,MAAM;AACjB,QAAA,OAAO,WAAW,MAAM;AACpB;AACP;AAAA,IACD;AACA,YAAQ,OAAO,MAAM;AAAA,EAAA;AAEtB,SAAO,kBAAkB,IAAI;AAC9B,CAAC;;"}