mirror of
https://github.com/denoland/std.git
synced 2024-11-21 12:40:03 +00:00
refactor(yaml): replace getObjectTypeString()
with isPlainObject()
(#5842)
* initial commit * fmt
This commit is contained in:
parent
f7fe38a182
commit
29fdb0d536
@ -38,7 +38,7 @@ import {
|
||||
|
||||
import { DEFAULT_SCHEMA, type Schema, type TypeMap } from "./_schema.ts";
|
||||
import type { KindType, Type } from "./_type.ts";
|
||||
import { getObjectTypeString, isObject } from "./_utils.ts";
|
||||
import { isObject, isPlainObject } from "./_utils.ts";
|
||||
|
||||
const CONTEXT_FLOW_IN = 1;
|
||||
const CONTEXT_FLOW_OUT = 2;
|
||||
@ -456,10 +456,7 @@ export class LoaderState {
|
||||
);
|
||||
}
|
||||
|
||||
if (
|
||||
typeof keyNode === "object" &&
|
||||
getObjectTypeString(keyNode[index]) === "[object Object]"
|
||||
) {
|
||||
if (typeof keyNode === "object" && isPlainObject(keyNode[index])) {
|
||||
keyNode[index] = "[object Object]";
|
||||
}
|
||||
}
|
||||
@ -468,10 +465,7 @@ export class LoaderState {
|
||||
// Avoid code execution in load() via toString property
|
||||
// (still use its own toString for arrays, timestamps,
|
||||
// and whatever user schema extensions happen to have @@toStringTag)
|
||||
if (
|
||||
typeof keyNode === "object" &&
|
||||
getObjectTypeString(keyNode) === "[object Object]"
|
||||
) {
|
||||
if (typeof keyNode === "object" && isPlainObject(keyNode)) {
|
||||
keyNode = "[object Object]";
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
import type { Type } from "../_type.ts";
|
||||
import { getObjectTypeString } from "../_utils.ts";
|
||||
import { isPlainObject } from "../_utils.ts";
|
||||
|
||||
function resolveYamlOmap(data: Record<string, unknown>[]): boolean {
|
||||
const objectKeys: string[] = [];
|
||||
@ -14,9 +14,7 @@ function resolveYamlOmap(data: Record<string, unknown>[]): boolean {
|
||||
for (const pair of data) {
|
||||
pairHasKey = false;
|
||||
|
||||
if (getObjectTypeString(pair) !== "[object Object]") {
|
||||
return false;
|
||||
}
|
||||
if (!isPlainObject(pair)) return false;
|
||||
|
||||
for (pairKey in pair) {
|
||||
if (Object.hasOwn(pair, pairKey)) {
|
||||
|
@ -4,7 +4,7 @@
|
||||
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
|
||||
|
||||
import type { Type } from "../_type.ts";
|
||||
import { getObjectTypeString } from "../_utils.ts";
|
||||
import { isPlainObject } from "../_utils.ts";
|
||||
|
||||
function resolveYamlPairs(data: unknown[][]): boolean {
|
||||
if (data === null) return true;
|
||||
@ -12,9 +12,7 @@ function resolveYamlPairs(data: unknown[][]): boolean {
|
||||
const result = Array.from({ length: data.length });
|
||||
|
||||
for (const [index, pair] of data.entries()) {
|
||||
if (getObjectTypeString(pair) !== "[object Object]") {
|
||||
return false;
|
||||
}
|
||||
if (!isPlainObject(pair)) return false;
|
||||
|
||||
const keys = Object.keys(pair);
|
||||
|
||||
|
@ -15,6 +15,6 @@ export function isNegativeZero(i: number): boolean {
|
||||
return i === 0 && Number.NEGATIVE_INFINITY === 1 / i;
|
||||
}
|
||||
|
||||
export function getObjectTypeString(object: unknown) {
|
||||
return Object.prototype.toString.call(object);
|
||||
export function isPlainObject(object: unknown): object is object {
|
||||
return Object.prototype.toString.call(object) === "[object Object]";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user