Socket
Socket
Sign inDemoInstall

protons

Package Overview
Dependencies
Maintainers
5
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

protons - npm Package Compare versions

Comparing version 6.1.3 to 7.0.0

110

dist/src/index.js
/* eslint-disable max-depth */
import { main as pbjs } from 'protobufjs-cli/pbjs.js';
import fs from 'fs/promises';
import path from 'path';
import { promisify } from 'util';
import fs from 'fs/promises';
import { main as pbjs } from 'protobufjs-cli/pbjs.js';
export var CODEC_TYPES;

@@ -37,17 +37,17 @@ (function (CODEC_TYPES) {

const encoderGenerators = {
bool: (val) => `w.bool(${val})`,
bytes: (val) => `w.bytes(${val})`,
double: (val) => `w.double(${val})`,
fixed32: (val) => `w.fixed32(${val})`,
fixed64: (val) => `w.fixed64(${val})`,
float: (val) => `w.float(${val})`,
int32: (val) => `w.int32(${val})`,
int64: (val) => `w.int64(${val})`,
sfixed32: (val) => `w.sfixed32(${val})`,
sfixed64: (val) => `w.sfixed64(${val})`,
sint32: (val) => `w.sint32(${val})`,
sint64: (val) => `w.sint64(${val})`,
string: (val) => `w.string(${val})`,
uint32: (val) => `w.uint32(${val})`,
uint64: (val) => `w.uint64(${val})`
bool: (val, includeDefault) => `w.bool(${val}${includeDefault ? ' ?? false' : ''})`,
bytes: (val, includeDefault) => `w.bytes(${val}${includeDefault ? ' ?? new Uint8Array(0)' : ''})`,
double: (val, includeDefault) => `w.double(${val}${includeDefault ? ' ?? 0' : ''})`,
fixed32: (val, includeDefault) => `w.fixed32(${val}${includeDefault ? ' ?? 0' : ''})`,
fixed64: (val, includeDefault) => `w.fixed64(${val}${includeDefault ? ' ?? 0n' : ''})`,
float: (val, includeDefault) => `w.float(${val}${includeDefault ? ' ?? 0' : ''})`,
int32: (val, includeDefault) => `w.int32(${val}${includeDefault ? ' ?? 0' : ''})`,
int64: (val, includeDefault) => `w.int64(${val}${includeDefault ? ' ?? 0n' : ''})`,
sfixed32: (val, includeDefault) => `w.sfixed32(${val}${includeDefault ? ' ?? 0' : ''})`,
sfixed64: (val, includeDefault) => `w.sfixed64(${val}${includeDefault ? ' ?? 0n' : ''})`,
sint32: (val, includeDefault) => `w.sint32(${val}${includeDefault ? ' ?? 0' : ''})`,
sint64: (val, includeDefault) => `w.sint64(${val}${includeDefault ? ' ?? 0n' : ''})`,
string: (val, includeDefault) => `w.string(${val}${includeDefault ? ' ?? \'\'' : ''})`,
uint32: (val, includeDefault) => `w.uint32(${val}${includeDefault ? ' ?? 0' : ''})`,
uint64: (val, includeDefault) => `w.uint64(${val}${includeDefault ? ' ?? 0n' : ''})`
};

@@ -89,17 +89,17 @@ const decoderGenerators = {

const defaultValueTestGenerators = {
bool: (field) => `${field} !== false`,
bool: (field) => `(${field} != null && ${field} !== false)`,
bytes: (field) => `(${field} != null && ${field}.byteLength > 0)`,
double: (field) => `${field} !== 0`,
fixed32: (field) => `${field} !== 0`,
fixed64: (field) => `${field} !== 0n`,
float: (field) => `${field} !== 0`,
int32: (field) => `${field} !== 0`,
int64: (field) => `${field} !== 0n`,
sfixed32: (field) => `${field} !== 0`,
sfixed64: (field) => `${field} !== 0n`,
sint32: (field) => `${field} !== 0`,
sint64: (field) => `${field} !== 0n`,
string: (field) => `${field} !== ''`,
uint32: (field) => `${field} !== 0`,
uint64: (field) => `${field} !== 0n`
double: (field) => `(${field} != null && ${field} !== 0)`,
fixed32: (field) => `(${field} != null && ${field} !== 0)`,
fixed64: (field) => `(${field} != null && ${field} !== 0n)`,
float: (field) => `(${field} != null && ${field} !== 0)`,
int32: (field) => `(${field} != null && ${field} !== 0)`,
int64: (field) => `(${field} != null && ${field} !== 0n)`,
sfixed32: (field) => `(${field} != null && ${field} !== 0)`,
sfixed64: (field) => `(${field} != null && ${field} !== 0n)`,
sint32: (field) => `(${field} != null && ${field} !== 0)`,
sint64: (field) => `(${field} != null && ${field} !== 0n)`,
string: (field) => `(${field} != null && ${field} !== '')`,
uint32: (field) => `(${field} != null && ${field} !== 0)`,
uint64: (field) => `(${field} != null && ${field} !== 0n)`
};

@@ -326,7 +326,15 @@ function findTypeName(typeName, classDef, moduleDef) {

const id = (fieldDef.id << 3) | codecTypes[type];
let writeField = `w.uint32(${id})
${encoderGenerators[type] == null ? `${codec}.encode(${valueVar}, w)` : encoderGenerators[type](valueVar)}`;
let defaultValue = '';
if (fieldDef.enum) {
const def = findDef(fieldDef.type, messageDef, moduleDef);
if (!isEnumDef(def)) {
throw new Error(`${fieldDef.type} was not enum def`);
}
defaultValue = Object.keys(def.values)[0];
}
let writeField = (includeDefault) => `w.uint32(${id})
${encoderGenerators[type] == null ? `${codec}.encode(${valueVar}${includeDefault ? ` ?? ${typeName}.${defaultValue}` : ''}, w)` : encoderGenerators[type](valueVar, includeDefault)}`;
if (type === 'message') {
// message fields are only written if they have values
writeField = `w.uint32(${id})
writeField = () => `w.uint32(${id})
${typeName}.codec().encode(${valueVar}, w, {

@@ -341,5 +349,5 @@ writeDefaults: ${Boolean(fieldDef.repeated).toString()}

if (fieldDef.map) {
writeField = `
writeField = () => `
for (const [key, value] of obj.${name}.entries()) {
${createWriteField('{ key, value }')
${createWriteField('{ key, value }')(false)
.split('\n')

@@ -355,5 +363,5 @@ .map(s => {

else {
writeField = `
writeField = () => `
for (const value of obj.${name}) {
${createWriteField('value')
${createWriteField('value')(false)
.split('\n')

@@ -371,3 +379,3 @@ .map(s => {

if (${valueTest}) {
${writeField}
${writeField(valueTest.includes('opts.writeDefaults === true'))}
}`;

@@ -447,3 +455,3 @@ }).join('\n');

export const encode = (obj: ${messageDef.name}): Uint8Array => {
export const encode = (obj: Partial<${messageDef.name}>): Uint8Array => {
return encodeMessage(obj, ${messageDef.name}.codec())

@@ -559,3 +567,3 @@ }

const moduleDef = defineModule(def);
let lines = [
const ignores = [
'/* eslint-disable import/export */',

@@ -565,17 +573,23 @@ '/* eslint-disable complexity */',

'/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */',
'/* eslint-disable @typescript-eslint/no-empty-interface */',
''
'/* eslint-disable @typescript-eslint/no-empty-interface */'
];
const imports = [];
if (moduleDef.imports.size > 0) {
lines.push(`import { ${Array.from(moduleDef.imports).join(', ')} } from 'protons-runtime'`);
imports.push(`import { ${Array.from(moduleDef.imports).join(', ')} } from 'protons-runtime'`);
}
if (moduleDef.imports.has('encodeMessage')) {
lines.push("import type { Uint8ArrayList } from 'uint8arraylist'");
imports.push("import type { Uint8ArrayList } from 'uint8arraylist'");
}
if (moduleDef.importedTypes.size > 0) {
lines.push(`import type { ${Array.from(moduleDef.importedTypes).join(', ')} } from 'protons-runtime'`);
imports.push(`import type { ${Array.from(moduleDef.importedTypes).join(', ')} } from 'protons-runtime'`);
}
lines = [
...lines,
const lines = [
...ignores,
'',
...imports.sort((a, b) => {
const aModule = a.split("from '")[1].toString();
const bModule = b.split("from '")[1].toString();
return aModule.localeCompare(bModule);
}),
'',
...moduleDef.compiled

@@ -582,0 +596,0 @@ ];

{
"name": "protons",
"version": "6.1.3",
"version": "7.0.0",
"description": "Protobuf to ts transpiler",

@@ -164,5 +164,5 @@ "license": "Apache-2.0 OR MIT",

"protobufjs": "^7.0.0",
"protons-runtime": "^4.0.0",
"protons-runtime": "^5.0.0",
"uint8arraylist": "^2.3.2"
}
}
/* eslint-disable max-depth */
import { main as pbjs } from 'protobufjs-cli/pbjs.js'
import fs from 'fs/promises'
import path from 'path'
import { promisify } from 'util'
import fs from 'fs/promises'
import { main as pbjs } from 'protobufjs-cli/pbjs.js'
export enum CODEC_TYPES {

@@ -40,18 +41,18 @@ VARINT = 0,

const encoderGenerators: Record<string, (val: string) => string> = {
bool: (val) => `w.bool(${val})`,
bytes: (val) => `w.bytes(${val})`,
double: (val) => `w.double(${val})`,
fixed32: (val) => `w.fixed32(${val})`,
fixed64: (val) => `w.fixed64(${val})`,
float: (val) => `w.float(${val})`,
int32: (val) => `w.int32(${val})`,
int64: (val) => `w.int64(${val})`,
sfixed32: (val) => `w.sfixed32(${val})`,
sfixed64: (val) => `w.sfixed64(${val})`,
sint32: (val) => `w.sint32(${val})`,
sint64: (val) => `w.sint64(${val})`,
string: (val) => `w.string(${val})`,
uint32: (val) => `w.uint32(${val})`,
uint64: (val) => `w.uint64(${val})`
const encoderGenerators: Record<string, (val: string, includeDefault: boolean) => string> = {
bool: (val, includeDefault) => `w.bool(${val}${includeDefault ? ' ?? false' : ''})`,
bytes: (val, includeDefault) => `w.bytes(${val}${includeDefault ? ' ?? new Uint8Array(0)' : ''})`,
double: (val, includeDefault) => `w.double(${val}${includeDefault ? ' ?? 0' : ''})`,
fixed32: (val, includeDefault) => `w.fixed32(${val}${includeDefault ? ' ?? 0' : ''})`,
fixed64: (val, includeDefault) => `w.fixed64(${val}${includeDefault ? ' ?? 0n' : ''})`,
float: (val, includeDefault) => `w.float(${val}${includeDefault ? ' ?? 0' : ''})`,
int32: (val, includeDefault) => `w.int32(${val}${includeDefault ? ' ?? 0' : ''})`,
int64: (val, includeDefault) => `w.int64(${val}${includeDefault ? ' ?? 0n' : ''})`,
sfixed32: (val, includeDefault) => `w.sfixed32(${val}${includeDefault ? ' ?? 0' : ''})`,
sfixed64: (val, includeDefault) => `w.sfixed64(${val}${includeDefault ? ' ?? 0n' : ''})`,
sint32: (val, includeDefault) => `w.sint32(${val}${includeDefault ? ' ?? 0' : ''})`,
sint64: (val, includeDefault) => `w.sint64(${val}${includeDefault ? ' ?? 0n' : ''})`,
string: (val, includeDefault) => `w.string(${val}${includeDefault ? ' ?? \'\'' : ''})`,
uint32: (val, includeDefault) => `w.uint32(${val}${includeDefault ? ' ?? 0' : ''})`,
uint64: (val, includeDefault) => `w.uint64(${val}${includeDefault ? ' ?? 0n' : ''})`
}

@@ -96,17 +97,17 @@

const defaultValueTestGenerators: Record<string, (field: string) => string> = {
bool: (field) => `${field} !== false`,
bool: (field) => `(${field} != null && ${field} !== false)`,
bytes: (field) => `(${field} != null && ${field}.byteLength > 0)`,
double: (field) => `${field} !== 0`,
fixed32: (field) => `${field} !== 0`,
fixed64: (field) => `${field} !== 0n`,
float: (field) => `${field} !== 0`,
int32: (field) => `${field} !== 0`,
int64: (field) => `${field} !== 0n`,
sfixed32: (field) => `${field} !== 0`,
sfixed64: (field) => `${field} !== 0n`,
sint32: (field) => `${field} !== 0`,
sint64: (field) => `${field} !== 0n`,
string: (field) => `${field} !== ''`,
uint32: (field) => `${field} !== 0`,
uint64: (field) => `${field} !== 0n`
double: (field) => `(${field} != null && ${field} !== 0)`,
fixed32: (field) => `(${field} != null && ${field} !== 0)`,
fixed64: (field) => `(${field} != null && ${field} !== 0n)`,
float: (field) => `(${field} != null && ${field} !== 0)`,
int32: (field) => `(${field} != null && ${field} !== 0)`,
int64: (field) => `(${field} != null && ${field} !== 0n)`,
sfixed32: (field) => `(${field} != null && ${field} !== 0)`,
sfixed64: (field) => `(${field} != null && ${field} !== 0n)`,
sint32: (field) => `(${field} != null && ${field} !== 0)`,
sint64: (field) => `(${field} != null && ${field} !== 0n)`,
string: (field) => `(${field} != null && ${field} !== '')`,
uint32: (field) => `(${field} != null && ${field} !== 0)`,
uint64: (field) => `(${field} != null && ${field} !== 0n)`
}

@@ -406,11 +407,22 @@

function createWriteField (valueVar: string): string {
function createWriteField (valueVar: string): (includeDefault: boolean) => string {
const id = (fieldDef.id << 3) | codecTypes[type]
let defaultValue = ''
let writeField = `w.uint32(${id})
${encoderGenerators[type] == null ? `${codec}.encode(${valueVar}, w)` : encoderGenerators[type](valueVar)}`
if (fieldDef.enum) {
const def = findDef(fieldDef.type, messageDef, moduleDef)
if (!isEnumDef(def)) {
throw new Error(`${fieldDef.type} was not enum def`)
}
defaultValue = Object.keys(def.values)[0]
}
let writeField = (includeDefault: boolean): string => `w.uint32(${id})
${encoderGenerators[type] == null ? `${codec}.encode(${valueVar}${includeDefault ? ` ?? ${typeName}.${defaultValue}` : ''}, w)` : encoderGenerators[type](valueVar, includeDefault)}`
if (type === 'message') {
// message fields are only written if they have values
writeField = `w.uint32(${id})
writeField = () => `w.uint32(${id})
${typeName}.codec().encode(${valueVar}, w, {

@@ -428,6 +440,6 @@ writeDefaults: ${Boolean(fieldDef.repeated).toString()}

if (fieldDef.map) {
writeField = `
writeField = () => `
for (const [key, value] of obj.${name}.entries()) {
${
createWriteField('{ key, value }')
createWriteField('{ key, value }')(false)
.split('\n')

@@ -444,6 +456,6 @@ .map(s => {

} else {
writeField = `
writeField = () => `
for (const value of obj.${name}) {
${
createWriteField('value')
createWriteField('value')(false)
.split('\n')

@@ -464,3 +476,3 @@ .map(s => {

if (${valueTest}) {
${writeField}
${writeField(valueTest.includes('opts.writeDefaults === true'))}
}`

@@ -546,3 +558,3 @@ }).join('\n')

export const encode = (obj: ${messageDef.name}): Uint8Array => {
export const encode = (obj: Partial<${messageDef.name}>): Uint8Array => {
return encodeMessage(obj, ${messageDef.name}.codec())

@@ -696,3 +708,3 @@ }

let lines = [
const ignores = [
'/* eslint-disable import/export */',

@@ -702,21 +714,29 @@ '/* eslint-disable complexity */',

'/* eslint-disable @typescript-eslint/no-unnecessary-boolean-literal-compare */',
'/* eslint-disable @typescript-eslint/no-empty-interface */',
''
'/* eslint-disable @typescript-eslint/no-empty-interface */'
]
const imports = []
if (moduleDef.imports.size > 0) {
lines.push(`import { ${Array.from(moduleDef.imports).join(', ')} } from 'protons-runtime'`)
imports.push(`import { ${Array.from(moduleDef.imports).join(', ')} } from 'protons-runtime'`)
}
if (moduleDef.imports.has('encodeMessage')) {
lines.push("import type { Uint8ArrayList } from 'uint8arraylist'")
imports.push("import type { Uint8ArrayList } from 'uint8arraylist'")
}
if (moduleDef.importedTypes.size > 0) {
lines.push(`import type { ${Array.from(moduleDef.importedTypes).join(', ')} } from 'protons-runtime'`)
imports.push(`import type { ${Array.from(moduleDef.importedTypes).join(', ')} } from 'protons-runtime'`)
}
lines = [
...lines,
const lines = [
...ignores,
'',
...imports.sort((a, b) => {
const aModule = a.split("from '")[1].toString()
const bModule = b.split("from '")[1].toString()
return aModule.localeCompare(bModule)
}),
'',
...moduleDef.compiled

@@ -723,0 +743,0 @@ ]

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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