Security News
pnpm 10.0.0 Blocks Lifecycle Scripts by Default
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
any-serialize
Advanced tools
Serialize / Deserialize any JavaScript objects, as long as you provides how-to. I have already provided `Date`, `RegExp`, `Set` and `Function`.
Serialize / Deserialize any JavaScript objects, as long as you provides how-to. I have already provided Date
, RegExp
, Set
and Function
.
This package intentionally has no dependencies, and can be used safely in browser.
Serialize#hash
).Serialize#clone
)Serialize#deepEqual
)See /tests.
Date
, RegExp
and Function
is already serialable via this library by default.
FullFunctionAdapter
. (Which is in principle similar to unsafe eval.)static fromJSON()
and toJSON()
Date
, RegExp
and Function
.import { Serialize, FullFunctionAdapter } from 'any-serialize'
class CustomClass1 {
/**
* You can turn off prefix with __prefix__ = ''
*/
// static __prefix__ = ''
static __key__ = 'unsafeName'
static fromJSON (arg: {a: number, b: number}) {
const { a, b } = arg
return new CustomClass1(a, b)
}
a: number
b: number
constructor (a: number, b: number) {
this.a = a
this.b = b
}
toJSON () {
const { a, b } = this
return { a, b }
}
}
cconst ser = new Serialize()
ser.register(CustomClass1, FullFunctionAdapter)
const r = ser.stringify({
a: new Date(),
r: /^hello /gi,
c: new CustomClass1(1, 3),
f: (a: number, b: number) => a + b
})
console.log(r)
// {"a":{"__Date":"2020-02-18T17:53:37.557Z"},"r":{"__RegExp":{"source":"^hello ","flags":"gi"}},"c":{"__unsafeName":{"a":1,"b":3}},"f":{"__Function":"(a, b) => a + b"}}
const s = ser.parse(r)
console.log(s)
// { a: 2020-02-18T17:52:02.555Z,
// r: /^hello /gi,
// c: CustomClass1 { a: 1, b: 3 },
// f: [Function: anonymous] }
console.log(ser.stringify(s))
// {"a":{"__Date":"2020-02-18T17:53:37.557Z"},"r":{"__RegExp":{"source":"^hello ","flags":"gi"}},"c":{"__unsafeName":{"a":1,"b":3}},"f":{"__Function":"(a, b) => a + b"}}
FAQs
Serialize / Deserialize any JavaScript objects, as long as you provides how-to. I have already provided `Date`, `RegExp`, `Set` and `Function`.
The npm package any-serialize receives a total of 65 weekly downloads. As such, any-serialize popularity was classified as not popular.
We found that any-serialize demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.