Skip to content

Commit f131a08

Browse files
authored
Merge pull request #1050 from streamich/feat/json-hash-diff-packages
Improve hash, diff packages and refactor iterators
2 parents 32c3b5c + 94b2c19 commit f131a08

109 files changed

Lines changed: 1017 additions & 364 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/click-json/src/ClickableJsonCrdt/nodes/JsonCrdtStrNode/StrEdit.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import * as React from 'react';
22
import {theme} from 'nano-theme';
3-
import {bind} from 'collaborative-input';
3+
import {bind} from '@jsonjoy.com/collaborative-input';
44
import {FlexibleInput} from 'flexible-input';
55
import {useT} from 'use-t';
6-
import type {NodeRef} from '../../NodeRef';
76
import * as css from '../../../css';
87
import {selectOnFocus} from '../../../utils/selectOnFocus';
98
import {inputStyle} from '../../../ClickableJson/utils';
109
import {CancelAction} from '../../../buttons/Action/CancelAction';
1110
import {SubmitAction} from '../../../buttons/Action/SubmitAction';
1211
import {useJsonCrdt} from '../../context';
12+
import type {NodeRef} from '../../NodeRef';
1313
import type {StrNode} from 'json-joy/lib/json-crdt';
1414

1515
export interface StrEditProps {

packages/collaborative-input/docs/text.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,13 @@ JSON CRDT data structures. It allows multiple users to edit the `<input>` and
1010
Installation:
1111

1212
```
13-
npm install json-joy collaborative-input
13+
npm install json-joy @jsonjoy.com/collaborative-input
1414
```
1515

1616
Usage:
1717

1818
```ts
19-
import {bind} from 'collaborative-input';
19+
import {bind} from '@jsonjoy.com/collaborative-input';
2020

2121
const str = model.api.str(['path', 'to', 'string']);
2222
const input = document.getElementById('input');
@@ -25,8 +25,3 @@ const unbind = bind(str, input);
2525
// When done, unbind the binding.
2626
unbind();
2727
```
28-
29-
30-
## Preview
31-
32-
See [demo](https://streamich.github.io/collaborative-input).

packages/collaborative-react/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
"crdt"
3333
],
3434
"dependencies": {
35-
"json-joy": "workspace:*"
35+
"json-joy": "workspace:*",
36+
"thingies": "^2.6.0"
3637
},
3738
"peerDependencies": {
3839
"react": "^19",

packages/collaborative-react/src/hooks.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {useState, useMemo, useCallback, useSyncExternalStore, useEffect} from 'react';
22
import {useCtxModelStrict, useCtxNodeStrict} from './context';
33
import type {FanOutUnsubscribe} from 'thingies/lib/fanout';
4-
import type {SyncStore} from 'json-joy/lib/util/events/sync-store';
4+
import type {SyncStore} from 'thingies/lib/sync';
55
import type {Model, JsonNodeView, ArrApi, ObjApi, StrApi} from 'json-joy/lib/json-crdt';
66
import type {ChangeEvent} from 'json-joy/lib/json-crdt/model/api/events';
77
import type {ApiPath} from 'json-joy/lib/json-crdt/model/api/types';

packages/collaborative-slate/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
"dependencies": {
8383
"@jsonjoy.com/collaborative-peritext": "workspace:*",
8484
"@jsonjoy.com/collaborative-presence": "workspace:*",
85+
"@jsonjoy.com/diff": "workspace:*",
8586
"@jsonjoy.com/json-equal": "workspace:*",
8687
"@jsonjoy.com/ui": "workspace:*",
8788
"code-colors": "^2.4.0",

packages/collaborative-slate/src/sync/applyPatch.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
*/
66

77
import {Transforms, Editor} from 'slate';
8-
import * as str from 'json-joy/lib/util/diff/str';
8+
import * as str from '@jsonjoy.com/diff/lib/str';
99
import {deepEqual} from '@jsonjoy.com/json-equal';
1010
import type {SlateDescendantNode, SlateDocument, SlateElementNode, SlateTextNode} from '../types';
1111

packages/collaborative-slate/tsconfig.build.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@
2929
{
3030
"path": "../collaborative-presence/tsconfig.build.json"
3131
},
32+
{
33+
"path": "../diff/tsconfig.build.json"
34+
},
3235
{
3336
"path": "../json-equal/tsconfig.build.json"
3437
},

packages/collaborative-slate/tsconfig.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@
3030
{
3131
"path": "../collaborative-presence"
3232
},
33+
{
34+
"path": "../diff"
35+
},
3336
{
3437
"path": "../json-equal"
3538
},

packages/collaborative-str/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
"crdt"
3636
],
3737
"dependencies": {
38+
"@jsonjoy.com/diff": "workspace:*",
3839
"json-joy": "workspace:*"
3940
},
4041
"peerDependencies": {

packages/collaborative-str/src/StrBinding.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {invokeFirstOnly} from './util';
22
import {Selection} from './Selection';
33
import {applyChange} from './util';
4-
import {diff, diffEdit} from 'json-joy/lib/util/diff/str';
4+
import {diff, diffEdit} from '@jsonjoy.com/diff/lib/str';
55
import type {CollaborativeStr, EditorFacade, SimpleChange} from './types';
66

77
const enum PATCH_OP_TYPE {

0 commit comments

Comments
 (0)