
Security News
Another Round of TEA Protocol Spam Floods npm, But It’s Not a Worm
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.
mongolike-operations
Advanced tools
Define Flow interfaces of MongoDB-like Operations used in Phenyl modules.
Define Flow interfaces of MongoDB-like operations used in Phenyl modules.
Operations As Data(OAD) is the concept of handling large JSON data that all the data operations (update/find) should be written as JSON format (≒ plain object).
This mongolike-operations defines these Operation type.
mongolike-operation is one of Phenyl Family.
Phenyl is a JavaScript Server/Client framework for State Synchronization over Environment(SSoE).
Operation to find values in large JSON.
Type:
type FindOperation =
SimpleFindOperation |
{| $and: Array<FindOperation> |} |
{| $nor: Array<FindOperation> |} |
{| $or: Array<FindOperation> |}
type SimpleFindOperation = {
[fieldName: DocumentPath]: QueryCondition | EqCondition,
}
type EqCondition = Object | Array<Basic> | string | number | boolean
// QueryCondition: See below section
Example:
const findOperation = {
$and: [
{ libraryName: 'phenyl' },
{ 'libraryVersion.major': { $gte: 1 } }
]
}
Condition to find values in large JSON, included in FindOperation.
Almost compatible with MongoDB's Query Operators.
interface QueryCondition {
// comparison
$eq?: any,
$gt?: any,
$gte?: any,
$in?: Array<any>,
$lt?: any,
$lte?: any,
$ne?: any,
$nin?: Array<any>,
// logical
$not?: QueryCondition,
// element
$exists?: boolean,
$type?: BSONTypeNumber | BSONTypeString,
// evaluation
$mod?: [number, number],
$regex?: RegExp | string,
$options?: RegExp$flags,
$text?: TextQueryCondition,
$where?: Function, // To Be Implemented
// geospatial
$geoIntersects?: Object, // To Be Implemented
$geoWithin?: Object, // To Be Implemented
$near?: Object, // To Be Implemented
$nearSphere?: Object, // To Be Implemented
// array
$all?: Array<any>,
$elemMatch?: QueryCondition,
$size?: number,
// bitwise
$bitsAllClear?: number, // Currently, only number is allowed
$bitsAllSet?: number, // Currently, only number is allowed
$bitsAnyClear?: number, // Currently, only number is allowed
$bitsAnySet?: number, // Currently, only number is allowed
// comments
// $comment: // No implementation
}
Operations to update values of large JSON. Almost compatible with MongoDB's Update Operators.
See README of power-assign for more detailed use.
Restorable is a characteristic of JavaScript class instances which meets the following requirement.
const jsonStr = JSON.stringify(instance)
const plain = JSON.parse(jsonStr)
const newInstance = new TheClass(plain)
assert.deepEqual(newInstance, instance)
Roughly, Restorable object is an instance which can re-created by passing its JSON object to the class constructor.
See is-restorable module for more detail.
The same definition as Amazon DynamoDB's DocumentPath.
type DocumentPath = string
DocumentPath expresses nested value location.
{ foo: { arr: [ { bar: 'baz' }] }}
The string 'baz' is expressed as 'foo.arr[0].bar' in DocumentPath format.
This DocumentPath is slightly different from Dot Notation in MongoDB which expresses 'baz' as 'foo.arr.0.bar' (array index expression is different).
Apache License 2.0
FAQs
Define Flow interfaces of MongoDB-like Operations used in Phenyl modules.
The npm package mongolike-operations receives a total of 1,905 weekly downloads. As such, mongolike-operations popularity was classified as popular.
We found that mongolike-operations 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
Recent coverage mislabels the latest TEA protocol spam as a worm. Here’s what’s actually happening.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.