From 7283dec589b4e7c4a46e2775487da29c55c9ac9d Mon Sep 17 00:00:00 2001 From: m0nch1 Date: Sun, 9 Oct 2022 16:14:15 +0900 Subject: [PATCH] =?UTF-8?q?Unicode=20=E6=96=87=E5=AD=97=E3=82=92=E5=90=AB?= =?UTF-8?q?=E3=82=80=E5=A0=B4=E5=90=88=E3=81=AF=20unescape=20=E3=81=99?= =?UTF-8?q?=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lib/converters/classApiConverter.ts | 7 ++++++- src/lib/converters/optionsApiConverter.ts | 12 ++++++++++-- src/lib/helper.ts | 4 ++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/src/lib/converters/classApiConverter.ts b/src/lib/converters/classApiConverter.ts index 22889f8..8fc2056 100644 --- a/src/lib/converters/classApiConverter.ts +++ b/src/lib/converters/classApiConverter.ts @@ -4,6 +4,7 @@ import { getExportStatement, getImportStatement, lifecycleNameMap, + containUnicodeChar, } from "../helper"; import { convertOptions } from "./options/optionsConverter"; @@ -141,7 +142,11 @@ export const convertClass = ( sourceFile.flags ); const printer = ts.createPrinter(); - return printer.printFile(newSrc); + const content = printer.printFile(newSrc); + + return containUnicodeChar(content) + ? unescape(content.replace(/\\u/g, "%u")) + : content; }; const parseClassNode = ( diff --git a/src/lib/converters/optionsApiConverter.ts b/src/lib/converters/optionsApiConverter.ts index 18ff386..dbbb1f2 100644 --- a/src/lib/converters/optionsApiConverter.ts +++ b/src/lib/converters/optionsApiConverter.ts @@ -1,5 +1,9 @@ import ts from "typescript"; -import { getExportStatement, getImportStatement } from "../helper"; +import { + getExportStatement, + getImportStatement, + containUnicodeChar, +} from "../helper"; import { convertOptions } from "./options/optionsConverter"; export const convertOptionsApi = (sourceFile: ts.SourceFile) => { @@ -20,5 +24,9 @@ export const convertOptionsApi = (sourceFile: ts.SourceFile) => { sourceFile.flags ); const printer = ts.createPrinter(); - return printer.printFile(newSrc); + const content = printer.printFile(newSrc); + + return containUnicodeChar(content) + ? unescape(content.replace(/\\u/g, "%u")) + : content; }; diff --git a/src/lib/helper.ts b/src/lib/helper.ts index 004a9f3..600da09 100644 --- a/src/lib/helper.ts +++ b/src/lib/helper.ts @@ -221,3 +221,7 @@ export const getSetupStatements = (setupProps: ConvertedExpression[]) => { ) .flat(); }; + +export const containUnicodeChar = (str: string) => { + return /\\u.{4}/gi.test(str); +};