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

proto-expand

Package Overview
Dependencies
Maintainers
0
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

proto-expand - npm Package Compare versions

Comparing version 1.2.5 to 1.2.6

21

dist/index.d.ts

@@ -62,2 +62,11 @@ type Value = number | string | null | boolean;

};
/**
* Merges two Payload objects into one.
* If a key exists in both Payload objects, the values are combined into an array.
*
* @param payload1 - The first Payload object.
* @param payload2 - The second Payload object.
* @returns The merged Payload object.
*/
declare function merge(payload1: Payload, payload2: Payload): Payload;

@@ -101,2 +110,3 @@ type ObjectType = {

toObject(): ObjectType;
toPayload(payload: any): Payload;
/**

@@ -196,2 +206,3 @@ * Create an Activity Definition from an untyped equivalent object

expand(dimensions: Dimensions): ProcessDefinition;
toPayload(): Payload;
/**

@@ -258,2 +269,10 @@ * Creates a ProcessDefinition from a given `knot` array.

declare const findVariable: (counts: Dimensions, str: string, prefix: string) => [RegExp, number, string];
/**
* Finds variables in a given string and returns them as a Payload object.
*
* @param {string} str - The input string to search for variables.
* @param {string} prefix - The prefix to search for.
* @return {Payload} An object containing the found variables.
*/
declare const findVariables: (str: string, prefix: string) => Payload;

@@ -270,2 +289,2 @@ /**

export { type Dimensions, type FlatPayload, type Payload, ProcessDefinition, type Value, createAssignment, entangle, expandString, extractDimensions, findFirst, findVariable, flattenPayload, knotEntry, parseKnotArray, parseKnotEntry, parseKnotStringToArray, signature, toKnotRow, untangle };
export { type Dimensions, type FlatPayload, type Payload, ProcessDefinition, type Value, createAssignment, entangle, expandString, extractDimensions, findFirst, findVariable, findVariables, flattenPayload, knotEntry, merge, parseKnotArray, parseKnotEntry, parseKnotStringToArray, signature, toKnotRow, untangle };

@@ -30,4 +30,4 @@ var __create = Object.create;

// src/index.ts
var src_exports = {};
__export(src_exports, {
var index_exports = {};
__export(index_exports, {
ProcessDefinition: () => ProcessDefinition,

@@ -40,4 +40,6 @@ createAssignment: () => createAssignment,

findVariable: () => findVariable,
findVariables: () => findVariables,
flattenPayload: () => flattenPayload,
knotEntry: () => knotEntry,
merge: () => merge,
parseKnotArray: () => parseKnotArray,

@@ -50,4 +52,69 @@ parseKnotEntry: () => parseKnotEntry,

});
module.exports = __toCommonJS(src_exports);
module.exports = __toCommonJS(index_exports);
// src/payload.ts
var extractDimensions = (payload) => {
const result = {};
for (const key in payload) {
const value = payload[key];
if (Array.isArray(value)) result[key] = value.length;
}
return result;
};
var signature = (dimensions) => Object.entries(dimensions).sort().map(([_, v]) => v).reduce((r, v) => r + "@" + v, "");
var flattenPayload = (payload) => {
const result = {};
for (const v_key in payload) {
const value = payload[v_key];
if (Array.isArray(value)) {
value.forEach((v, i) => {
for (const key in v) result[key + "_" + v_key + "_" + (i + 1)] = v[key];
});
} else {
result[v_key] = value;
}
}
return result;
};
var createAssignment = (processName, payload, username, when = /* @__PURE__ */ new Date()) => {
let fp = flattenPayload(payload);
const expandedValues = {};
for (const key in fp) {
expandedValues[key] = { Observed: fp[key] };
}
let dimensions = extractDimensions(payload);
return {
Who: [{ username }],
When: when.getTime(),
Status: {
Protocolo: {
Observed: processName + signature(dimensions),
Version: 1.2
},
...expandedValues
},
Dimensions: dimensions
};
};
function merge(payload1, payload2) {
for (const key in payload2) {
if (key in payload1) {
const value1 = payload1[key];
const value2 = payload2[key];
if (Array.isArray(value1)) {
if (Array.isArray(value2)) {
for (const value of value2) {
if (!value1.includes(value)) {
value1.concat(value);
}
}
}
}
} else {
payload1[key] = payload2[key];
}
}
return payload1;
}
// src/ProcessDefinition.ts

