New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

lowkie

Package Overview
Dependencies
Maintainers
2
Versions
23
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

lowkie - npm Package Compare versions

Comparing version 1.3.3 to 1.3.4

41

lib/schema.js

@@ -31,3 +31,3 @@ 'use strict';

this.scheme = scheme;
this.flattenedScheme = flatten(scheme);
this.flattenedScheme = Object.assign({},flatten(scheme),scheme);
let flatKeys = Object.keys(this.flattenedScheme);

@@ -57,21 +57,22 @@ this.default_defs = flatKeys.filter(isDefaultDef);

let _document = Object.assign({}, flatten(original_document), original_document);
_document = Object.keys(_document).reduce((result, key) => {
if (_document[key]) {
let indexedKey = key.replace(/^(.+\.){1,}(?:\d+\.)(.+)$/, '$10.$2');
let validType = this.flattenedScheme[`${ key }.type`] || this.flattenedScheme[key] || this.flattenedScheme[`${ indexedKey }.type`] || this.flattenedScheme[indexedKey];
if (validType === Date) {
result[key] === new Date();
}
if (typeof _document[key] === 'string' && (validType === String || validType === ObjectId)) {
result[key] = _document[key].toString();
} else if (validType === Boolean) {
result[key] = (_document[key]) ? true : false;
} else if (validType === Number) {
result[key] = Number(_document[key]);
} else if (typeof _document[key] === 'object' && (validType === Array || validType === Object)) {
result[key] = _document[key];
}
} else if (typeof original_document[ key ] === 'object' && typeof this.flattenedScheme[ key ] === 'function' && this.flattenedScheme[ key ] === Object) { //schema type mixed
result[key] = original_document[key];
_document = Object.keys(_document).reduce((result, key) => {
if (_document[key]) {
let indexedKey = key.replace(/^(.+\.){1,}(?:\d+\.)(.+)$/, '$10.$2');
let validType = this.flattenedScheme[`${ key }.type`] || this.flattenedScheme[key] || this.flattenedScheme[`${ indexedKey }.type`] || this.flattenedScheme[indexedKey];
if (validType === Date) {
result[key] === new Date(_document[key]);
}
if (typeof _document[key] === 'string' && (validType === String || validType === ObjectId)) {
result[key] = _document[key].toString();
} else if (validType === Boolean) {
result[key] = (_document[key]) ? true : false;
} else if (validType === Number) {
result[key] = Number(_document[key]);
} else if (typeof _document[key] === 'object' && (Array.isArray(validType) ||validType === Array || validType === Object || typeof this.scheme[key] ==='object')) {
result[key] = _document[key];
}
} else if (typeof original_document[ key ] === 'object' && typeof this.flattenedScheme[ key ] === 'function' && this.flattenedScheme[ key ] === Object) { //schema type mixed
result[key] = original_document[key];
}
return result;

@@ -105,3 +106,3 @@ }, { _id: _document._id });

_id: ObjectId.createId(),
}, doc);
}, doc);
return this.validateDocument(newDoc);

@@ -108,0 +109,0 @@ }

{
"name": "lowkie",
"version": "1.3.3",
"version": "1.3.4",
"license": "MIT",

@@ -5,0 +5,0 @@ "main": "index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc