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

@cocreate/crdt

Package Overview
Dependencies
Maintainers
1
Versions
265
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cocreate/crdt - npm Package Compare versions

Comparing version 1.14.35 to 1.15.0

12

CHANGELOG.md

@@ -0,1 +1,13 @@

# [1.15.0](https://github.com/CoCreate-app/CoCreate-crdt/compare/v1.14.35...v1.15.0) (2023-01-04)
### Bug Fixes
* bump cdn to 1.39.4 ([0fb1769](https://github.com/CoCreate-app/CoCreate-crdt/commit/0fb176942d89c52f78b33c6fcdca2330e869cabc))
### Features
* sync docName if on itit if server has changed ([a338782](https://github.com/CoCreate-app/CoCreate-crdt/commit/a3387820756d2a4ce4aa2bc97bf8011459b91b92))
## [1.14.35](https://github.com/CoCreate-app/CoCreate-crdt/compare/v1.14.34...v1.14.35) (2023-01-01)

@@ -2,0 +14,0 @@

2

package.json
{
"name": "@cocreate/crdt",
"version": "1.14.35",
"version": "1.15.0",
"description": "CoCreate crdt",

@@ -5,0 +5,0 @@ "author": "CoCreate LLC",

@@ -24,27 +24,15 @@ /*globals config, atob, btoa, localStorage, CustomEvent*/

return
let docName = generateDocName(data);
let typeName = data.name;
let docName = getDocName(data);
let doc = docs.get(docName);
if (!doc) {
let docNameMap = new Map();
docs.set(docName, docNameMap);
docs.set(docName, new Map());
doc = docs.get(docName);
}
let type = doc.get(typeName)
if (!type) {
let typeNameMap = new Map();
doc.set(typeName, typeNameMap);
type = doc.get(typeName)
}
if (!type.has('changeLog')) {
if (!doc.has('changeLog')) {
let changeLog = [];
doc.set('undoLog', new Map())
doc.set('redoLog', new Map())
let undoLog = new Map()
type.set('undoLog', undoLog)
let redoLog = new Map()
type.set('redoLog', redoLog)
if (data.read != 'false') {

@@ -62,14 +50,14 @@ if (!data.newDocument) {

});
if (response.document.length && response.document[0][typeName]) {
changeLog = response.document[0][typeName];
if (response.document && response.document[0] && response.document[0].changeLog) {
changeLog = response.document[0].changeLog;
}
}
type.set('changeLog', changeLog);
doc.set('changeLog', changeLog);
await generateText(data, true);
}
}
else if (!type.has('text')){
else if (!doc.has('text')){
await generateText(data, false);
}
return true;
return doc;
}

@@ -87,5 +75,7 @@ catch (e) {

try {
let name = docs.get(`${data.collection}${data.document_id}`).get(data.name);
let doc = docs.get(getDocName(data))
console.log('docName1', doc)
let string = '';
let changeLog = name.get('changeLog');
let changeLog = doc.get('changeLog');
for (let change of changeLog) {

@@ -99,3 +89,3 @@ if (change || change !== null ) {

}
name.set('text', string);
doc.set('text', string);
return;

@@ -130,6 +120,9 @@ }

function insertChange(data, flag) {
let docName = generateDocName(data);
let typeName = data.name;
let type = 'insert';
let docName = getDocName(data);
let doc = docs.get(docName);
let changeLog = doc.get('changeLog');
if (!changeLog)
return
let type = 'insert';
if (data.start == undefined) return;

@@ -150,7 +143,2 @@ if (!data.value)

let name = docs.get(docName).get(typeName);
let changeLog = name.get('changeLog');
if (!changeLog)
return
let lastChange = changeLog[changeLog.length - 1];

@@ -184,3 +172,3 @@ if (lastChange && change.datetime && lastChange.datetime){

}
let string = name.get('text') || '';
let string = doc.get('text') || '';
if (change.length > 0)

@@ -192,3 +180,3 @@ change.removedValue = string.substr(change.start, change.length);

changeLog = [change];
name.set('changeLog', changeLog)
doc.set('changeLog', changeLog)
} else {

@@ -198,4 +186,4 @@ changeLog.push(change);

name.set('text', string.customSplice(change.start, change.length, change.value));
string = {string: name.get('text')};
doc.set('text', string.customSplice(change.start, change.length, change.value));
string = {string: doc.get('text')};

@@ -234,6 +222,6 @@ if (!data.clientId){

function persistChange(data) {
let docName = generateDocName(data);
let typeName = data.name;
let name = docs.get(docName).get(typeName);
let changeLog = name.get('changeLog');
let docName = getDocName(data);
let doc = docs.get(docName);
let changeLog = doc.get('changeLog');
let text = doc.get('tex');
let Data = {

@@ -244,3 +232,9 @@ collection: 'crdt-transactions',

docName,
[typeName]: changeLog
changeLog,
text,
crud: {
collection: data.collection,
document_id: data.document_id,
name: data.name
}
},

@@ -260,4 +254,7 @@ upsert: true,

let data = response.data
if (docs.get(`${data.collection}${data.document_id}`)){
if (docs.get(`${data.collection}${data.document_id}`).get(data.name))
let docName = getDocName(data);
let doc = docs.get(docName);
console.log('doc2', doc)
if (doc){
if (data.clientId !== clientId){

@@ -269,2 +266,22 @@ insertChange(data);

crud.listen('sync', function(data) {
if (data.collection.includes('crdt-transactions')) {
if (data.document && data.document[0]) {
let Data = data.document[0];
let docName = Data.docName;
let doc = docs.get(docName);
if (doc && Data.crud) {
Data.start = 0
Data.length = doc.set('text').length
doc.set('changeLog', Data.changeLog)
doc.set('text', Data.text)
localChange(Data.crud, Data.text)
console.log('crdtSync')
}
}
}
});
/*

@@ -279,7 +296,5 @@ crdt.getText({

try {
let docName = generateDocName(data);
let typeName = data.name;
let doc = await getDoc(data);
if (doc) {
let value = docs.get(docName).get(typeName).get('text')
let value = doc.get('text')
return value;

@@ -384,9 +399,7 @@ }

function undoText(data){
let docName = generateDocName(data);
let typeName = data.name;
let docName = getDocName(data);
let doc = docs.get(docName);
let changeLog = doc.get('changeLog');
let undoLog = doc.get('undoLog')
let name = docs.get(docName).get(typeName);
let changeLog = name.get('changeLog');
let undoLog = name.get('undoLog')
for (let index = changeLog.length - 1; index >= 0; index--) {

@@ -411,9 +424,7 @@ let change = Object.assign({}, changeLog[index]);

function redoText(data){
let docName = generateDocName(data);
let typeName = data.name;
let docName = getDocName(data);
let doc = docs.get(docName);
let redoLog = doc.get('redoLog')
let undoLog = Array.from(doc.get('undoLog').values());
let name = docs.get(docName).get(typeName);
let redoLog = name.get('redoLog')
let undoLog = Array.from(name.get('undoLog').values());
for (let index = undoLog.length - 1; index >= 0; index--) {

@@ -438,5 +449,7 @@ let change = Object.assign({}, undoLog[index]);

try {
let name = docs.get(`${data.collection}${data.document_id}`).get(data.name);
let docName = getDocName(data);
let doc = docs.get(docName);
let changeLog = doc.get('changeLog');
let string = '';
let changeLog = name.get('changeLog');
let log = changeLog.slice(0, data.version)

@@ -468,8 +481,6 @@ for (let change of log) {

function generateDocName(data) {
let docName = { collection: data.collection, document_id: data.document_id };
return `${data.collection}${data.document_id}`;
// return btoa(JSON.stringify(docName));
function getDocName(data) {
return `${data.collection}${data.document_id}${data.name}`;
}
export default { init, getText, updateText, replaceText, undoText, redoText, viewVersion };

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