@@ -143,2 +210,11 @@ var import_yaml2 = __toESM(require("yaml"));

}
toPayload() {
var payload = {};
for (const activity of this.activities) {
for (const instruction of activity.instructions) {
merge(payload, instruction.toPayload(payload));
}
}
return payload;
}
/**

@@ -239,2 +315,27 @@ * Creates a ProcessDefinition from a given `knot` array.

};
var findVariables = (str, prefix) => {
const regExp = new RegExp("[a-zA-Z]\\w*" + prefix + "[a-zA-Z]\\w*", "g");
const matches = str.match(regExp);
const vars = {};
if (!matches) {
return vars;
}
for (const match of matches) {
let id = "";
let dim = "";
[id, dim] = match.split(prefix);
if (!vars[dim]) {
vars[dim] = [{ [id]: id }];
} else {
const value = vars[dim];
if (!value.find((item) => item[id] === id))
value.push({ [id]: id });
const result = value.reduce((acc, obj) => {
return { ...acc, ...obj };
}, {});
vars[dim] = [result];
}
}
return vars;
};

@@ -285,2 +386,5 @@ // src/Question.ts

}
toPayload(payload) {
return payload;
}
static fromObject(obj) {

@@ -306,2 +410,5 @@ return new _Questions(obj.message, obj.questions.map((q) => new Question(q.id, q.text, q.answers, q.default, q.height)));

}
toPayload(payload) {
return payload;
}
static parse(obj) {

@@ -343,2 +450,8 @@ return new _Photos(obj.inputs.reduce((acc, { id, dsc }) => {

}
toPayload(payload) {
for (const field of this.fields) {
merge(payload, field.toPayload());
}
return payload;
}
expand(dimensions) {

@@ -437,2 +550,11 @@ const strings = this.fields.flatMap(

}
toPayload() {
if (this.type === "choice") {
return {};
}
const obj = JSON.stringify(this);
var result = findVariables(obj, "_@");
var result2 = findVariables(obj, "__at_");
return merge(result, result2);
}
static parse(realId, field, rowId) {

@@ -560,2 +682,15 @@ const {

}
toPayload(payload) {
const result = {};
if (this.title === "Formulario de carga inicial") {
for (const field of this.fields) {
result[field.id] = field.default ? field.default : field.id;
}
return merge(payload, result);
}
for (const field of this.fields) {
merge(result, field.toPayload());
}
return result;
}
static parse(obj) {

@@ -647,2 +782,6 @@ const { inputs, key, EvidenceFormat } = obj;

}
toPayload() {
const obj = JSON.stringify(this);
return findVariables(obj, "_@");
}
static fromObject(id, o) {

@@ -692,2 +831,5 @@ return new _FormField(

}
toPayload(payload) {
return payload;
}
};

@@ -718,2 +860,5 @@

}
toPayload(payload) {
return payload;
}
};

@@ -744,2 +889,5 @@

}
toPayload(payload) {
return payload;
}
toKnot() {

@@ -780,2 +928,5 @@ var _a;

}
toPayload(payload) {
return payload;
}
};

@@ -799,2 +950,5 @@

}
toPayload(payload) {
return payload;
}
};

@@ -816,2 +970,5 @@

}
toPayload(payload) {
return payload;
}
expand(_) {

@@ -1004,2 +1161,5 @@ return this;

}
toPayload(payload) {
return toPayloadImplementation(this.implementation, payload);
}
/**

@@ -1025,2 +1185,39 @@ * Create an Activity Definition from an untyped equivalent object

};
function toPayloadImplementation(instr, payload) {
if (!instr) return void 0;
switch (instr.type) {
case "form2":
var form2 = instr;
return form2.toPayload(payload);
case "form":
var form = instr;
return form.toPayload(payload);
case "freeForm":
var freeForm = instr;
return freeForm.toPayload(payload);
case "multipleChoice":
var questions = instr;
return questions.toPayload(payload);
case "photos":
var photos = instr;
return photos.toPayload(payload);
case "doubleInput":
var doubleInput = instr;
return doubleInput.toPayload(payload);
case "video":
var video = instr;
return video.toPayload(payload);
case "tripleInputPhoto":
var tripleInputPhoto = instr;
return tripleInputPhoto.toPayload(payload);
case "checkTolerance":
var checkTolerance = instr;
return checkTolerance.toPayload(payload);
case "approvalRequestPoint":
var approvalRequestPoint = instr;
return approvalRequestPoint.toPayload(payload);
default:
throw new Error(`Unknown object type: ${instr.type}`);
}
}
function parseImplementation(value) {

@@ -1237,47 +1434,2 @@ const obj = parseKnotEntry(value);

};
// src/payload.ts
var extractDimensions = (payload) => {
const result = {};
for (const key in payload) {
const value = payload[key];
if (Array.isArray(value)) result[key] = value.length;
}
return result;
};
var signature = (dimensions) => Object.entries(dimensions).sort().map(([_, v]) => v).reduce((r, v) => r + "@" + v, "");
var flattenPayload = (payload) => {
const result = {};
for (const v_key in payload) {
const value = payload[v_key];
if (Array.isArray(value)) {
value.forEach((v, i) => {
for (const key in v) result[key + "_" + v_key + "_" + (i + 1)] = v[key];
});
} else {
result[v_key] = value;
}
}
return result;
};
var createAssignment = (processName, payload, username, when = /* @__PURE__ */ new Date()) => {
let fp = flattenPayload(payload);
const expandedValues = {};
for (const key in fp) {
expandedValues[key] = { Observed: fp[key] };
}
let dimensions = extractDimensions(payload);
return {
Who: [{ username }],
When: when.getTime(),
Status: {
Protocolo: {
Observed: processName + signature(dimensions),
Version: 1.2
},
...expandedValues
},
Dimensions: dimensions
};
};
// Annotate the CommonJS export names for ESM import in node:

