@protobuf-ts/plugin-framework
Advanced tools
Comparing version 2.4.0 to 2.5.0
@@ -94,3 +94,3 @@ "use strict"; | ||
return block.endsWith('\n') | ||
? block.substr(0, block.length - 1) | ||
? block.slice(0, -1) | ||
: block; | ||
@@ -97,0 +97,0 @@ } |
@@ -29,4 +29,4 @@ "use strict"; | ||
*/ | ||
namespace(source, importAs, importFrom) { | ||
return ensureNamespaceImportPresent(source.getSourceFile(), importAs, importFrom, statementToAdd => source.addStatement(statementToAdd, true)); | ||
namespace(source, importAs, importFrom, isTypeOnly = false) { | ||
return ensureNamespaceImportPresent(source.getSourceFile(), importAs, importFrom, isTypeOnly, statementToAdd => source.addStatement(statementToAdd, true)); | ||
} | ||
@@ -69,8 +69,8 @@ /** | ||
*/ | ||
function ensureNamespaceImportPresent(currentFile, asName, importFrom, addStatementFn) { | ||
const all = findNamespaceImports(currentFile), match = all.find(ni => ni.as === asName && ni.from === importFrom); | ||
function ensureNamespaceImportPresent(currentFile, asName, importFrom, isTypeOnly, addStatementFn) { | ||
const all = findNamespaceImports(currentFile), match = all.find(ni => ni.as === asName && ni.from === importFrom && ni.isTypeOnly === isTypeOnly); | ||
if (match) { | ||
return match.as; | ||
} | ||
const statementToAdd = createNamespaceImport(asName, importFrom); | ||
const statementToAdd = createNamespaceImport(asName, importFrom, isTypeOnly); | ||
addStatementFn(statementToAdd); | ||
@@ -82,4 +82,4 @@ return asName; | ||
*/ | ||
function createNamespaceImport(asName, importFrom) { | ||
return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamespaceImport(ts.createIdentifier(asName))), ts.createStringLiteral(importFrom)); | ||
function createNamespaceImport(asName, importFrom, isTypeOnly) { | ||
return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamespaceImport(ts.createIdentifier(asName)), isTypeOnly), ts.createStringLiteral(importFrom)); | ||
} | ||
@@ -98,3 +98,4 @@ /** | ||
as: namedBindings.name.escapedText.toString(), | ||
from: s.moduleSpecifier.text | ||
from: s.moduleSpecifier.text, | ||
isTypeOnly: s.importClause.isTypeOnly, | ||
}); | ||
@@ -101,0 +102,0 @@ } |
@@ -88,3 +88,3 @@ import { DescriptorProto, EnumDescriptorProto, EnumValueDescriptorProto, FieldDescriptorProto, FileDescriptorProto, MethodDescriptorProto, OneofDescriptorProto, ServiceDescriptorProto } from "./google/protobuf/descriptor"; | ||
return block.endsWith('\n') | ||
? block.substr(0, block.length - 1) | ||
? block.slice(0, -1) | ||
: block; | ||
@@ -91,0 +91,0 @@ } |
@@ -26,4 +26,4 @@ import { assert } from "@protobuf-ts/runtime"; | ||
*/ | ||
namespace(source, importAs, importFrom) { | ||
return ensureNamespaceImportPresent(source.getSourceFile(), importAs, importFrom, statementToAdd => source.addStatement(statementToAdd, true)); | ||
namespace(source, importAs, importFrom, isTypeOnly = false) { | ||
return ensureNamespaceImportPresent(source.getSourceFile(), importAs, importFrom, isTypeOnly, statementToAdd => source.addStatement(statementToAdd, true)); | ||
} | ||
@@ -65,8 +65,8 @@ /** | ||
*/ | ||
function ensureNamespaceImportPresent(currentFile, asName, importFrom, addStatementFn) { | ||
const all = findNamespaceImports(currentFile), match = all.find(ni => ni.as === asName && ni.from === importFrom); | ||
function ensureNamespaceImportPresent(currentFile, asName, importFrom, isTypeOnly, addStatementFn) { | ||
const all = findNamespaceImports(currentFile), match = all.find(ni => ni.as === asName && ni.from === importFrom && ni.isTypeOnly === isTypeOnly); | ||
if (match) { | ||
return match.as; | ||
} | ||
const statementToAdd = createNamespaceImport(asName, importFrom); | ||
const statementToAdd = createNamespaceImport(asName, importFrom, isTypeOnly); | ||
addStatementFn(statementToAdd); | ||
@@ -78,4 +78,4 @@ return asName; | ||
*/ | ||
function createNamespaceImport(asName, importFrom) { | ||
return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamespaceImport(ts.createIdentifier(asName))), ts.createStringLiteral(importFrom)); | ||
function createNamespaceImport(asName, importFrom, isTypeOnly) { | ||
return ts.createImportDeclaration(undefined, undefined, ts.createImportClause(undefined, ts.createNamespaceImport(ts.createIdentifier(asName)), isTypeOnly), ts.createStringLiteral(importFrom)); | ||
} | ||
@@ -94,3 +94,4 @@ /** | ||
as: namedBindings.name.escapedText.toString(), | ||
from: s.moduleSpecifier.text | ||
from: s.moduleSpecifier.text, | ||
isTypeOnly: s.importClause.isTypeOnly, | ||
}); | ||
@@ -97,0 +98,0 @@ } |
@@ -23,3 +23,3 @@ import * as ts from "typescript"; | ||
*/ | ||
namespace(source: TypescriptFile, importAs: string, importFrom: string): string; | ||
namespace(source: TypescriptFile, importAs: string, importFrom: string, isTypeOnly?: boolean): string; | ||
/** | ||
@@ -26,0 +26,0 @@ * Import a previously registered identifier for a message |
{ | ||
"name": "@protobuf-ts/plugin-framework", | ||
"version": "2.4.0", | ||
"version": "2.5.0", | ||
"description": "framework to create protoc plugins", | ||
@@ -36,6 +36,6 @@ "license": "(Apache-2.0 AND BSD-3-Clause)", | ||
"dependencies": { | ||
"@protobuf-ts/runtime": "^2.4.0", | ||
"@protobuf-ts/runtime": "^2.5.0", | ||
"typescript": "^3.9" | ||
}, | ||
"gitHead": "81bc5ca3ad023541bc9ed1f2b7308793ffc6d6ee" | ||
"gitHead": "63ea42785d879a32021268b1b318803df3ab391d" | ||
} |
393480
9085
Updated@protobuf-ts/runtime@^2.5.0