Skip to content

Commit 890c1f3

Browse files
Link1515sharevb
authored andcommitted
fix(yaml-viewer): prevent large integers from being converted to exponential notation by enabling inAsBigInt config
1 parent fb62eec commit 890c1f3

File tree

3 files changed

+27
-2
lines changed

3 files changed

+27
-2
lines changed

components.d.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,18 @@ declare module '@vue/runtime-core' {
146146
IcalMerger: typeof import('./src/tools/ical-merger/ical-merger.vue')['default']
147147
IcalParser: typeof import('./src/tools/ical-parser/ical-parser.vue')['default']
148148
IcoConverter: typeof import('./src/tools/ico-converter/ico-converter.vue')['default']
149+
'IconMdi:brushVariant': typeof import('~icons/mdi/brush-variant')['default']
149150
'IconMdi:kettleSteamOutline': typeof import('~icons/mdi/kettle-steam-outline')['default']
151+
IconMdiChevronDown: typeof import('~icons/mdi/chevron-down')['default']
152+
IconMdiChevronRight: typeof import('~icons/mdi/chevron-right')['default']
150153
IconMdiClose: typeof import('~icons/mdi/close')['default']
154+
IconMdiContentCopy: typeof import('~icons/mdi/content-copy')['default']
151155
IconMdiEye: typeof import('~icons/mdi/eye')['default']
152156
IconMdiEyeOff: typeof import('~icons/mdi/eye-off')['default']
157+
IconMdiHeart: typeof import('~icons/mdi/heart')['default']
158+
IconMdiSearch: typeof import('~icons/mdi/search')['default']
159+
IconMdiTranslate: typeof import('~icons/mdi/translate')['default']
160+
IconMdiTriangleDown: typeof import('~icons/mdi/triangle-down')['default']
153161
ImageConverter: typeof import('./src/tools/image-converter/image-converter.vue')['default']
154162
ImageExifReader: typeof import('./src/tools/image-exif-reader/image-exif-reader.vue')['default']
155163
ImageResizer: typeof import('./src/tools/image-resizer/image-resizer.vue')['default']
@@ -229,13 +237,27 @@ declare module '@vue/runtime-core' {
229237
MongoObjectidConverter: typeof import('./src/tools/mongo-objectid-converter/mongo-objectid-converter.vue')['default']
230238
MorseConverter: typeof import('./src/tools/morse-converter/morse-converter.vue')['default']
231239
MultiLinkDownloader: typeof import('./src/tools/multi-link-downloader/multi-link-downloader.vue')['default']
240+
NAlert: typeof import('naive-ui')['NAlert']
232241
NanoidGenerator: typeof import('./src/tools/nanoid-generator/nanoid-generator.vue')['default']
233242
NanoMemo: typeof import('./src/tools/nano-memo/nano-memo.vue')['default']
234243
'NanoMemo.content': typeof import('./src/tools/nano-memo/nano-memo.content.md')['default']
235244
NavbarButtons: typeof import('./src/components/NavbarButtons.vue')['default']
245+
NCode: typeof import('naive-ui')['NCode']
246+
NCollapseTransition: typeof import('naive-ui')['NCollapseTransition']
236247
NConfigProvider: typeof import('naive-ui')['NConfigProvider']
248+
NDivider: typeof import('naive-ui')['NDivider']
249+
NEllipsis: typeof import('naive-ui')['NEllipsis']
250+
NFormItem: typeof import('naive-ui')['NFormItem']
237251
NginxFormatter: typeof import('./src/tools/nginx-formatter/nginx-formatter.vue')['default']
252+
NH1: typeof import('naive-ui')['NH1']
253+
NH3: typeof import('naive-ui')['NH3']
238254
NIcon: typeof import('naive-ui')['NIcon']
255+
NInputNumber: typeof import('naive-ui')['NInputNumber']
256+
NLayout: typeof import('naive-ui')['NLayout']
257+
NLayoutSider: typeof import('naive-ui')['NLayoutSider']
258+
NMenu: typeof import('naive-ui')['NMenu']
259+
NScrollbar: typeof import('naive-ui')['NScrollbar']
260+
NSwitch: typeof import('naive-ui')['NSwitch']
239261
NumeronymGenerator: typeof import('./src/tools/numeronym-generator/numeronym-generator.vue')['default']
240262
OcrImage: typeof import('./src/tools/ocr-image/ocr-image.vue')['default']
241263
Option43Generator: typeof import('./src/tools/option43-generator/option43-generator.vue')['default']

src/tools/yaml-viewer/composeverter.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ declare module 'composeverter' {
1717
export function migrateFromV2xToV3x(content: string, configuration?: Configuration = null): string;
1818
export function getDockerComposeSchemaWithoutFormats(): object;
1919
export function yamlParse(content: string): object;
20+
export function yamlCheck(content: string): object;
2021
}

src/tools/yaml-viewer/yaml-models.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { type MaybeRef, get } from '@vueuse/core';
2-
import { yamlParse } from 'composeverter';
2+
import { yamlCheck } from 'composeverter';
33
import yaml from 'yaml';
44

55
export { formatYaml };
@@ -13,7 +13,9 @@ function formatYaml({
1313
sortKeys?: MaybeRef<boolean>
1414
indentSize?: MaybeRef<number>
1515
}) {
16-
const parsedYaml = yamlParse(get(rawYaml));
16+
const rawYamlString = get(rawYaml);
17+
yamlCheck(rawYamlString);
18+
const parsedYaml = yaml.parse(rawYamlString, { intAsBigInt: true });
1719

1820
const formattedYAML = yaml.stringify(parsedYaml, {
1921
sortMapEntries: get(sortKeys),

0 commit comments

Comments
 (0)