@ibyar/platform 1.1.0 → 1.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +3 -3
- package/patch/diff.js.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ibyar/platform",
|
|
3
|
-
"version": "1.1
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"description": "Ibyar Platform, A utility package for Aurora",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://github.com/ibyar/aurora/tree/dev/packages/platform",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"tslib": "^2.6.2"
|
|
37
37
|
},
|
|
38
38
|
"devDependencies": {
|
|
39
|
-
"typescript": "^5.
|
|
39
|
+
"typescript": "^5.3.3"
|
|
40
40
|
},
|
|
41
41
|
"scripts": {
|
|
42
42
|
"build": "tsc --build --verbose"
|
|
@@ -47,5 +47,5 @@
|
|
|
47
47
|
"platform",
|
|
48
48
|
"front-end"
|
|
49
49
|
],
|
|
50
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "6d7ec6da450adad1db31f525754455be053138f1"
|
|
51
51
|
}
|
package/patch/diff.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/platform/patch/diff.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,cAMX;AAND,WAAY,cAAc;IACzB,6BAAW,CAAA;IACX,mCAAiB,CAAA;IACjB,qCAAmB,CAAA;IACnB,+BAAa,CAAA;IACb,+BAAa,CAAA;AACd,CAAC,EANW,cAAc,KAAd,cAAc,QAMzB;AAAA,CAAC;AAIF,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AAGpE,MAAM,OAAO,SAAS;IAEX,SAAS,CAAW,KAAU,EAAE,MAAW,EAAE,OAA2B;QAEjF,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC;QACjC,MAAM,aAAa,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;QAC7F,MAAM,cAAc,GAAG,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC;QAChG,MAAM,SAAS,GAAgB,EAAE,CAAC;QAClC,aAAa,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACrC,MAAM,SAAS,GAAG,cAAc,CAAC,OAAO,CAAC,IAAa,CAAC,CAAC;YACxD,MAAM,EAAE,GAAmB,SAAS,IAAI,CAAC,CAAC;gBACzC,CAAC,CAAC,cAAc,CAAC,MAAM;gBACvB,CAAC,CAAC,KAAK,IAAI,SAAS;oBACnB,CAAC,CAAC,cAAc,CAAC,IAAI;oBACrB,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC;YACxB,SAAS,CAAC,IAAI,CAAC;gBACd,YAAY,EAAE,KAAK;gBACnB,SAAS,EAAE,SAAS;gBACpB,EAAE,EAAE,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC;aACvB,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,IAAa,CAAC,CAAC;YACtD,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"diff.js","sourceRoot":"","sources":["../../../src/platform/patch/diff.ts"],"names":[],"mappings":"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","sourcesContent":["export type TrackBy<T, R = T> = (index: number, item: T) => R;\nexport type DiffOptions<T, R = T> = { trackBy?: TrackBy<T, R> };\n\nexport enum PatchOperation {\n\tADD = 'add',\n\tREMOVE = 'remove',\n\tREPLACE = 'replace',\n\tMOVE = 'move',\n\tKEEP = 'keep'\n};\n\nexport type PatchArray<T> = { currentIndex: number, nextIndex: number, op: PatchOperation, item: T };\nexport type PatchObject = { key: string, op: PatchOperation };\nexport const PatchRoot = { op: PatchOperation.REPLACE, root: true };\nexport type DiffPatch<T> = PatchArray<T> | PatchObject;\n\nexport class JSONPatch {\n\n\tprotected diffArray<T, R = T>(input: T[], output: T[], options?: DiffOptions<T, R>): PatchArray<T>[] | [typeof PatchRoot] {\n\t\ttype DiffArray = PatchArray<T> & { ignore?: boolean };\n\t\tconst trackBy = options?.trackBy;\n\t\tconst identityInput = (trackBy && input.map((item, index) => trackBy(index, item))) ?? input;\n\t\tconst identityOutput = (trackBy && output.map((item, index) => trackBy(index, item))) ?? output;\n\t\tconst diffArray: DiffArray[] = [];\n\t\tidentityInput.forEach((item, index) => {\n\t\t\tconst nextIndex = identityOutput.indexOf(item as T & R);\n\t\t\tconst op: PatchOperation = nextIndex == -1\n\t\t\t\t? PatchOperation.REMOVE\n\t\t\t\t: index == nextIndex\n\t\t\t\t\t? PatchOperation.KEEP\n\t\t\t\t\t: PatchOperation.MOVE;\n\t\t\tdiffArray.push({\n\t\t\t\tcurrentIndex: index,\n\t\t\t\tnextIndex: nextIndex,\n\t\t\t\top: op,\n\t\t\t\titem: output[nextIndex]\n\t\t\t});\n\t\t});\n\t\tidentityOutput.forEach((item, index) => {\n\t\t\tconst oldIndex = identityInput.indexOf(item as T & R);\n\t\t\tif (oldIndex == -1) {\n\t\t\t\tdiffArray.push({\n\t\t\t\t\tcurrentIndex: -1,\n\t\t\t\t\tnextIndex: index,\n\t\t\t\t\top: PatchOperation.ADD,\n\t\t\t\t\titem: output[index]\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tconst patchArray: DiffArray[] = new Array<DiffArray>(output.length);\n\t\tlet i = 0;\n\t\tdiffArray.forEach(item => {\n\t\t\tif (item.ignore) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tlet patch = item;\n\t\t\tif (PatchOperation.REMOVE == item.op) {\n\t\t\t\tconst replacedItem = diffArray.find(r => !r.ignore && r.nextIndex == item.currentIndex);\n\t\t\t\tif (replacedItem) {\n\t\t\t\t\tif (PatchOperation.MOVE == replacedItem.op) {\n\t\t\t\t\t\titem.ignore = replacedItem.ignore = true;\n\t\t\t\t\t\treturn;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treplacedItem.ignore = true;\n\t\t\t\t\t\tpatch = {\n\t\t\t\t\t\t\tcurrentIndex: item.currentIndex,\n\t\t\t\t\t\t\tnextIndex: replacedItem.nextIndex,\n\t\t\t\t\t\t\top: PatchOperation.REPLACE,\n\t\t\t\t\t\t\titem: replacedItem.item\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\tpatchArray[i++] = patch;\n\t\t});\n\t\tconst removed = patchArray\n\t\t\t.filter(item => !item.ignore && PatchOperation.REMOVE == item.op)\n\t\t\t.sort((a, b) => b.currentIndex - a.currentIndex);\n\t\tconst apply = patchArray\n\t\t\t.filter(item => !item.ignore && PatchOperation.REMOVE != item.op)\n\t\t\t.sort((a, b) => a.nextIndex - b.nextIndex);\n\t\treturn removed.concat(apply) as PatchArray<T>[];\n\t}\n\n\tprotected diffObject<T = any>(input: T, output: T): PatchObject[] | [typeof PatchRoot] {\n\t\treturn [];\n\t}\n\n\tdiff<T = any>(input: T, output: T): PatchObject[] | [typeof PatchRoot];\n\tdiff<T>(input: T[], output: T[]): PatchArray<T>[] | [typeof PatchRoot];\n\tdiff<T, R>(input: T[], output: T[], options?: DiffOptions<T, R>): PatchArray<T>[] | [typeof PatchRoot];\n\tdiff(input: any, output: any, options?: DiffOptions<any, any>): DiffPatch<any>[] | [typeof PatchRoot] {\n\t\tif (Array.isArray(input) && Array.isArray(output)) {\n\t\t\treturn this.diffArray(input, output, options);\n\t\t} else if (typeof input == 'object' && typeof output == 'object') {\n\t\t\treturn this.diffObject(input, output);\n\t\t}\n\t\treturn [PatchRoot];\n\t}\n}\n\nconst jsonPatch = new JSONPatch();\n\nexport function diff<T = any>(input: T, output: T): PatchObject[] | [typeof PatchRoot];\nexport function diff<T>(input: T[], output: T[]): PatchArray<T>[] | [typeof PatchRoot];\nexport function diff<T, R>(input: T[], output: T[], options?: DiffOptions<T, R>): PatchArray<T>[] | [typeof PatchRoot];\nexport function diff(input: any, output: any, options?: DiffOptions<any, any>): DiffPatch<any>[] | [typeof PatchRoot] {\n\treturn jsonPatch.diff(input, output, options);\n}\n"]}
|