@@ -1292,4 +1444,6 @@ 0 && (module.exports = {

findVariable,
findVariables,
flattenPayload,
knotEntry,
merge,
parseKnotArray,

@@ -1296,0 +1450,0 @@ parseKnotEntry,

@@ -147,2 +147,5 @@ #!/usr/bin/env node

}
toPayload(payload) {
return payload;
}
static fromObject(obj) {

@@ -168,2 +171,5 @@ return new _Questions(obj.message, obj.questions.map((q) => new Question(q.id, q.text, q.answers, q.default, q.height)));

}
toPayload(payload) {
return payload;
}
static parse(obj) {

@@ -183,2 +189,32 @@ return new _Photos(obj.inputs.reduce((acc, { id, dsc }) => {

// src/payload.ts
var extractDimensions = (payload) => {
const result = {};
for (const key in payload) {
const value = payload[key];
if (Array.isArray(value)) result[key] = value.length;
}
return result;
};
function merge(payload1, payload2) {
for (const key in payload2) {
if (key in payload1) {
const value1 = payload1[key];
const value2 = payload2[key];
if (Array.isArray(value1)) {
if (Array.isArray(value2)) {
for (const value of value2) {
if (!value1.includes(value)) {
value1.concat(value);
}
}
}
}
} else {
payload1[key] = payload2[key];
}
}
return payload1;
}
// src/Form2.ts

@@ -206,2 +242,8 @@ var console = __toESM(require("console"));

}
toPayload(payload) {
for (const field of this.fields) {
merge(payload, field.toPayload());
}
return payload;
}
expand(dimensions) {

@@ -300,2 +342,11 @@ const strings = this.fields.flatMap(

}
toPayload() {
if (this.type === "choice") {
return {};
}
const obj = JSON.stringify(this);
var result = findVariables(obj, "_@");
var result2 = findVariables(obj, "__at_");
return merge(result, result2);
}
static parse(realId, field, rowId) {

@@ -423,2 +474,15 @@ const {

}
toPayload(payload) {
const result = {};
if (this.title === "Formulario de carga inicial") {
for (const field of this.fields) {
result[field.id] = field.default ? field.default : field.id;
}
return merge(payload, result);
}
for (const field of this.fields) {
merge(result, field.toPayload());
}
return result;
}
static parse(obj) {

@@ -510,2 +574,6 @@ const { inputs, key, EvidenceFormat } = obj;

}
toPayload() {
const obj = JSON.stringify(this);
return findVariables(obj, "_@");
}
static fromObject(id, o) {

@@ -555,2 +623,5 @@ return new _FormField(

}
toPayload(payload) {
return payload;
}
};

@@ -581,2 +652,5 @@

}
toPayload(payload) {
return payload;
}
};

@@ -607,2 +681,5 @@

}
toPayload(payload) {
return payload;
}
toKnot() {

@@ -643,2 +720,5 @@ var _a;

}
toPayload(payload) {
return payload;
}
};

@@ -662,2 +742,5 @@

}
toPayload(payload) {
return payload;
}
};

