@kubun/graphql 0.3.14 → 0.4.0
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/lib/identifiers.d.ts +0 -3
- package/lib/identifiers.d.ts.map +1 -1
- package/lib/identifiers.js +0 -10
- package/lib/index.d.ts +0 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -1
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +84 -37
- package/package.json +4 -5
- package/lib/scalars.d.ts +0 -18
- package/lib/scalars.d.ts.map +0 -1
- package/lib/scalars.js +0 -23
package/lib/identifiers.d.ts
CHANGED
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { GraphQLScalarType } from 'graphql';
|
|
2
|
-
import type { JSONSchema } from 'json-schema-typed';
|
|
3
2
|
export declare const GraphQLAttachmentID: GraphQLScalarType<string, string>;
|
|
4
|
-
export declare const attachmentIDSchema: JSONSchema.String;
|
|
5
3
|
export declare const GraphQLDocID: GraphQLScalarType<string, string>;
|
|
6
|
-
export declare const docIDSchema: JSONSchema.String;
|
|
7
4
|
//# sourceMappingURL=identifiers.d.ts.map
|
package/lib/identifiers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAQ,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,iBAAiB,EAAQ,MAAM,SAAS,CAAA;AAW/D,eAAO,MAAM,mBAAmB,mCAW9B,CAAA;AAWF,eAAO,MAAM,YAAY,mCAWvB,CAAA"}
|
package/lib/identifiers.js
CHANGED
|
@@ -20,11 +20,6 @@ export const GraphQLAttachmentID = new GraphQLScalarType({
|
|
|
20
20
|
return validateAttachmentID(ast.value);
|
|
21
21
|
}
|
|
22
22
|
});
|
|
23
|
-
export const attachmentIDSchema = {
|
|
24
|
-
type: 'string',
|
|
25
|
-
title: 'AttachmentID',
|
|
26
|
-
pattern: '^k[0-9a-z]{10,120}$'
|
|
27
|
-
};
|
|
28
23
|
function validateDocID(input) {
|
|
29
24
|
if (typeof input !== 'string') {
|
|
30
25
|
throw new GraphQLError(`Invalid DocumentID input: ${input}`);
|
|
@@ -45,8 +40,3 @@ export const GraphQLDocID = new GraphQLScalarType({
|
|
|
45
40
|
return validateDocID(ast.value);
|
|
46
41
|
}
|
|
47
42
|
});
|
|
48
|
-
export const docIDSchema = {
|
|
49
|
-
type: 'string',
|
|
50
|
-
title: 'DocID',
|
|
51
|
-
pattern: '^k[0-9a-z]{10,120}$'
|
|
52
|
-
};
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export type { Context, MutationContext, QueryContext, ReadContextParams, ReadOnlyContext, SubscriptionContext, } from './context.js';
|
|
2
2
|
export { createReadContext } from './context.js';
|
|
3
3
|
export { GraphQLAttachmentID, GraphQLDocID } from './identifiers.js';
|
|
4
|
-
export * as scalars from './scalars.js';
|
|
5
4
|
export type { SchemaBuilderParams, SharedDefinitions, } from './schema.js';
|
|
6
5
|
export { createSchema, SchemaBuilder } from './schema.js';
|
|
7
6
|
export type * from './types.js';
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,OAAO,EACP,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpE,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACzD,mBAAmB,YAAY,CAAA"}
|
package/lib/index.js
CHANGED
package/lib/schema.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../src/schema.ts"],"names":[],"mappings":"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"}
|
package/lib/schema.js
CHANGED
|
@@ -256,10 +256,10 @@ export class SchemaBuilder {
|
|
|
256
256
|
}
|
|
257
257
|
// Extract inverse relations
|
|
258
258
|
for (const [fieldName, meta] of Object.entries(model.fieldsMeta)){
|
|
259
|
-
if (meta.
|
|
259
|
+
if (meta.type === 'document' && meta.model != null) {
|
|
260
260
|
const relationRefID = getReferenceID(model.schema.properties[fieldName]?.$ref);
|
|
261
261
|
const isList = this._getReferenceSchema(relationRefID).type === 'array';
|
|
262
|
-
const relationID = getGlobalID(meta.
|
|
262
|
+
const relationID = getGlobalID(meta.model, modelID).toString();
|
|
263
263
|
this._relationsTo[relationID] ??= {};
|
|
264
264
|
this._relationsTo[relationID][fieldName] ??= [];
|
|
265
265
|
this._relationsTo[relationID][fieldName].push({
|
|
@@ -709,50 +709,97 @@ export class SchemaBuilder {
|
|
|
709
709
|
}
|
|
710
710
|
};
|
|
711
711
|
for (const [key, field] of Object.entries(dataObject.getFields())){
|
|
712
|
-
const
|
|
713
|
-
if (
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
return relationIDs.length ? await ctx.resolveList(this.getModelIDs(relationModelID), relationIDs) : [];
|
|
712
|
+
const meta = model.fieldsMeta[key];
|
|
713
|
+
if (meta == null) {
|
|
714
|
+
continue;
|
|
715
|
+
}
|
|
716
|
+
switch(meta.type){
|
|
717
|
+
case 'account':
|
|
718
|
+
{
|
|
719
|
+
if (isList(field.type)) {
|
|
720
|
+
fields[`${key}Accounts`] = {
|
|
721
|
+
type: new GraphQLNonNull(toOuputList(definitions.accountObject)),
|
|
722
|
+
resolve: (doc)=>doc.data?.[key] ?? []
|
|
723
|
+
};
|
|
724
|
+
} else {
|
|
725
|
+
fields[`${key}Account`] = {
|
|
726
|
+
type: definitions.accountObject,
|
|
727
|
+
resolve: (doc)=>doc.data?.[key] ?? null
|
|
728
|
+
};
|
|
730
729
|
}
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
730
|
+
break;
|
|
731
|
+
}
|
|
732
|
+
case 'attachment':
|
|
733
|
+
{
|
|
734
|
+
if (isList(field.type)) {
|
|
735
|
+
fields[`${key}Attachments`] = {
|
|
736
|
+
type: new GraphQLNonNull(toOuputList(definitions.attachmentObject)),
|
|
737
|
+
resolve: (doc)=>{
|
|
738
|
+
const ids = doc.data?.[key] ?? [];
|
|
739
|
+
return ids.map(AttachmentID.fromString);
|
|
740
|
+
}
|
|
741
|
+
};
|
|
742
|
+
} else {
|
|
743
|
+
fields[`${key}Attachment`] = {
|
|
744
|
+
type: definitions.attachmentObject,
|
|
745
|
+
resolve: (doc)=>{
|
|
746
|
+
const id = doc.data?.[key];
|
|
747
|
+
return id ? AttachmentID.fromString(id) : null;
|
|
748
|
+
}
|
|
749
|
+
};
|
|
738
750
|
}
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
751
|
+
break;
|
|
752
|
+
}
|
|
753
|
+
case 'document':
|
|
754
|
+
{
|
|
755
|
+
const relationModel = meta.model;
|
|
756
|
+
if (typeof relationModel === 'undefined') {
|
|
757
|
+
continue;
|
|
758
|
+
}
|
|
759
|
+
let relationModelID;
|
|
760
|
+
let relationType;
|
|
761
|
+
if (relationModel === null) {
|
|
762
|
+
relationModelID = null;
|
|
763
|
+
relationType = definitions.documentInterface;
|
|
764
|
+
} else {
|
|
765
|
+
relationModelID = getGlobalID(relationModel, id).toString();
|
|
766
|
+
relationType = this._buildDocument(relationModelID);
|
|
767
|
+
}
|
|
768
|
+
if (isList(field.type)) {
|
|
769
|
+
// TODO: add suport for filters?
|
|
770
|
+
fields[`${key}Documents`] = {
|
|
771
|
+
type: new GraphQLNonNull(toOuputList(relationType)),
|
|
772
|
+
resolve: async (doc, _args, ctx)=>{
|
|
773
|
+
const relationIDs = doc.data?.[key] ?? [];
|
|
774
|
+
return relationIDs.length ? await ctx.resolveList(this.getModelIDs(relationModelID), relationIDs) : [];
|
|
775
|
+
}
|
|
776
|
+
};
|
|
777
|
+
} else {
|
|
778
|
+
fields[`${key}Document`] = {
|
|
779
|
+
type: relationType,
|
|
780
|
+
resolve: async (doc, _args, ctx)=>{
|
|
781
|
+
const relationID = doc.data?.[key];
|
|
782
|
+
return relationID ? await ctx.loadDocument(relationID) : null;
|
|
783
|
+
}
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
break;
|
|
747
787
|
}
|
|
748
|
-
}
|
|
749
788
|
}
|
|
750
|
-
|
|
789
|
+
}
|
|
790
|
+
for (const iid of model.interfaces ?? []){
|
|
791
|
+
const interfaceID = getGlobalID(iid, id).toString();
|
|
792
|
+
for (const [fieldName, relations] of Object.entries(this._relationsTo[interfaceID] ?? {})){
|
|
751
793
|
for (const relation of relations){
|
|
752
794
|
this._buildRelationFields(fields, fieldName, relation);
|
|
753
795
|
}
|
|
754
796
|
}
|
|
755
797
|
}
|
|
798
|
+
for (const [fieldName, relations] of Object.entries(this._relationsTo[id] ?? {})){
|
|
799
|
+
for (const relation of relations){
|
|
800
|
+
this._buildRelationFields(fields, fieldName, relation);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
756
803
|
return fields;
|
|
757
804
|
}
|
|
758
805
|
_buildDocumentDataObject(id, model, name) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubun/graphql",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"license": "see LICENSE.md",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"type": "module",
|
|
@@ -22,12 +22,11 @@
|
|
|
22
22
|
"graphql-relay": "^0.10.2",
|
|
23
23
|
"graphql-scalars": "^1.25.0",
|
|
24
24
|
"multiformats": "^13.4.2",
|
|
25
|
-
"@kubun/id": "^0.
|
|
26
|
-
"@kubun/protocol": "^0.
|
|
25
|
+
"@kubun/id": "^0.4.0",
|
|
26
|
+
"@kubun/protocol": "^0.4.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"
|
|
30
|
-
"@kubun/db": "^0.3.6"
|
|
29
|
+
"@kubun/db": "^0.4.0"
|
|
31
30
|
},
|
|
32
31
|
"scripts": {
|
|
33
32
|
"build:clean": "del lib",
|
package/lib/scalars.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { JSONSchema } from 'json-schema-typed';
|
|
2
|
-
export { attachmentIDSchema, docIDSchema } from './identifiers.js';
|
|
3
|
-
export declare const bigIntSchema: JSONSchema.Integer;
|
|
4
|
-
export declare const didSchema: JSONSchema.String;
|
|
5
|
-
export declare const dateTimeSchema: JSONSchema.String;
|
|
6
|
-
export declare const durationSchema: JSONSchema.String;
|
|
7
|
-
export declare const emailAddressSchema: JSONSchema.String;
|
|
8
|
-
export declare const jsonObjectSchema: JSONSchema.Object<any>;
|
|
9
|
-
export declare const latitudeSchema: JSONSchema.Number;
|
|
10
|
-
export declare const localDateSchema: JSONSchema.String;
|
|
11
|
-
export declare const localDateTimeSchema: JSONSchema.String;
|
|
12
|
-
export declare const localTimeSchema: JSONSchema.String;
|
|
13
|
-
export declare const localeSchema: JSONSchema.String;
|
|
14
|
-
export declare const longitudeSchema: JSONSchema.Number;
|
|
15
|
-
export declare const timeZoneSchema: JSONSchema.String;
|
|
16
|
-
export declare const urlSchema: JSONSchema.String;
|
|
17
|
-
export declare const utcOffsetSchema: JSONSchema.String;
|
|
18
|
-
//# sourceMappingURL=scalars.d.ts.map
|
package/lib/scalars.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scalars.d.ts","sourceRoot":"","sources":["../src/scalars.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAMlE,eAAO,MAAM,YAAY,oBAAwD,CAAA;AACjF,eAAO,MAAM,SAAS,mBAAiC,CAAA;AACvD,eAAO,MAAM,cAAc,mBAAsC,CAAA;AACjE,eAAO,MAAM,cAAc,mBAAsC,CAAA;AACjE,eAAO,MAAM,kBAAkB,mBAA0C,CAAA;AACzE,eAAO,MAAM,gBAAgB,wBAA2D,CAAA;AACxF,eAAO,MAAM,cAAc,mBAAyD,CAAA;AACpF,eAAO,MAAM,eAAe,mBAAuC,CAAA;AACnE,eAAO,MAAM,mBAAmB,mBAA2C,CAAA;AAC3E,eAAO,MAAM,eAAe,mBAAuC,CAAA;AACnE,eAAO,MAAM,YAAY,mBAAoC,CAAA;AAC7D,eAAO,MAAM,eAAe,mBAA0D,CAAA;AACtF,eAAO,MAAM,cAAc,mBAAsC,CAAA;AACjE,eAAO,MAAM,SAAS,mBAAiC,CAAA;AACvD,eAAO,MAAM,eAAe,mBAAuC,CAAA"}
|
package/lib/scalars.js
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { GraphQLBigInt, GraphQLDateTime, GraphQLDID, GraphQLDuration, GraphQLEmailAddress, GraphQLJSONObject, GraphQLLatitude, GraphQLLocalDate, GraphQLLocalDateTime, GraphQLLocale, GraphQLLocalTime, GraphQLLongitude, GraphQLTimeZone, GraphQLURL, GraphQLUtcOffset } from 'graphql-scalars';
|
|
2
|
-
export { attachmentIDSchema, docIDSchema } from './identifiers.js';
|
|
3
|
-
function createScalarSchema(type) {
|
|
4
|
-
return {
|
|
5
|
-
...type.extensions.jsonSchema,
|
|
6
|
-
title: type.name
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
export const bigIntSchema = createScalarSchema(GraphQLBigInt);
|
|
10
|
-
export const didSchema = createScalarSchema(GraphQLDID);
|
|
11
|
-
export const dateTimeSchema = createScalarSchema(GraphQLDateTime);
|
|
12
|
-
export const durationSchema = createScalarSchema(GraphQLDuration);
|
|
13
|
-
export const emailAddressSchema = createScalarSchema(GraphQLEmailAddress);
|
|
14
|
-
export const jsonObjectSchema = createScalarSchema(GraphQLJSONObject);
|
|
15
|
-
export const latitudeSchema = createScalarSchema(GraphQLLatitude);
|
|
16
|
-
export const localDateSchema = createScalarSchema(GraphQLLocalDate);
|
|
17
|
-
export const localDateTimeSchema = createScalarSchema(GraphQLLocalDateTime);
|
|
18
|
-
export const localTimeSchema = createScalarSchema(GraphQLLocalTime);
|
|
19
|
-
export const localeSchema = createScalarSchema(GraphQLLocale);
|
|
20
|
-
export const longitudeSchema = createScalarSchema(GraphQLLongitude);
|
|
21
|
-
export const timeZoneSchema = createScalarSchema(GraphQLTimeZone);
|
|
22
|
-
export const urlSchema = createScalarSchema(GraphQLURL);
|
|
23
|
-
export const utcOffsetSchema = createScalarSchema(GraphQLUtcOffset);
|