@graphitation/apollo-react-relay-duct-tape-compiler 1.6.8 → 1.6.9
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 +10 -2
- package/lib/typescriptTransforms/TypeScriptTypeTransformers.d.ts.map +1 -1
- package/lib/typescriptTransforms/TypeScriptTypeTransformers.js +1 -0
- package/lib/typescriptTransforms/TypeScriptTypeTransformers.js.map +2 -2
- package/lib/typescriptTransforms/TypeScriptTypeTransformers.mjs +1 -0
- package/lib/typescriptTransforms/TypeScriptTypeTransformers.mjs.map +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
# Change Log - @graphitation/apollo-react-relay-duct-tape-compiler
|
|
2
2
|
|
|
3
|
-
<!-- This log was last generated on Fri,
|
|
3
|
+
<!-- This log was last generated on Fri, 13 Dec 2024 20:53:48 GMT and should not be manually modified. -->
|
|
4
4
|
|
|
5
5
|
<!-- Start content -->
|
|
6
6
|
|
|
7
|
+
## 1.6.9
|
|
8
|
+
|
|
9
|
+
Fri, 13 Dec 2024 20:53:48 GMT
|
|
10
|
+
|
|
11
|
+
### Patches
|
|
12
|
+
|
|
13
|
+
- add DateTime to TypeScriptTypeTransformers (dragoshomner@microsoft.com)
|
|
14
|
+
|
|
7
15
|
## 1.6.8
|
|
8
16
|
|
|
9
|
-
Fri, 22 Nov 2024 09:11:
|
|
17
|
+
Fri, 22 Nov 2024 09:11:34 GMT
|
|
10
18
|
|
|
11
19
|
### Patches
|
|
12
20
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypeScriptTypeTransformers.d.ts","sourceRoot":"","sources":["../../src/typescriptTransforms/TypeScriptTypeTransformers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,yBAAyB,EAAE;QACzB,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;KAChD,CAAC;IACF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACtC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,GAAG,oBAAoB,CAAC;AAMzB,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,GACxB,EAAE,CAAC,QAAQ,CAcb;
|
|
1
|
+
{"version":3,"file":"TypeScriptTypeTransformers.d.ts","sourceRoot":"","sources":["../../src/typescriptTransforms/TypeScriptTypeTransformers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAuB,MAAM,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0DAA0D,CAAC;AAChG,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,KAAK,GAAG;IAClB,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,yBAAyB,EAAE;QACzB,CAAC,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC,eAAe,GAAG,SAAS,CAAC;KAChD,CAAC;IACF,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;IACtC,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACtC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B,GAAG,oBAAoB,CAAC;AAMzB,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,EAAE,CAAC,QAAQ,GACxB,EAAE,CAAC,QAAQ,CAcb;AAuED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE;IACP,mBAAmB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACtC,GACL,EAAE,CAAC,QAAQ,CAqBb"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/typescriptTransforms/TypeScriptTypeTransformers.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Taken from https://github.com/relay-tools/relay-compiler-language-typescript/blob/3231ea09205cc341be704c00e78db0d8ff78b34a/src/TypeScriptTypeTransformers.ts\n * License: MIT\n * Copyright 2018 Kaare Hoff Skovgaard kaare@kaareskovgaard.net, Eloy Dur\u00E1n eloy.de.enige@gmail.com\n */\n\nimport { EnumTypeID, FieldID, Schema, TypeID } from \"relay-compiler\";\nimport { TypeGeneratorOptions } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport * as ts from \"typescript\";\n\nexport type ScalarTypeMapping = {\n [type: string]: string;\n};\n\nexport type State = {\n generatedFragments: Set<string>;\n generatedInputObjectTypes: {\n [name: string]: ts.TypeLiteralNode | \"pending\";\n };\n matchFields: Map<string, ts.TypeNode>;\n runtimeImports: Set<string>;\n usedEnums: { [name: string]: TypeID };\n usedFragments: Set<string>;\n} & TypeGeneratorOptions;\n\nfunction getInputObjectTypeIdentifier(schema: Schema, typeID: TypeID): string {\n return schema.getTypeString(typeID);\n}\n\nexport function transformScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isNonNull(type)) {\n return transformNonNullableScalarType(\n schema,\n schema.getNullableType(type),\n state,\n objectProps,\n );\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableScalarType(schema, type, state, objectProps),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [\n transformScalarType(\n schema,\n schema.getListItemType(type),\n state,\n objectProps,\n ),\n ],\n );\n } else if (\n schema.isObject(type) ||\n schema.isUnion(type) ||\n schema.isInterface(type)\n ) {\n return objectProps!;\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n\nfunction transformGraphQLScalarType(\n typeName: string,\n state: State,\n): ts.TypeNode {\n const customType = state.customScalars[typeName];\n switch (customType || typeName) {\n case \"ID\":\n case \"String\":\n case \"Url\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);\n case \"Float\":\n case \"Int\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);\n case \"Boolean\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword);\n\n default:\n return customType\n ? ts.factory.createTypeReferenceNode(customType, undefined)\n : ts.factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);\n }\n}\n\nfunction transformGraphQLEnumType(\n schema: Schema,\n type: EnumTypeID,\n state: State,\n): ts.TypeNode {\n state.usedEnums[schema.getTypeString(type)] = type;\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(schema.getTypeString(type)),\n [],\n );\n}\n\nexport function transformInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n options: {\n inputObjectProperty?: boolean | undefined;\n } = {},\n): ts.TypeNode {\n const { inputObjectProperty } = options;\n if (schema.isNonNull(type)) {\n return transformNonNullableInputType(\n schema,\n schema.getNullableType(type),\n state,\n );\n } else if (inputObjectProperty) {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n // add undefined to support exactOptionalPropertyTypes\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]);\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n) {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"Array\"),\n [transformInputType(schema, schema.getListItemType(type), state)],\n );\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else if (schema.isInputObject(type)) {\n const typeIdentifier = getInputObjectTypeIdentifier(schema, type);\n if (state.generatedInputObjectTypes[typeIdentifier]) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n }\n state.generatedInputObjectTypes[typeIdentifier] = \"pending\";\n\n const fields = schema.getFields(schema.assertInputObjectType(type));\n\n const props = fields.map((fieldID: FieldID) => {\n const fieldType = schema.getFieldType(fieldID);\n const fieldName = schema.getFieldName(fieldID);\n const property = ts.factory.createPropertySignature(\n undefined,\n ts.factory.createIdentifier(fieldName),\n state.optionalInputFields.indexOf(fieldName) >= 0 ||\n !schema.isNonNull(fieldType)\n ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)\n : undefined,\n transformInputType(schema, fieldType, state, {\n inputObjectProperty: true,\n }),\n );\n\n return property;\n });\n state.generatedInputObjectTypes[typeIdentifier] =\n ts.factory.createTypeLiteralNode(props);\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * Taken from https://github.com/relay-tools/relay-compiler-language-typescript/blob/3231ea09205cc341be704c00e78db0d8ff78b34a/src/TypeScriptTypeTransformers.ts\n * License: MIT\n * Copyright 2018 Kaare Hoff Skovgaard kaare@kaareskovgaard.net, Eloy Dur\u00E1n eloy.de.enige@gmail.com\n */\n\nimport { EnumTypeID, FieldID, Schema, TypeID } from \"relay-compiler\";\nimport { TypeGeneratorOptions } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport * as ts from \"typescript\";\n\nexport type ScalarTypeMapping = {\n [type: string]: string;\n};\n\nexport type State = {\n generatedFragments: Set<string>;\n generatedInputObjectTypes: {\n [name: string]: ts.TypeLiteralNode | \"pending\";\n };\n matchFields: Map<string, ts.TypeNode>;\n runtimeImports: Set<string>;\n usedEnums: { [name: string]: TypeID };\n usedFragments: Set<string>;\n} & TypeGeneratorOptions;\n\nfunction getInputObjectTypeIdentifier(schema: Schema, typeID: TypeID): string {\n return schema.getTypeString(typeID);\n}\n\nexport function transformScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isNonNull(type)) {\n return transformNonNullableScalarType(\n schema,\n schema.getNullableType(type),\n state,\n objectProps,\n );\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableScalarType(schema, type, state, objectProps),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [\n transformScalarType(\n schema,\n schema.getListItemType(type),\n state,\n objectProps,\n ),\n ],\n );\n } else if (\n schema.isObject(type) ||\n schema.isUnion(type) ||\n schema.isInterface(type)\n ) {\n return objectProps!;\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n\nfunction transformGraphQLScalarType(\n typeName: string,\n state: State,\n): ts.TypeNode {\n const customType = state.customScalars[typeName];\n switch (customType || typeName) {\n case \"ID\":\n case \"String\":\n case \"Url\":\n case \"DateTime\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);\n case \"Float\":\n case \"Int\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);\n case \"Boolean\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword);\n\n default:\n return customType\n ? ts.factory.createTypeReferenceNode(customType, undefined)\n : ts.factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);\n }\n}\n\nfunction transformGraphQLEnumType(\n schema: Schema,\n type: EnumTypeID,\n state: State,\n): ts.TypeNode {\n state.usedEnums[schema.getTypeString(type)] = type;\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(schema.getTypeString(type)),\n [],\n );\n}\n\nexport function transformInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n options: {\n inputObjectProperty?: boolean | undefined;\n } = {},\n): ts.TypeNode {\n const { inputObjectProperty } = options;\n if (schema.isNonNull(type)) {\n return transformNonNullableInputType(\n schema,\n schema.getNullableType(type),\n state,\n );\n } else if (inputObjectProperty) {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n // add undefined to support exactOptionalPropertyTypes\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]);\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n) {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"Array\"),\n [transformInputType(schema, schema.getListItemType(type), state)],\n );\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else if (schema.isInputObject(type)) {\n const typeIdentifier = getInputObjectTypeIdentifier(schema, type);\n if (state.generatedInputObjectTypes[typeIdentifier]) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n }\n state.generatedInputObjectTypes[typeIdentifier] = \"pending\";\n\n const fields = schema.getFields(schema.assertInputObjectType(type));\n\n const props = fields.map((fieldID: FieldID) => {\n const fieldType = schema.getFieldType(fieldID);\n const fieldName = schema.getFieldName(fieldID);\n const property = ts.factory.createPropertySignature(\n undefined,\n ts.factory.createIdentifier(fieldName),\n state.optionalInputFields.indexOf(fieldName) >= 0 ||\n !schema.isNonNull(fieldType)\n ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)\n : undefined,\n transformInputType(schema, fieldType, state, {\n inputObjectProperty: true,\n }),\n );\n\n return property;\n });\n state.generatedInputObjectTypes[typeIdentifier] =\n ts.factory.createTypeLiteralNode(props);\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/typescriptTransforms/TypeScriptTypeTransformers.ts"],
|
|
4
|
-
"sourcesContent": ["/**\n * Taken from https://github.com/relay-tools/relay-compiler-language-typescript/blob/3231ea09205cc341be704c00e78db0d8ff78b34a/src/TypeScriptTypeTransformers.ts\n * License: MIT\n * Copyright 2018 Kaare Hoff Skovgaard kaare@kaareskovgaard.net, Eloy Dur\u00E1n eloy.de.enige@gmail.com\n */\n\nimport { EnumTypeID, FieldID, Schema, TypeID } from \"relay-compiler\";\nimport { TypeGeneratorOptions } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport * as ts from \"typescript\";\n\nexport type ScalarTypeMapping = {\n [type: string]: string;\n};\n\nexport type State = {\n generatedFragments: Set<string>;\n generatedInputObjectTypes: {\n [name: string]: ts.TypeLiteralNode | \"pending\";\n };\n matchFields: Map<string, ts.TypeNode>;\n runtimeImports: Set<string>;\n usedEnums: { [name: string]: TypeID };\n usedFragments: Set<string>;\n} & TypeGeneratorOptions;\n\nfunction getInputObjectTypeIdentifier(schema: Schema, typeID: TypeID): string {\n return schema.getTypeString(typeID);\n}\n\nexport function transformScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isNonNull(type)) {\n return transformNonNullableScalarType(\n schema,\n schema.getNullableType(type),\n state,\n objectProps,\n );\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableScalarType(schema, type, state, objectProps),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [\n transformScalarType(\n schema,\n schema.getListItemType(type),\n state,\n objectProps,\n ),\n ],\n );\n } else if (\n schema.isObject(type) ||\n schema.isUnion(type) ||\n schema.isInterface(type)\n ) {\n return objectProps!;\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n\nfunction transformGraphQLScalarType(\n typeName: string,\n state: State,\n): ts.TypeNode {\n const customType = state.customScalars[typeName];\n switch (customType || typeName) {\n case \"ID\":\n case \"String\":\n case \"Url\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);\n case \"Float\":\n case \"Int\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);\n case \"Boolean\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword);\n\n default:\n return customType\n ? ts.factory.createTypeReferenceNode(customType, undefined)\n : ts.factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);\n }\n}\n\nfunction transformGraphQLEnumType(\n schema: Schema,\n type: EnumTypeID,\n state: State,\n): ts.TypeNode {\n state.usedEnums[schema.getTypeString(type)] = type;\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(schema.getTypeString(type)),\n [],\n );\n}\n\nexport function transformInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n options: {\n inputObjectProperty?: boolean | undefined;\n } = {},\n): ts.TypeNode {\n const { inputObjectProperty } = options;\n if (schema.isNonNull(type)) {\n return transformNonNullableInputType(\n schema,\n schema.getNullableType(type),\n state,\n );\n } else if (inputObjectProperty) {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n // add undefined to support exactOptionalPropertyTypes\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]);\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n) {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"Array\"),\n [transformInputType(schema, schema.getListItemType(type), state)],\n );\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else if (schema.isInputObject(type)) {\n const typeIdentifier = getInputObjectTypeIdentifier(schema, type);\n if (state.generatedInputObjectTypes[typeIdentifier]) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n }\n state.generatedInputObjectTypes[typeIdentifier] = \"pending\";\n\n const fields = schema.getFields(schema.assertInputObjectType(type));\n\n const props = fields.map((fieldID: FieldID) => {\n const fieldType = schema.getFieldType(fieldID);\n const fieldName = schema.getFieldName(fieldID);\n const property = ts.factory.createPropertySignature(\n undefined,\n ts.factory.createIdentifier(fieldName),\n state.optionalInputFields.indexOf(fieldName) >= 0 ||\n !schema.isNonNull(fieldType)\n ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)\n : undefined,\n transformInputType(schema, fieldType, state, {\n inputObjectProperty: true,\n }),\n );\n\n return property;\n });\n state.generatedInputObjectTypes[typeIdentifier] =\n ts.factory.createTypeLiteralNode(props);\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["/**\n * Taken from https://github.com/relay-tools/relay-compiler-language-typescript/blob/3231ea09205cc341be704c00e78db0d8ff78b34a/src/TypeScriptTypeTransformers.ts\n * License: MIT\n * Copyright 2018 Kaare Hoff Skovgaard kaare@kaareskovgaard.net, Eloy Dur\u00E1n eloy.de.enige@gmail.com\n */\n\nimport { EnumTypeID, FieldID, Schema, TypeID } from \"relay-compiler\";\nimport { TypeGeneratorOptions } from \"relay-compiler/lib/language/RelayLanguagePluginInterface\";\nimport * as ts from \"typescript\";\n\nexport type ScalarTypeMapping = {\n [type: string]: string;\n};\n\nexport type State = {\n generatedFragments: Set<string>;\n generatedInputObjectTypes: {\n [name: string]: ts.TypeLiteralNode | \"pending\";\n };\n matchFields: Map<string, ts.TypeNode>;\n runtimeImports: Set<string>;\n usedEnums: { [name: string]: TypeID };\n usedFragments: Set<string>;\n} & TypeGeneratorOptions;\n\nfunction getInputObjectTypeIdentifier(schema: Schema, typeID: TypeID): string {\n return schema.getTypeString(typeID);\n}\n\nexport function transformScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isNonNull(type)) {\n return transformNonNullableScalarType(\n schema,\n schema.getNullableType(type),\n state,\n objectProps,\n );\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableScalarType(schema, type, state, objectProps),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableScalarType(\n schema: Schema,\n type: TypeID,\n state: State,\n objectProps?: ts.TypeNode,\n): ts.TypeNode {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"ReadonlyArray\"),\n [\n transformScalarType(\n schema,\n schema.getListItemType(type),\n state,\n objectProps,\n ),\n ],\n );\n } else if (\n schema.isObject(type) ||\n schema.isUnion(type) ||\n schema.isInterface(type)\n ) {\n return objectProps!;\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n\nfunction transformGraphQLScalarType(\n typeName: string,\n state: State,\n): ts.TypeNode {\n const customType = state.customScalars[typeName];\n switch (customType || typeName) {\n case \"ID\":\n case \"String\":\n case \"Url\":\n case \"DateTime\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.StringKeyword);\n case \"Float\":\n case \"Int\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.NumberKeyword);\n case \"Boolean\":\n return ts.factory.createKeywordTypeNode(ts.SyntaxKind.BooleanKeyword);\n\n default:\n return customType\n ? ts.factory.createTypeReferenceNode(customType, undefined)\n : ts.factory.createKeywordTypeNode(ts.SyntaxKind.UnknownKeyword);\n }\n}\n\nfunction transformGraphQLEnumType(\n schema: Schema,\n type: EnumTypeID,\n state: State,\n): ts.TypeNode {\n state.usedEnums[schema.getTypeString(type)] = type;\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(schema.getTypeString(type)),\n [],\n );\n}\n\nexport function transformInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n options: {\n inputObjectProperty?: boolean | undefined;\n } = {},\n): ts.TypeNode {\n const { inputObjectProperty } = options;\n if (schema.isNonNull(type)) {\n return transformNonNullableInputType(\n schema,\n schema.getNullableType(type),\n state,\n );\n } else if (inputObjectProperty) {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n // add undefined to support exactOptionalPropertyTypes\n ts.factory.createKeywordTypeNode(ts.SyntaxKind.UndefinedKeyword),\n ]);\n } else {\n return ts.factory.createUnionTypeNode([\n transformNonNullableInputType(schema, type, state),\n ts.factory.createLiteralTypeNode(ts.factory.createNull()),\n ]);\n }\n}\n\nfunction transformNonNullableInputType(\n schema: Schema,\n type: TypeID,\n state: State,\n) {\n if (schema.isList(type)) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(\"Array\"),\n [transformInputType(schema, schema.getListItemType(type), state)],\n );\n } else if (schema.isScalar(type)) {\n return transformGraphQLScalarType(schema.getTypeString(type), state);\n } else if (schema.isEnum(type)) {\n return transformGraphQLEnumType(schema, schema.assertEnumType(type), state);\n } else if (schema.isInputObject(type)) {\n const typeIdentifier = getInputObjectTypeIdentifier(schema, type);\n if (state.generatedInputObjectTypes[typeIdentifier]) {\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n }\n state.generatedInputObjectTypes[typeIdentifier] = \"pending\";\n\n const fields = schema.getFields(schema.assertInputObjectType(type));\n\n const props = fields.map((fieldID: FieldID) => {\n const fieldType = schema.getFieldType(fieldID);\n const fieldName = schema.getFieldName(fieldID);\n const property = ts.factory.createPropertySignature(\n undefined,\n ts.factory.createIdentifier(fieldName),\n state.optionalInputFields.indexOf(fieldName) >= 0 ||\n !schema.isNonNull(fieldType)\n ? ts.factory.createToken(ts.SyntaxKind.QuestionToken)\n : undefined,\n transformInputType(schema, fieldType, state, {\n inputObjectProperty: true,\n }),\n );\n\n return property;\n });\n state.generatedInputObjectTypes[typeIdentifier] =\n ts.factory.createTypeLiteralNode(props);\n return ts.factory.createTypeReferenceNode(\n ts.factory.createIdentifier(typeIdentifier),\n [],\n );\n } else {\n throw new Error(`Could not convert from GraphQL type ${type.toString()}`);\n }\n}\n"],
|
|
5
|
+
"mappings": ";AAQA,YAAY,QAAQ;AAiBpB,SAAS,6BAA6B,QAAgB,QAAwB;AAC5E,SAAO,OAAO,cAAc,MAAM;AACpC;AAEO,SAAS,oBACd,QACA,MACA,OACA,aACa;AACb,MAAI,OAAO,UAAU,IAAI,GAAG;AAC1B,WAAO;AAAA,MACL;AAAA,MACA,OAAO,gBAAgB,IAAI;AAAA,MAC3B;AAAA,MACA;AAAA,IACF;AAAA,EACF,OAAO;AACL,WAAU,WAAQ,oBAAoB;AAAA,MACpC,+BAA+B,QAAQ,MAAM,OAAO,WAAW;AAAA,MAC5D,WAAQ,sBAAyB,WAAQ,WAAW,CAAC;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAEA,SAAS,+BACP,QACA,MACA,OACA,aACa;AACb,MAAI,OAAO,OAAO,IAAI,GAAG;AACvB,WAAU,WAAQ;AAAA,MACb,WAAQ,iBAAiB,eAAe;AAAA,MAC3C;AAAA,QACE;AAAA,UACE;AAAA,UACA,OAAO,gBAAgB,IAAI;AAAA,UAC3B;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,WACE,OAAO,SAAS,IAAI,KACpB,OAAO,QAAQ,IAAI,KACnB,OAAO,YAAY,IAAI,GACvB;AACA,WAAO;AAAA,EACT,WAAW,OAAO,SAAS,IAAI,GAAG;AAChC,WAAO,2BAA2B,OAAO,cAAc,IAAI,GAAG,KAAK;AAAA,EACrE,WAAW,OAAO,OAAO,IAAI,GAAG;AAC9B,WAAO,yBAAyB,QAAQ,OAAO,eAAe,IAAI,GAAG,KAAK;AAAA,EAC5E,OAAO;AACL,UAAM,IAAI,MAAM,uCAAuC,KAAK,SAAS,GAAG;AAAA,EAC1E;AACF;AAEA,SAAS,2BACP,UACA,OACa;AACb,QAAM,aAAa,MAAM,cAAc,QAAQ;AAC/C,UAAQ,cAAc,UAAU;AAAA,IAC9B,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AAAA,IACL,KAAK;AACH,aAAU,WAAQ,sBAAyB,cAAW,aAAa;AAAA,IACrE,KAAK;AAAA,IACL,KAAK;AACH,aAAU,WAAQ,sBAAyB,cAAW,aAAa;AAAA,IACrE,KAAK;AACH,aAAU,WAAQ,sBAAyB,cAAW,cAAc;AAAA,IAEtE;AACE,aAAO,aACA,WAAQ,wBAAwB,YAAY,MAAS,IACrD,WAAQ,sBAAyB,cAAW,cAAc;AAAA,EACrE;AACF;AAEA,SAAS,yBACP,QACA,MACA,OACa;AACb,QAAM,UAAU,OAAO,cAAc,IAAI,CAAC,IAAI;AAC9C,SAAU,WAAQ;AAAA,IACb,WAAQ,iBAAiB,OAAO,cAAc,IAAI,CAAC;AAAA,IACtD,CAAC;AAAA,EACH;AACF;AAEO,SAAS,mBACd,QACA,MACA,OACA,UAEI,CAAC,GACQ;AACb,QAAM,EAAE,oBAAoB,IAAI;AAChC,MAAI,OAAO,UAAU,IAAI,GAAG;AAC1B,WAAO;AAAA,MACL;AAAA,MACA,OAAO,gBAAgB,IAAI;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,WAAW,qBAAqB;AAC9B,WAAU,WAAQ,oBAAoB;AAAA,MACpC,8BAA8B,QAAQ,MAAM,KAAK;AAAA,MAC9C,WAAQ,sBAAyB,WAAQ,WAAW,CAAC;AAAA;AAAA,MAErD,WAAQ,sBAAyB,cAAW,gBAAgB;AAAA,IACjE,CAAC;AAAA,EACH,OAAO;AACL,WAAU,WAAQ,oBAAoB;AAAA,MACpC,8BAA8B,QAAQ,MAAM,KAAK;AAAA,MAC9C,WAAQ,sBAAyB,WAAQ,WAAW,CAAC;AAAA,IAC1D,CAAC;AAAA,EACH;AACF;AAEA,SAAS,8BACP,QACA,MACA,OACA;AACA,MAAI,OAAO,OAAO,IAAI,GAAG;AACvB,WAAU,WAAQ;AAAA,MACb,WAAQ,iBAAiB,OAAO;AAAA,MACnC,CAAC,mBAAmB,QAAQ,OAAO,gBAAgB,IAAI,GAAG,KAAK,CAAC;AAAA,IAClE;AAAA,EACF,WAAW,OAAO,SAAS,IAAI,GAAG;AAChC,WAAO,2BAA2B,OAAO,cAAc,IAAI,GAAG,KAAK;AAAA,EACrE,WAAW,OAAO,OAAO,IAAI,GAAG;AAC9B,WAAO,yBAAyB,QAAQ,OAAO,eAAe,IAAI,GAAG,KAAK;AAAA,EAC5E,WAAW,OAAO,cAAc,IAAI,GAAG;AACrC,UAAM,iBAAiB,6BAA6B,QAAQ,IAAI;AAChE,QAAI,MAAM,0BAA0B,cAAc,GAAG;AACnD,aAAU,WAAQ;AAAA,QACb,WAAQ,iBAAiB,cAAc;AAAA,QAC1C,CAAC;AAAA,MACH;AAAA,IACF;AACA,UAAM,0BAA0B,cAAc,IAAI;AAElD,UAAM,SAAS,OAAO,UAAU,OAAO,sBAAsB,IAAI,CAAC;AAElE,UAAM,QAAQ,OAAO,IAAI,CAAC,YAAqB;AAC7C,YAAM,YAAY,OAAO,aAAa,OAAO;AAC7C,YAAM,YAAY,OAAO,aAAa,OAAO;AAC7C,YAAM,WAAc,WAAQ;AAAA,QAC1B;AAAA,QACG,WAAQ,iBAAiB,SAAS;AAAA,QACrC,MAAM,oBAAoB,QAAQ,SAAS,KAAK,KAC9C,CAAC,OAAO,UAAU,SAAS,IACtB,WAAQ,YAAe,cAAW,aAAa,IAClD;AAAA,QACJ,mBAAmB,QAAQ,WAAW,OAAO;AAAA,UAC3C,qBAAqB;AAAA,QACvB,CAAC;AAAA,MACH;AAEA,aAAO;AAAA,IACT,CAAC;AACD,UAAM,0BAA0B,cAAc,IACzC,WAAQ,sBAAsB,KAAK;AACxC,WAAU,WAAQ;AAAA,MACb,WAAQ,iBAAiB,cAAc;AAAA,MAC1C,CAAC;AAAA,IACH;AAAA,EACF,OAAO;AACL,UAAM,IAAI,MAAM,uCAAuC,KAAK,SAAS,GAAG;AAAA,EAC1E;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@graphitation/apollo-react-relay-duct-tape-compiler",
|
|
3
3
|
"description": "The build tools to cater to @graphitation/apollo-react-relay-duct-tape's needs.",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"version": "1.6.
|
|
5
|
+
"version": "1.6.9",
|
|
6
6
|
"main": "./lib/index.js",
|
|
7
7
|
"bin": {
|
|
8
8
|
"duct-tape-compiler": "./lib/cli.js"
|