@@ -679,2 +762,5 @@

}
toPayload(payload) {
return payload;
}
expand(_) {

@@ -867,2 +953,5 @@ return this;

}
toPayload(payload) {
return toPayloadImplementation(this.implementation, payload);
}
/**

@@ -888,2 +977,39 @@ * Create an Activity Definition from an untyped equivalent object

};
function toPayloadImplementation(instr, payload) {
if (!instr) return void 0;
switch (instr.type) {
case "form2":
var form2 = instr;
return form2.toPayload(payload);
case "form":
var form = instr;
return form.toPayload(payload);
case "freeForm":
var freeForm = instr;
return freeForm.toPayload(payload);
case "multipleChoice":
var questions = instr;
return questions.toPayload(payload);
case "photos":
var photos = instr;
return photos.toPayload(payload);
case "doubleInput":
var doubleInput = instr;
return doubleInput.toPayload(payload);
case "video":
var video = instr;
return video.toPayload(payload);
case "tripleInputPhoto":
var tripleInputPhoto = instr;
return tripleInputPhoto.toPayload(payload);
case "checkTolerance":
var checkTolerance = instr;
return checkTolerance.toPayload(payload);
case "approvalRequestPoint":
var approvalRequestPoint = instr;
return approvalRequestPoint.toPayload(payload);
default:
throw new Error(`Unknown object type: ${instr.type}`);
}
}
function parseImplementation(value) {

@@ -1118,2 +1244,11 @@ const obj = parseKnotEntry(value);

}
toPayload() {
var payload = {};
for (const activity of this.activities) {
for (const instruction of activity.instructions) {
merge(payload, instruction.toPayload(payload));
}
}
return payload;
}
/**

@@ -1214,2 +1349,27 @@ * Creates a ProcessDefinition from a given `knot` array.

};
var findVariables = (str, prefix) => {
const regExp = new RegExp("[a-zA-Z]\\w*" + prefix + "[a-zA-Z]\\w*", "g");
const matches = str.match(regExp);
const vars = {};
if (!matches) {
return vars;
}
for (const match of matches) {
let id = "";
let dim = "";
[id, dim] = match.split(prefix);
if (!vars[dim]) {
vars[dim] = [{ [id]: id }];
} else {
const value = vars[dim];
if (!value.find((item) => item[id] === id))
value.push({ [id]: id });
const result = value.reduce((acc, obj) => {
return { ...acc, ...obj };
}, {});
vars[dim] = [result];
}
}
return vars;
};

@@ -1219,15 +1379,8 @@ // src/process-parse.ts

var process = __toESM(require("process"));
var console3 = __toESM(require("console"));
// src/payload.ts
var extractDimensions = (payload) => {
const result = {};
for (const key in payload) {
const value = payload[key];
if (Array.isArray(value)) result[key] = value.length;
}
return result;
};
// package.json
var version = "1.2.6";
// src/process-parse.ts
var console3 = __toESM(require("console"));
var program = new import_commander.Command();

@@ -1298,2 +1451,8 @@ function readFile(file) {

}
if (options.payload) {
console3.log(`Generating payload from file: '${inputFile}'`);
const inputProcess = loadProcessDefinition(content, inputExtension);
const output = JSON.stringify(inputProcess.toPayload(), null, 2);
return [output, ".json" /* JSON */];
}
if (inputExtension === ".swar12.yaml" /* SWAR12 */) {

@@ -1317,3 +1476,3 @@ console3.log(`Converting SWAR version 1.2 file: '${inputFile}' to a KNOT file`);

}
program.name("process-parse").version("1.2.4").description("Parse process files with optional output formats and expansion.").usage("[options] <files ...>").argument("<files...>", "Files to parse. Either a KNOT, a JSON5 (a KNOT as a JSON) or a swar 1.2 YAML file").option("-u, --untangle", "KNOT to JSON5, retaining the internal structure").option("-e, --entangle", "JSON5 to KNOT file, retaining the internal structure").option("-o, --overwrite", "Overwrite output files").option("-x, --expand <payload-file>", "Expand content before output, using the specified payload file").option("-i, --input-knot", "Interpret input as a KNOT file regardless of file extension").option("-d, --dir <dir-name>", "Save generated files to the specified directory").showHelpAfterError().action((files, options) => {
program.name("process-parse").version(version).description("Parse process files with optional output formats and expansion.").usage("[options] <files ...>").argument("<files...>", "Files to parse. Either a KNOT, a JSON5 (a KNOT as a JSON) or a swar 1.2 YAML file").option("-u, --untangle", "KNOT to JSON5, retaining the internal structure").option("-e, --entangle", "JSON5 to KNOT file, retaining the internal structure").option("-o, --overwrite", "Overwrite output files").option("-x, --expand <payload-file>", "Expand content before output, using the specified payload file").option("-i, --input-knot", "Interpret input as a KNOT file regardless of file extension").option("-d, --dir <dir-name>", "Save generated files to the specified directory").option("-p, --payload", "Generate a payload file from the input file").showHelpAfterError().action((files, options) => {
files.forEach((file) => {

@@ -1320,0 +1479,0 @@ var _a;

2

package.json
{
"name": "proto-expand",
"version": "1.2.5",
"version": "1.2.6",
"description": "",

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

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

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

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