@commitspark/graphql-api 2.0.0-beta.3 → 2.0.0-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +58 -0
- package/README.md +165 -88
- package/dist/cjs/client.d.ts +1 -0
- package/dist/cjs/graphql/apollo-config-factory.d.ts +1 -0
- package/dist/cjs/graphql/errors.d.ts +4 -2
- package/dist/cjs/graphql/errors.d.ts.map +1 -0
- package/dist/cjs/graphql/errors.js +11 -1
- package/dist/cjs/graphql/errors.js.map +1 -1
- package/dist/cjs/graphql/input-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/input-type-generator.js +5 -10
- package/dist/cjs/graphql/input-type-generator.js.map +1 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts +10 -1
- package/dist/cjs/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/queries-mutations-generator.js +55 -3
- package/dist/cjs/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/cjs/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/commit-message.js +22 -0
- package/dist/cjs/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js +2 -2
- package/dist/cjs/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js +3 -3
- package/dist/cjs/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/types.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js +7 -0
- package/dist/cjs/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js +1 -1
- package/dist/cjs/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +33 -42
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +28 -40
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +1 -0
- package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +26 -43
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +5 -5
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +1 -0
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +1 -1
- package/dist/cjs/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/cjs/graphql/resolvers/types.d.ts +14 -2
- package/dist/cjs/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-analyzer.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-generator.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-generator.js +12 -1
- package/dist/cjs/graphql/schema-generator.js.map +1 -1
- package/dist/cjs/graphql/schema-root-type-generator.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/directive-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts +5 -2
- package/dist/cjs/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js +94 -121
- package/dist/cjs/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/cjs/graphql/schema-utils/entry-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/searchable-field-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.d.ts +1 -0
- package/dist/cjs/graphql/schema-utils/union-type-util.js +2 -2
- package/dist/cjs/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/cjs/graphql/schema-validator.d.ts +1 -0
- package/dist/{types → cjs}/graphql/schema-validator.d.ts.map +1 -1
- package/dist/cjs/graphql/schema-validator.js +16 -0
- package/dist/cjs/graphql/schema-validator.js.map +1 -1
- package/dist/cjs/graphql/util.d.ts +1 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +3 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/persistence/cache.d.ts +4 -1
- package/dist/cjs/persistence/cache.d.ts.map +1 -0
- package/dist/cjs/persistence/cache.js +8 -17
- package/dist/cjs/persistence/cache.js.map +1 -1
- package/dist/cjs/persistence/commit-with-retry.d.ts +16 -0
- package/dist/cjs/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/cjs/persistence/commit-with-retry.js +39 -0
- package/dist/cjs/persistence/commit-with-retry.js.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts +10 -0
- package/dist/cjs/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/cjs/persistence/git-adapter-call.js +29 -0
- package/dist/cjs/persistence/git-adapter-call.js.map +1 -0
- package/dist/cjs/persistence/persistence.d.ts +12 -0
- package/dist/{types → cjs}/persistence/persistence.d.ts.map +1 -1
- package/dist/cjs/persistence/persistence.js +37 -2
- package/dist/cjs/persistence/persistence.js.map +1 -1
- package/dist/esm/client.d.ts.map +1 -0
- package/dist/esm/graphql/apollo-config-factory.d.ts.map +1 -0
- package/dist/{types → esm}/graphql/errors.d.ts +3 -2
- package/dist/esm/graphql/errors.d.ts.map +1 -0
- package/dist/esm/graphql/errors.js +10 -0
- package/dist/esm/graphql/errors.js.map +1 -1
- package/dist/esm/graphql/input-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/input-type-generator.js +6 -11
- package/dist/esm/graphql/input-type-generator.js.map +1 -1
- package/dist/{types → esm}/graphql/queries-mutations-generator.d.ts +9 -1
- package/dist/esm/graphql/queries-mutations-generator.d.ts.map +1 -0
- package/dist/esm/graphql/queries-mutations-generator.js +53 -3
- package/dist/esm/graphql/queries-mutations-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/commit-message.d.ts +11 -0
- package/dist/esm/graphql/resolvers/commit-message.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/commit-message.js +19 -0
- package/dist/esm/graphql/resolvers/commit-message.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js +3 -3
- package/dist/esm/graphql/resolvers/field-resolvers/entry-reference-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js +4 -4
- package/dist/esm/graphql/resolvers/field-resolvers/field-default-value-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/referenced-by-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js +3 -0
- package/dist/esm/graphql/resolvers/field-resolvers/version-resolver.js.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js +2 -2
- package/dist/esm/graphql/resolvers/object-type-field-default-value-resolver-generator.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js +36 -45
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js +31 -43
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js +29 -46
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js +6 -6
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-search-resolver.js.map +1 -1
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +1 -0
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js +2 -2
- package/dist/esm/graphql/resolvers/query-mutation-resolvers/union-type-resolver.js.map +1 -1
- package/dist/{types → esm}/graphql/resolvers/types.d.ts +13 -2
- package/dist/esm/graphql/resolvers/types.d.ts.map +1 -0
- package/dist/esm/graphql/schema-analyzer.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-generator.js +14 -3
- package/dist/esm/graphql/schema-generator.js.map +1 -1
- package/dist/esm/graphql/schema-root-type-generator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/directive-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts +6 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/entry-reference-util.js +93 -121
- package/dist/esm/graphql/schema-utils/entry-reference-util.js.map +1 -1
- package/dist/esm/graphql/schema-utils/entry-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/searchable-field-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.d.ts.map +1 -0
- package/dist/esm/graphql/schema-utils/union-type-util.js +3 -3
- package/dist/esm/graphql/schema-utils/union-type-util.js.map +1 -1
- package/dist/esm/graphql/schema-validator.d.ts.map +1 -0
- package/dist/esm/graphql/schema-validator.js +17 -1
- package/dist/esm/graphql/schema-validator.js.map +1 -1
- package/dist/esm/graphql/util.d.ts.map +1 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/{types → esm}/persistence/cache.d.ts +3 -1
- package/dist/esm/persistence/cache.d.ts.map +1 -0
- package/dist/esm/persistence/cache.js +6 -15
- package/dist/esm/persistence/cache.js.map +1 -1
- package/dist/esm/persistence/commit-with-retry.d.ts +16 -0
- package/dist/esm/persistence/commit-with-retry.d.ts.map +1 -0
- package/dist/esm/persistence/commit-with-retry.js +35 -0
- package/dist/esm/persistence/commit-with-retry.js.map +1 -0
- package/dist/esm/persistence/git-adapter-call.d.ts +10 -0
- package/dist/esm/persistence/git-adapter-call.d.ts.map +1 -0
- package/dist/esm/persistence/git-adapter-call.js +24 -0
- package/dist/esm/persistence/git-adapter-call.js.map +1 -0
- package/dist/esm/persistence/persistence.d.ts +18 -0
- package/dist/esm/persistence/persistence.d.ts.map +1 -0
- package/dist/esm/persistence/persistence.js +36 -3
- package/dist/esm/persistence/persistence.js.map +1 -1
- package/package.json +27 -18
- package/src/graphql/errors.ts +2 -1
- package/src/graphql/input-type-generator.ts +6 -18
- package/src/graphql/queries-mutations-generator.ts +69 -3
- package/src/graphql/resolvers/commit-message.ts +34 -0
- package/src/graphql/resolvers/field-resolvers/referenced-by-resolver.ts +9 -0
- package/src/graphql/resolvers/field-resolvers/version-resolver.ts +8 -0
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.ts +43 -57
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.ts +45 -60
- package/src/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.ts +38 -67
- package/src/graphql/resolvers/types.ts +26 -2
- package/src/graphql/schema-generator.ts +19 -0
- package/src/graphql/schema-utils/entry-reference-util.ts +147 -191
- package/src/graphql/schema-validator.ts +21 -0
- package/src/persistence/cache.ts +8 -14
- package/src/persistence/commit-with-retry.ts +47 -0
- package/src/persistence/git-adapter-call.ts +27 -0
- package/src/persistence/persistence.ts +50 -0
- package/dist/types/graphql/errors.d.ts.map +0 -1
- package/dist/types/graphql/input-type-generator.d.ts.map +0 -1
- package/dist/types/graphql/queries-mutations-generator.d.ts.map +0 -1
- package/dist/types/graphql/resolvers/types.d.ts.map +0 -1
- package/dist/types/graphql/schema-generator.d.ts.map +0 -1
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts +0 -4
- package/dist/types/graphql/schema-utils/entry-reference-util.d.ts.map +0 -1
- package/dist/types/persistence/cache.d.ts.map +0 -1
- package/dist/types/persistence/persistence.d.ts +0 -7
- /package/dist/{types → cjs}/client.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/apollo-config-factory.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/types.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-analyzer.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-root-type-generator.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/directive-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/entry-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/searchable-field-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/schema-utils/union-type-util.d.ts.map +0 -0
- /package/dist/{types → cjs}/graphql/util.d.ts.map +0 -0
- /package/dist/{types → cjs}/index.d.ts.map +0 -0
- /package/dist/{types → esm}/client.d.ts +0 -0
- /package/dist/{types → esm}/graphql/apollo-config-factory.d.ts +0 -0
- /package/dist/{types → esm}/graphql/input-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/entry-reference-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/field-default-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/types.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/field-resolvers/union-value-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/object-type-field-default-value-resolver-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-create-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-delete-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/mutation-update-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-every-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-search-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/query-type-by-id-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/resolvers/query-mutation-resolvers/union-type-resolver.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-analyzer.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-root-type-generator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/directive-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/entry-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/searchable-field-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-utils/union-type-util.d.ts +0 -0
- /package/dist/{types → esm}/graphql/schema-validator.d.ts +0 -0
- /package/dist/{types → esm}/graphql/util.d.ts +0 -0
- /package/dist/{types → esm}/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"entry-reference-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/entry-reference-util.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { GraphQLNullableType, GraphQLUnionType } from 'graphql';
|
|
2
2
|
export declare function isUnionOfEntryTypes(type: GraphQLUnionType): boolean;
|
|
3
3
|
export declare function buildsOnTypeWithEntryDirective(type: GraphQLNullableType): boolean;
|
|
4
|
+
//# sourceMappingURL=entry-type-util.d.ts.map
|
|
@@ -2,3 +2,4 @@ import { GraphQLSchema } from 'graphql';
|
|
|
2
2
|
import { Entry } from '@commitspark/git-adapter';
|
|
3
3
|
import { SearchableFieldValue } from '@commitspark/search-adapter';
|
|
4
4
|
export declare function extractSearchableFieldValues(schema: GraphQLSchema, entries: Iterable<Entry>): SearchableFieldValue[];
|
|
5
|
+
//# sourceMappingURL=searchable-field-util.d.ts.map
|
|
@@ -5,7 +5,7 @@ exports.getUnionValue = getUnionValue;
|
|
|
5
5
|
const errors_ts_1 = require("../errors.js");
|
|
6
6
|
function getUnionTypeNameFromFieldValue(fieldValue) {
|
|
7
7
|
if (typeof fieldValue !== 'object' || fieldValue === null) {
|
|
8
|
-
throw (0, errors_ts_1.createError)(`Expected object value in order to determine union type name.`,
|
|
8
|
+
throw (0, errors_ts_1.createError)(`Expected object value in order to determine union type name.`, errors_ts_1.ErrorCode.BAD_REPOSITORY_DATA, {
|
|
9
9
|
fieldValue: fieldValue,
|
|
10
10
|
});
|
|
11
11
|
}
|
|
@@ -15,7 +15,7 @@ function getUnionTypeNameFromFieldValue(fieldValue) {
|
|
|
15
15
|
}
|
|
16
16
|
function getUnionValue(fieldValue) {
|
|
17
17
|
if (typeof fieldValue !== 'object' || fieldValue === null) {
|
|
18
|
-
throw (0, errors_ts_1.createError)(`Expected object value in order to determine union value.`,
|
|
18
|
+
throw (0, errors_ts_1.createError)(`Expected object value in order to determine union value.`, errors_ts_1.ErrorCode.BAD_REPOSITORY_DATA, {
|
|
19
19
|
fieldValue: fieldValue,
|
|
20
20
|
});
|
|
21
21
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":";;AAGA,wEAcC;AAED,sCAaC;AA/BD,4CAAqD;AAErD,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,8DAA8D,
|
|
1
|
+
{"version":3,"file":"union-type-util.js","sourceRoot":"","sources":["../../../../src/graphql/schema-utils/union-type-util.ts"],"names":[],"mappings":";;AAGA,wEAcC;AAED,sCAaC;AA/BD,4CAAqD;AAErD,SAAgB,8BAA8B,CAAC,UAAmB;IAChE,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,8DAA8D,EAC9D,qBAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,qEAAqE;IACrE,2CAA2C;IAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC;AAED,SAAgB,aAAa,CAAC,UAAmB;IAC/C,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAC1D,MAAM,IAAA,uBAAW,EACf,0DAA0D,EAC1D,qBAAS,CAAC,mBAAmB,EAC7B;YACE,UAAU,EAAE,UAAU;SACvB,CACF,CAAA;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3C,OAAQ,UAAwC,CAAC,QAAQ,CAAC,CAAA;AAC5D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,
|
|
1
|
+
{"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,EAMd,MAAM,SAAS,CAAA;AAyEhB,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,MAAM,EAAE,CAMnE"}
|
|
@@ -35,8 +35,24 @@ function checkSearchableDirectiveOnlyOnStringFields(schema) {
|
|
|
35
35
|
}
|
|
36
36
|
return '';
|
|
37
37
|
}
|
|
38
|
+
function checkEntryTypesHaveIdField(schema) {
|
|
39
|
+
for (const type of Object.values(schema.getTypeMap())) {
|
|
40
|
+
if (!(0, graphql_1.isObjectType)(type) || !(0, directive_util_ts_1.hasDirective)(type, directive_util_ts_1.ENTRY_DIRECTIVE_NAME)) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
const idField = type.getFields()['id'];
|
|
44
|
+
if (idField === undefined ||
|
|
45
|
+
!(0, graphql_1.isNonNullType)(idField.type) ||
|
|
46
|
+
!(0, graphql_1.isScalarType)(idField.type.ofType) ||
|
|
47
|
+
idField.type.ofType.name !== 'ID') {
|
|
48
|
+
return `Type "${type.name}" must have a field "id" of type "ID!" to use "@${directive_util_ts_1.ENTRY_DIRECTIVE_NAME}" directive.`;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
38
53
|
function getValidationResult(schema) {
|
|
39
54
|
const results = [];
|
|
55
|
+
results.push(checkEntryTypesHaveIdField(schema));
|
|
40
56
|
results.push(checkUnionMembersConsistentUseOfEntryDirective(schema));
|
|
41
57
|
results.push(checkSearchableDirectiveOnlyOnStringFields(schema));
|
|
42
58
|
return results.filter((result) => result !== '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../../src/graphql/schema-validator.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -14,3 +14,4 @@ interface ClientOptions {
|
|
|
14
14
|
}
|
|
15
15
|
export { Client, ClientOptions, GraphQLResponse, SchemaResponse, ErrorCode, ErrorMetadata, };
|
|
16
16
|
export declare function createClient(gitAdapter: GitAdapter, options?: ClientOptions): Promise<Client>;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErrorCode = void 0;
|
|
3
4
|
exports.createClient = createClient;
|
|
4
5
|
const client_ts_1 = require("./client.js");
|
|
6
|
+
const errors_ts_1 = require("./graphql/errors.js");
|
|
7
|
+
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return errors_ts_1.ErrorCode; } });
|
|
5
8
|
const cache_ts_1 = require("./persistence/cache.js");
|
|
6
9
|
async function createClient(gitAdapter, options = {}) {
|
|
7
10
|
const repositoryCache = (0, cache_ts_1.createCacheHandler)();
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAwCA,oCAYC;AApDD,2CAOoB;AAGpB,mDAA8D;AA0B5D,0FA1BO,qBAAS,OA0BP;AAzBX,qDAA2D;AA6BpD,KAAK,UAAU,YAAY,CAChC,UAAsB,EACtB,UAAyB,EAAE;IAE3B,MAAM,eAAe,GAAG,IAAA,6BAAkB,GAAE,CAAA;IAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAA;IAC3C,OAAO;QACL,WAAW,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACvB,IAAA,uBAAW,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;QAClE,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CACrB,IAAA,qBAAS,EAAC,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;KACjE,CAAA;AACH,CAAC"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Entry } from '@commitspark/git-adapter';
|
|
2
2
|
import { ApolloContext } from '../client.ts';
|
|
3
|
-
|
|
3
|
+
type ContentHash = string;
|
|
4
|
+
export interface EntriesRecord {
|
|
4
5
|
byId: Map<string, Entry>;
|
|
5
6
|
byType: Map<string, Entry[]>;
|
|
7
|
+
hashById: Map<string, ContentHash>;
|
|
6
8
|
}
|
|
7
9
|
export interface RepositoryCacheHandler {
|
|
8
10
|
getEntriesRecord: (context: ApolloContext, ref: string) => Promise<EntriesRecord>;
|
|
@@ -10,3 +12,4 @@ export interface RepositoryCacheHandler {
|
|
|
10
12
|
}
|
|
11
13
|
export declare const createCacheHandler: (cacheSize?: number) => RepositoryCacheHandler;
|
|
12
14
|
export {};
|
|
15
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,KAAK,WAAW,GAAG,MAAM,CAAA;AAQzB,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IACxB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAE5B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAA;CACnC;AAOD,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAChB,OAAO,EAAE,aAAa,EACtB,GAAG,EAAE,MAAM,KACR,OAAO,CAAC,aAAa,CAAC,CAAA;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;CACpE;AAsLD,eAAO,MAAM,kBAAkB,GAC7B,YAAW,MAA0B,KACpC,sBAoBF,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createCacheHandler = void 0;
|
|
4
|
-
const git_adapter_1 = require("@commitspark/git-adapter");
|
|
5
4
|
const errors_ts_1 = require("../graphql/errors.js");
|
|
5
|
+
const git_adapter_call_ts_1 = require("./git-adapter-call.js");
|
|
6
6
|
const MAX_CACHE_ENTRIES = 50;
|
|
7
7
|
// intentionally not async so that the same in-flight promise is returned to all callers
|
|
8
8
|
const getEntriesRecordByRef = (entriesCache, contentCache, inflightEntries, cacheSize, context, ref) => {
|
|
@@ -22,7 +22,7 @@ const getEntriesRecordByRef = (entriesCache, contentCache, inflightEntries, cach
|
|
|
22
22
|
return fetchPromise;
|
|
23
23
|
};
|
|
24
24
|
const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, context, ref) => {
|
|
25
|
-
const entryHashes = await callGitAdapter(() => context.gitAdapter.getEntryHashes(ref));
|
|
25
|
+
const entryHashes = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getEntryHashes(ref));
|
|
26
26
|
// hold on to known content now, as it may be evicted from the content cache while missing content is fetched
|
|
27
27
|
const contentByHash = new Map();
|
|
28
28
|
const idsToFetchByHash = new Map();
|
|
@@ -37,19 +37,21 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
|
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
if (idsToFetchByHash.size > 0) {
|
|
40
|
-
const fetchedEntries = await callGitAdapter(() => context.gitAdapter.getEntriesByIds(ref, [...idsToFetchByHash.values()]));
|
|
40
|
+
const fetchedEntries = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getEntriesByIds(ref, [...idsToFetchByHash.values()]));
|
|
41
41
|
const fetchedEntriesById = new Map(fetchedEntries.map((entry) => [entry.id, entry]));
|
|
42
42
|
for (const [hash, id] of idsToFetchByHash) {
|
|
43
43
|
const fetchedEntry = fetchedEntriesById.get(id);
|
|
44
44
|
if (fetchedEntry === undefined) {
|
|
45
|
-
throw (0, errors_ts_1.createError)(`Git adapter did not return requested entry "${id}".`,
|
|
45
|
+
throw (0, errors_ts_1.createError)(`Git adapter did not return requested entry "${id}".`, errors_ts_1.ErrorCode.INTERNAL_ERROR, {});
|
|
46
46
|
}
|
|
47
47
|
contentByHash.set(hash, createEntryContent(fetchedEntry));
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
const entriesById = new Map();
|
|
51
51
|
const entriesByType = new Map();
|
|
52
|
+
const hashesById = new Map();
|
|
52
53
|
for (const { id, hash } of entryHashes) {
|
|
54
|
+
hashesById.set(id, hash);
|
|
53
55
|
const entry = {
|
|
54
56
|
id: id,
|
|
55
57
|
...contentByHash.get(hash),
|
|
@@ -63,6 +65,7 @@ const fetchAndCacheEntries = async (entriesCache, contentCache, cacheSize, conte
|
|
|
63
65
|
entriesRecord: {
|
|
64
66
|
byType: entriesByType,
|
|
65
67
|
byId: entriesById,
|
|
68
|
+
hashById: hashesById,
|
|
66
69
|
},
|
|
67
70
|
contentHashes: [...contentByHash.keys()],
|
|
68
71
|
};
|
|
@@ -100,18 +103,6 @@ const removeUnreferencedContent = (entriesCache, contentCache) => {
|
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
};
|
|
103
|
-
const callGitAdapter = async (operation) => {
|
|
104
|
-
try {
|
|
105
|
-
return await operation();
|
|
106
|
-
}
|
|
107
|
-
catch (err) {
|
|
108
|
-
if (err instanceof git_adapter_1.GitAdapterError) {
|
|
109
|
-
throw (0, errors_ts_1.createError)(err.message, err.code, {});
|
|
110
|
-
}
|
|
111
|
-
const message = err instanceof Error ? err.message : String(err);
|
|
112
|
-
throw (0, errors_ts_1.createError)(message, "INTERNAL_ERROR" /* ErrorCode.INTERNAL_ERROR */, {});
|
|
113
|
-
}
|
|
114
|
-
};
|
|
115
106
|
const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
|
|
116
107
|
const schemaCacheRecord = schemaCache.get(ref);
|
|
117
108
|
if (schemaCacheRecord !== undefined) {
|
|
@@ -120,7 +111,7 @@ const getSchemaStringByRef = async (schemaCache, cacheSize, context, ref) => {
|
|
|
120
111
|
schemaCache.set(ref, schemaCacheRecord);
|
|
121
112
|
return schemaCacheRecord;
|
|
122
113
|
}
|
|
123
|
-
const schemaString = await callGitAdapter(() => context.gitAdapter.getSchema(ref));
|
|
114
|
+
const schemaString = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getSchema(ref));
|
|
124
115
|
schemaCache.set(ref, schemaString);
|
|
125
116
|
if (schemaCache.size > cacheSize) {
|
|
126
117
|
// get first map key (oldest)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/persistence/cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CommitDraft } from '@commitspark/git-adapter';
|
|
2
|
+
import { ApolloContext } from '../client.ts';
|
|
3
|
+
/**
|
|
4
|
+
* Commits a draft that `createDraft` validates against the current commit of the request, guaranteeing that the
|
|
5
|
+
* draft is only committed on top of the exact commit it was validated against.
|
|
6
|
+
*
|
|
7
|
+
* Git adapters only move a branch if it still points to `parentSha` and otherwise throw `CONFLICT`. As most adapters
|
|
8
|
+
* can only check this for the branch as a whole, any concurrent commit to the branch between reading and committing
|
|
9
|
+
* leads to `CONFLICT`, even if it changed unrelated entries. In this case, the current commit of the request is moved
|
|
10
|
+
* to the new branch head and the draft is created and validated again, including expected entry versions and
|
|
11
|
+
* references, so that only actual conflicts are reported to the caller.
|
|
12
|
+
*
|
|
13
|
+
* Errors thrown by `createDraft` are not retried, as the draft was validated against the latest known state.
|
|
14
|
+
*/
|
|
15
|
+
export declare const commitWithRetry: (context: ApolloContext, createDraft: () => Promise<CommitDraft>) => Promise<void>;
|
|
16
|
+
//# sourceMappingURL=commit-with-retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-with-retry.d.ts","sourceRoot":"","sources":["../../../src/persistence/commit-with-retry.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAGZ,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,aAAa,EACtB,aAAa,MAAM,OAAO,CAAC,WAAW,CAAC,KACtC,OAAO,CAAC,IAAI,CAqBd,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.commitWithRetry = void 0;
|
|
4
|
+
const git_adapter_1 = require("@commitspark/git-adapter");
|
|
5
|
+
const git_adapter_call_ts_1 = require("./git-adapter-call.js");
|
|
6
|
+
const MAX_COMMIT_ATTEMPTS = 3;
|
|
7
|
+
/**
|
|
8
|
+
* Commits a draft that `createDraft` validates against the current commit of the request, guaranteeing that the
|
|
9
|
+
* draft is only committed on top of the exact commit it was validated against.
|
|
10
|
+
*
|
|
11
|
+
* Git adapters only move a branch if it still points to `parentSha` and otherwise throw `CONFLICT`. As most adapters
|
|
12
|
+
* can only check this for the branch as a whole, any concurrent commit to the branch between reading and committing
|
|
13
|
+
* leads to `CONFLICT`, even if it changed unrelated entries. In this case, the current commit of the request is moved
|
|
14
|
+
* to the new branch head and the draft is created and validated again, including expected entry versions and
|
|
15
|
+
* references, so that only actual conflicts are reported to the caller.
|
|
16
|
+
*
|
|
17
|
+
* Errors thrown by `createDraft` are not retried, as the draft was validated against the latest known state.
|
|
18
|
+
*/
|
|
19
|
+
const commitWithRetry = async (context, createDraft) => {
|
|
20
|
+
for (let attempt = 1;; attempt++) {
|
|
21
|
+
const commitDraft = await createDraft();
|
|
22
|
+
try {
|
|
23
|
+
const commit = await context.gitAdapter.createCommit(commitDraft);
|
|
24
|
+
context.setCurrentHash(commit.commitHash);
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
const isConflict = err instanceof git_adapter_1.GitAdapterError &&
|
|
29
|
+
err.code === git_adapter_1.ErrorCode.CONFLICT;
|
|
30
|
+
if (!isConflict || attempt >= MAX_COMMIT_ATTEMPTS) {
|
|
31
|
+
throw (0, git_adapter_call_ts_1.toGraphQLError)(err);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const headCommitHash = await (0, git_adapter_call_ts_1.callGitAdapter)(() => context.gitAdapter.getLatestCommitHash(context.branch));
|
|
35
|
+
context.setCurrentHash(headCommitHash);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
exports.commitWithRetry = commitWithRetry;
|
|
39
|
+
//# sourceMappingURL=commit-with-retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commit-with-retry.js","sourceRoot":"","sources":["../../../src/persistence/commit-with-retry.ts"],"names":[],"mappings":";;;AAAA,0DAIiC;AAEjC,+DAAsE;AAEtE,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAE7B;;;;;;;;;;;GAWG;AACI,MAAM,eAAe,GAAG,KAAK,EAClC,OAAsB,EACtB,WAAuC,EACxB,EAAE;IACjB,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,EAAE,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,MAAM,WAAW,EAAE,CAAA;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;YACjE,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACzC,OAAM;QACR,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GACd,GAAG,YAAY,6BAAe;gBAC9B,GAAG,CAAC,IAAI,KAAK,uBAAmB,CAAC,QAAQ,CAAA;YAC3C,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,mBAAmB,EAAE,CAAC;gBAClD,MAAM,IAAA,oCAAc,EAAC,GAAG,CAAC,CAAA;YAC3B,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAAG,MAAM,IAAA,oCAAc,EAAC,GAAG,EAAE,CAC/C,OAAO,CAAC,UAAU,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CACvD,CAAA;QACD,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;IACxC,CAAC;AACH,CAAC,CAAA;AAxBY,QAAA,eAAe,mBAwB3B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { GraphQLError } from 'graphql';
|
|
2
|
+
/**
|
|
3
|
+
* Converts an error thrown by a Git adapter to a GraphQL error, keeping the error code of a `GitAdapterError`.
|
|
4
|
+
*/
|
|
5
|
+
export declare const toGraphQLError: (err: unknown) => GraphQLError;
|
|
6
|
+
/**
|
|
7
|
+
* Runs a Git adapter operation and converts thrown errors to GraphQL errors.
|
|
8
|
+
*/
|
|
9
|
+
export declare const callGitAdapter: <T>(operation: () => Promise<T>) => Promise<T>;
|
|
10
|
+
//# sourceMappingURL=git-adapter-call.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-adapter-call.d.ts","sourceRoot":"","sources":["../../../src/persistence/git-adapter-call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAGtC;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,YAM7C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,GAAU,CAAC,EACpC,WAAW,MAAM,OAAO,CAAC,CAAC,CAAC,KAC1B,OAAO,CAAC,CAAC,CAMX,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.callGitAdapter = exports.toGraphQLError = void 0;
|
|
4
|
+
const git_adapter_1 = require("@commitspark/git-adapter");
|
|
5
|
+
const errors_ts_1 = require("../graphql/errors.js");
|
|
6
|
+
/**
|
|
7
|
+
* Converts an error thrown by a Git adapter to a GraphQL error, keeping the error code of a `GitAdapterError`.
|
|
8
|
+
*/
|
|
9
|
+
const toGraphQLError = (err) => {
|
|
10
|
+
if (err instanceof git_adapter_1.GitAdapterError) {
|
|
11
|
+
return (0, errors_ts_1.createError)(err.message, err.code, {});
|
|
12
|
+
}
|
|
13
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
14
|
+
return (0, errors_ts_1.createError)(message, errors_ts_1.ErrorCode.INTERNAL_ERROR, {});
|
|
15
|
+
};
|
|
16
|
+
exports.toGraphQLError = toGraphQLError;
|
|
17
|
+
/**
|
|
18
|
+
* Runs a Git adapter operation and converts thrown errors to GraphQL errors.
|
|
19
|
+
*/
|
|
20
|
+
const callGitAdapter = async (operation) => {
|
|
21
|
+
try {
|
|
22
|
+
return await operation();
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
throw (0, exports.toGraphQLError)(err);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
exports.callGitAdapter = callGitAdapter;
|
|
29
|
+
//# sourceMappingURL=git-adapter-call.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-adapter-call.js","sourceRoot":"","sources":["../../../src/persistence/git-adapter-call.ts"],"names":[],"mappings":";;;AAAA,0DAA0D;AAE1D,oDAA6D;AAE7D;;GAEG;AACI,MAAM,cAAc,GAAG,CAAC,GAAY,EAAgB,EAAE;IAC3D,IAAI,GAAG,YAAY,6BAAe,EAAE,CAAC;QACnC,OAAO,IAAA,uBAAW,EAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAC/C,CAAC;IACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAChE,OAAO,IAAA,uBAAW,EAAC,OAAO,EAAE,qBAAS,CAAC,cAAc,EAAE,EAAE,CAAC,CAAA;AAC3D,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAED;;GAEG;AACI,MAAM,cAAc,GAAG,KAAK,EACjC,SAA2B,EACf,EAAE;IACd,IAAI,CAAC;QACH,OAAO,MAAM,SAAS,EAAE,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAA,sBAAc,EAAC,GAAG,CAAC,CAAA;IAC3B,CAAC;AACH,CAAC,CAAA;AARY,QAAA,cAAc,kBAQ1B"}
|
|
@@ -4,3 +4,15 @@ export declare function getTypeById(context: ApolloContext, id: string): Promise
|
|
|
4
4
|
export declare function findById(context: ApolloContext, id: string): Promise<Entry>;
|
|
5
5
|
export declare function findByType(context: ApolloContext, type: string): Promise<Entry[]>;
|
|
6
6
|
export declare function findByTypeId(context: ApolloContext, type: string, id: string): Promise<Entry>;
|
|
7
|
+
/**
|
|
8
|
+
* Returns the version of an entry, which is the content hash of the entry reported by the Git adapter. It changes
|
|
9
|
+
* whenever the stored entry changes.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getEntryVersion(context: ApolloContext, id: string): Promise<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Throws `CONFLICT` if an expected version is given and the entry has a different version at the current commit of
|
|
14
|
+
* the request. This lets callers detect that an entry was changed by someone else since they read it, e.g. while a
|
|
15
|
+
* user was editing the entry, instead of overwriting these changes.
|
|
16
|
+
*/
|
|
17
|
+
export declare function assertExpectedVersion(context: ApolloContext, id: string, expectedVersion: string | null | undefined): Promise<void>;
|
|
18
|
+
//# sourceMappingURL=persistence.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAchB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAehB"}
|
|
1
|
+
{"version":3,"file":"persistence.d.ts","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,wBAAsB,WAAW,CAC/B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAchB;AAED,wBAAsB,UAAU,CAC9B,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,EAAE,CAAC,CAMlB;AAED,wBAAsB,YAAY,CAChC,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,KAAK,CAAC,CAehB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACzC,OAAO,CAAC,IAAI,CAAC,CAgBf"}
|
|
@@ -4,6 +4,8 @@ exports.getTypeById = getTypeById;
|
|
|
4
4
|
exports.findById = findById;
|
|
5
5
|
exports.findByType = findByType;
|
|
6
6
|
exports.findByTypeId = findByTypeId;
|
|
7
|
+
exports.getEntryVersion = getEntryVersion;
|
|
8
|
+
exports.assertExpectedVersion = assertExpectedVersion;
|
|
7
9
|
const errors_ts_1 = require("../graphql/errors.js");
|
|
8
10
|
async function getTypeById(context, id) {
|
|
9
11
|
const requestedEntry = await findById(context, id);
|
|
@@ -13,7 +15,7 @@ async function findById(context, id) {
|
|
|
13
15
|
const entriesRecord = await context.repositoryCache.getEntriesRecord(context, context.getCurrentHash());
|
|
14
16
|
const requestedEntry = entriesRecord.byId.get(id);
|
|
15
17
|
if (requestedEntry === undefined) {
|
|
16
|
-
throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`,
|
|
18
|
+
throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
|
|
17
19
|
argumentName: 'id',
|
|
18
20
|
argumentValue: id,
|
|
19
21
|
});
|
|
@@ -27,7 +29,7 @@ async function findByType(context, type) {
|
|
|
27
29
|
async function findByTypeId(context, type, id) {
|
|
28
30
|
const entryById = await findById(context, id);
|
|
29
31
|
if (entryById === undefined || entryById.metadata.type !== type) {
|
|
30
|
-
throw (0, errors_ts_1.createError)(`No entry of type "${type}" with ID "${id}" exists.`,
|
|
32
|
+
throw (0, errors_ts_1.createError)(`No entry of type "${type}" with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
|
|
31
33
|
typeName: type,
|
|
32
34
|
argumentName: 'id',
|
|
33
35
|
argumentValue: id,
|
|
@@ -35,4 +37,37 @@ async function findByTypeId(context, type, id) {
|
|
|
35
37
|
}
|
|
36
38
|
return entryById;
|
|
37
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Returns the version of an entry, which is the content hash of the entry reported by the Git adapter. It changes
|
|
42
|
+
* whenever the stored entry changes.
|
|
43
|
+
*/
|
|
44
|
+
async function getEntryVersion(context, id) {
|
|
45
|
+
const entriesRecord = await context.repositoryCache.getEntriesRecord(context, context.getCurrentHash());
|
|
46
|
+
const version = entriesRecord.hashById.get(id);
|
|
47
|
+
if (version === undefined) {
|
|
48
|
+
throw (0, errors_ts_1.createError)(`No entry with ID "${id}" exists.`, errors_ts_1.ErrorCode.NOT_FOUND, {
|
|
49
|
+
argumentName: 'id',
|
|
50
|
+
argumentValue: id,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
return version;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Throws `CONFLICT` if an expected version is given and the entry has a different version at the current commit of
|
|
57
|
+
* the request. This lets callers detect that an entry was changed by someone else since they read it, e.g. while a
|
|
58
|
+
* user was editing the entry, instead of overwriting these changes.
|
|
59
|
+
*/
|
|
60
|
+
async function assertExpectedVersion(context, id, expectedVersion) {
|
|
61
|
+
if (expectedVersion === undefined || expectedVersion === null) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const currentVersion = await getEntryVersion(context, id);
|
|
65
|
+
if (currentVersion !== expectedVersion) {
|
|
66
|
+
throw (0, errors_ts_1.createError)(`Entry with ID "${id}" has been changed: expected version "${expectedVersion}" but current version is ` +
|
|
67
|
+
`"${currentVersion}".`, errors_ts_1.ErrorCode.CONFLICT, {
|
|
68
|
+
argumentName: 'expectedVersion',
|
|
69
|
+
argumentValue: expectedVersion,
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
}
|
|
38
73
|
//# sourceMappingURL=persistence.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":";;AAIA,kCAMC;AAED,4BAiBC;AAED,gCASC;AAED,oCAmBC;
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../src/persistence/persistence.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAGL,cAAc,EACf,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAE/D,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAExD,MAAM,MAAM,6BAA6B,CACvC,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,IAChD,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,sBAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;CAC1E,CAAA;AAED,eAAO,MAAM,WAAW,GACtB,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,SAAS,cAAc,GAAG,cAAc,EAElD,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,EACX,SAAS,6BAA6B,CAAC,KAAK,EAAE,UAAU,CAAC,KACxD,OAAO,CAAC,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC,CAwCvC,CAAA;AAED,eAAO,MAAM,SAAS,GACpB,YAAY,UAAU,EACtB,eAAe,aAAa,GAAG,SAAS,EACxC,iBAAiB,sBAAsB,EACvC,KAAK,MAAM,KACV,OAAO,CAAC,cAAc,CAwBxB,CAAA;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,UAAU,CAAA;IACtB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,cAAc,IAAI,MAAM,CAAA;IACxB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IACjC,eAAe,EAAE,sBAAsB,CAAA;CACxC;AAED,MAAM,WAAW,eAAe,CAAC,KAAK;IACpC,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,aAAa,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;CACzD;AAED,MAAM,WAAW,cAAc;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,IAAI,EAAE,MAAM,CAAA;CACb"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apollo-config-factory.d.ts","sourceRoot":"","sources":["../../../src/graphql/apollo-config-factory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAGpD,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAQ7C"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { GraphQLError } from 'graphql';
|
|
2
2
|
import { ErrorCode as GitAdapterErrorCode } from '@commitspark/git-adapter';
|
|
3
3
|
import { ErrorCode as SearchAdapterErrorCode } from '@commitspark/search-adapter';
|
|
4
|
-
export declare
|
|
4
|
+
export declare enum ErrorCode {
|
|
5
5
|
BAD_USER_INPUT = "BAD_USER_INPUT",
|
|
6
6
|
NOT_FOUND = "NOT_FOUND",
|
|
7
7
|
BAD_REPOSITORY_DATA = "BAD_REPOSITORY_DATA",
|
|
8
8
|
BAD_SCHEMA = "BAD_SCHEMA",
|
|
9
9
|
INTERNAL_ERROR = "INTERNAL_ERROR",
|
|
10
|
-
IN_USE = "IN_USE"
|
|
10
|
+
IN_USE = "IN_USE",
|
|
11
|
+
CONFLICT = "CONFLICT"
|
|
11
12
|
}
|
|
12
13
|
export interface ErrorMetadata {
|
|
13
14
|
typeName?: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAEjF,oBAAY,SAAS;IACnB,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,mBAAmB,wBAAwB;IAC3C,UAAU,eAAe;IACzB,cAAc,mBAAmB;IACjC,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,eAAO,MAAM,WAAW,GACtB,SAAS,MAAM,EACf,MAAM,SAAS,GAAG,mBAAmB,GAAG,sBAAsB,EAC9D,UAAU,aAAa,KACtB,YAiBF,CAAA"}
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import { GraphQLError } from 'graphql';
|
|
2
|
+
export var ErrorCode;
|
|
3
|
+
(function (ErrorCode) {
|
|
4
|
+
ErrorCode["BAD_USER_INPUT"] = "BAD_USER_INPUT";
|
|
5
|
+
ErrorCode["NOT_FOUND"] = "NOT_FOUND";
|
|
6
|
+
ErrorCode["BAD_REPOSITORY_DATA"] = "BAD_REPOSITORY_DATA";
|
|
7
|
+
ErrorCode["BAD_SCHEMA"] = "BAD_SCHEMA";
|
|
8
|
+
ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
9
|
+
ErrorCode["IN_USE"] = "IN_USE";
|
|
10
|
+
ErrorCode["CONFLICT"] = "CONFLICT";
|
|
11
|
+
})(ErrorCode || (ErrorCode = {}));
|
|
2
12
|
export const createError = (message, code, metaData) => {
|
|
3
13
|
const serializedFieldValue = typeof metaData.fieldValue === 'object' ||
|
|
4
14
|
Array.isArray(metaData.fieldValue)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/graphql/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAItC,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,8CAAiC,CAAA;IACjC,oCAAuB,CAAA;IACvB,wDAA2C,CAAA;IAC3C,sCAAyB,CAAA;IACzB,8CAAiC,CAAA;IACjC,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;AACvB,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;AAWD,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,OAAe,EACf,IAA8D,EAC9D,QAAuB,EACT,EAAE;IAChB,MAAM,oBAAoB,GACxB,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;QACvC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;QAChC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;QACrC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAA;IACzB,MAAM,eAAe,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAA;IACvC,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACvC,eAAe,CAAC,UAAU,GAAG,oBAAoB,CAAA;IACnD,CAAC;IAED,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE;QAC/B,UAAU,EAAE;YACV,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,eAAe;SAC7B;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-type-generator.d.ts","sourceRoot":"","sources":["../../../src/graphql/input-type-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,iBAAiB,EAEjB,gBAAgB,EAMjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAkC3D,wBAAgB,0BAA0B,CACxC,oBAAoB,EAAE,oBAAoB,GACzC,MAAM,EAAE,CAeV;AAED,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,MAAM,EAAE,CA2BV;AAED,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,gBAAgB,EAAE,GAC7B,MAAM,EAAE,CAcV"}
|