langchain 0.0.194 → 0.0.196

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.
Files changed (241) hide show
  1. package/dist/agents/toolkits/conversational_retrieval/token_buffer_memory.d.ts +1 -1
  2. package/dist/base_language/count_tokens.cjs +5 -70
  3. package/dist/base_language/count_tokens.d.ts +1 -10
  4. package/dist/base_language/count_tokens.js +1 -65
  5. package/dist/base_language/index.cjs +6 -196
  6. package/dist/base_language/index.d.ts +1 -111
  7. package/dist/base_language/index.js +1 -191
  8. package/dist/cache/base.cjs +15 -37
  9. package/dist/cache/base.d.ts +1 -20
  10. package/dist/cache/base.js +1 -33
  11. package/dist/cache/index.cjs +2 -46
  12. package/dist/cache/index.d.ts +1 -29
  13. package/dist/cache/index.js +1 -45
  14. package/dist/callbacks/base.cjs +3 -139
  15. package/dist/callbacks/base.d.ts +1 -266
  16. package/dist/callbacks/base.js +1 -126
  17. package/dist/callbacks/handlers/console.cjs +14 -221
  18. package/dist/callbacks/handlers/console.d.ts +1 -117
  19. package/dist/callbacks/handlers/console.js +1 -217
  20. package/dist/callbacks/handlers/initialize.cjs +15 -30
  21. package/dist/callbacks/handlers/initialize.d.ts +1 -16
  22. package/dist/callbacks/handlers/initialize.js +1 -27
  23. package/dist/callbacks/handlers/log_stream.cjs +15 -293
  24. package/dist/callbacks/handlers/log_stream.d.ts +1 -100
  25. package/dist/callbacks/handlers/log_stream.js +1 -289
  26. package/dist/callbacks/handlers/run_collector.cjs +15 -48
  27. package/dist/callbacks/handlers/run_collector.d.ts +1 -26
  28. package/dist/callbacks/handlers/run_collector.js +1 -46
  29. package/dist/callbacks/handlers/tracer.cjs +15 -375
  30. package/dist/callbacks/handlers/tracer.d.ts +1 -70
  31. package/dist/callbacks/handlers/tracer.js +1 -373
  32. package/dist/callbacks/handlers/tracer_langchain.cjs +15 -104
  33. package/dist/callbacks/handlers/tracer_langchain.d.ts +1 -41
  34. package/dist/callbacks/handlers/tracer_langchain.js +1 -102
  35. package/dist/callbacks/handlers/tracer_langchain_v1.cjs +15 -197
  36. package/dist/callbacks/handlers/tracer_langchain_v1.d.ts +1 -57
  37. package/dist/callbacks/handlers/tracer_langchain_v1.js +1 -195
  38. package/dist/callbacks/manager.cjs +15 -676
  39. package/dist/callbacks/manager.d.ts +1 -180
  40. package/dist/callbacks/manager.js +1 -666
  41. package/dist/callbacks/promises.cjs +14 -42
  42. package/dist/callbacks/promises.d.ts +1 -11
  43. package/dist/callbacks/promises.js +1 -37
  44. package/dist/chains/graph_qa/prompts.d.ts +1 -1
  45. package/dist/chains/openai_functions/structured_output.cjs +2 -2
  46. package/dist/chains/openai_functions/structured_output.d.ts +1 -1
  47. package/dist/chains/openai_functions/structured_output.js +1 -1
  48. package/dist/chat_models/baiduwenxin.d.ts +1 -1
  49. package/dist/chat_models/base.cjs +15 -296
  50. package/dist/chat_models/base.d.ts +1 -122
  51. package/dist/chat_models/base.js +1 -292
  52. package/dist/chat_models/bedrock/web.d.ts +1 -1
  53. package/dist/chat_models/fireworks.d.ts +1 -1
  54. package/dist/document.cjs +2 -24
  55. package/dist/document.d.ts +1 -12
  56. package/dist/document.js +1 -23
  57. package/dist/document_loaders/web/azure_blob_storage_file.d.ts +1 -1
  58. package/dist/document_loaders/web/s3.d.ts +1 -1
  59. package/dist/embeddings/base.cjs +15 -22
  60. package/dist/embeddings/base.d.ts +1 -33
  61. package/dist/embeddings/base.js +1 -20
  62. package/dist/embeddings/cache_backed.cjs +2 -2
  63. package/dist/embeddings/cache_backed.js +1 -1
  64. package/dist/embeddings/hf.cjs +1 -2
  65. package/dist/embeddings/hf.js +1 -2
  66. package/dist/evaluation/agents/trajectory.d.ts +1 -1
  67. package/dist/evaluation/criteria/prompt.d.ts +2 -2
  68. package/dist/evaluation/qa/prompt.d.ts +2 -2
  69. package/dist/experimental/hubs/makersuite/googlemakersuitehub.d.ts +1 -1
  70. package/dist/experimental/openai_assistant/index.cjs +2 -1
  71. package/dist/experimental/openai_assistant/index.d.ts +2 -1
  72. package/dist/experimental/openai_assistant/index.js +2 -1
  73. package/dist/experimental/openai_files/index.cjs +88 -0
  74. package/dist/experimental/openai_files/index.d.ts +79 -0
  75. package/dist/experimental/openai_files/index.js +84 -0
  76. package/dist/experimental/plan_and_execute/prompt.d.ts +1 -1
  77. package/dist/llms/base.cjs +15 -278
  78. package/dist/llms/base.d.ts +1 -115
  79. package/dist/llms/base.js +1 -275
  80. package/dist/llms/bedrock/web.d.ts +1 -1
  81. package/dist/llms/fireworks.d.ts +1 -1
  82. package/dist/load/import_constants.cjs +1 -0
  83. package/dist/load/import_constants.js +1 -0
  84. package/dist/load/import_map.cjs +4 -2
  85. package/dist/load/import_map.d.ts +2 -0
  86. package/dist/load/import_map.js +2 -0
  87. package/dist/load/index.cjs +7 -148
  88. package/dist/load/index.js +7 -148
  89. package/dist/load/map_keys.cjs +0 -24
  90. package/dist/load/map_keys.d.ts +0 -6
  91. package/dist/load/map_keys.js +1 -17
  92. package/dist/load/serializable.cjs +15 -178
  93. package/dist/load/serializable.d.ts +1 -66
  94. package/dist/load/serializable.js +1 -175
  95. package/dist/memory/base.cjs +17 -92
  96. package/dist/memory/base.d.ts +2 -68
  97. package/dist/memory/base.js +2 -87
  98. package/dist/output_parsers/openai_functions.cjs +2 -2
  99. package/dist/output_parsers/openai_functions.d.ts +1 -1
  100. package/dist/output_parsers/openai_functions.js +1 -1
  101. package/dist/output_parsers/regex.d.ts +1 -1
  102. package/dist/output_parsers/structured.d.ts +1 -1
  103. package/dist/prompts/base.cjs +8 -183
  104. package/dist/prompts/base.d.ts +3 -132
  105. package/dist/prompts/base.js +3 -178
  106. package/dist/prompts/chat.cjs +15 -477
  107. package/dist/prompts/chat.d.ts +1 -219
  108. package/dist/prompts/chat.js +1 -466
  109. package/dist/prompts/few_shot.cjs +15 -353
  110. package/dist/prompts/few_shot.d.ts +1 -192
  111. package/dist/prompts/few_shot.js +1 -350
  112. package/dist/prompts/index.cjs +3 -2
  113. package/dist/prompts/index.d.ts +2 -1
  114. package/dist/prompts/index.js +2 -1
  115. package/dist/prompts/pipeline.cjs +15 -142
  116. package/dist/prompts/pipeline.d.ts +1 -98
  117. package/dist/prompts/pipeline.js +1 -140
  118. package/dist/prompts/prompt.cjs +15 -146
  119. package/dist/prompts/prompt.d.ts +1 -92
  120. package/dist/prompts/prompt.js +1 -144
  121. package/dist/prompts/selectors/LengthBasedExampleSelector.cjs +15 -148
  122. package/dist/prompts/selectors/LengthBasedExampleSelector.d.ts +1 -89
  123. package/dist/prompts/selectors/LengthBasedExampleSelector.js +1 -146
  124. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.cjs +15 -137
  125. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.d.ts +1 -91
  126. package/dist/prompts/selectors/SemanticSimilarityExampleSelector.js +1 -135
  127. package/dist/prompts/selectors/conditional.cjs +15 -74
  128. package/dist/prompts/selectors/conditional.d.ts +1 -63
  129. package/dist/prompts/selectors/conditional.js +1 -69
  130. package/dist/prompts/serde.cjs +15 -0
  131. package/dist/prompts/serde.d.ts +1 -43
  132. package/dist/prompts/serde.js +1 -1
  133. package/dist/prompts/template.cjs +14 -88
  134. package/dist/prompts/template.d.ts +1 -36
  135. package/dist/prompts/template.js +1 -83
  136. package/dist/retrievers/chaindesk.cjs +9 -1
  137. package/dist/retrievers/chaindesk.d.ts +3 -1
  138. package/dist/retrievers/chaindesk.js +9 -1
  139. package/dist/retrievers/self_query/vectara.cjs +138 -0
  140. package/dist/retrievers/self_query/vectara.d.ts +41 -0
  141. package/dist/retrievers/self_query/vectara.js +134 -0
  142. package/dist/{util/@cfworker/json-schema → runnables}/index.cjs +1 -1
  143. package/dist/runnables/index.d.ts +1 -0
  144. package/dist/runnables/index.js +1 -0
  145. package/dist/schema/document.cjs +3 -34
  146. package/dist/schema/document.d.ts +2 -29
  147. package/dist/schema/document.js +2 -32
  148. package/dist/schema/index.cjs +37 -612
  149. package/dist/schema/index.d.ts +11 -311
  150. package/dist/schema/index.js +8 -583
  151. package/dist/schema/output_parser.cjs +15 -309
  152. package/dist/schema/output_parser.d.ts +1 -173
  153. package/dist/schema/output_parser.js +1 -301
  154. package/dist/schema/retriever.cjs +15 -77
  155. package/dist/schema/retriever.d.ts +1 -43
  156. package/dist/schema/retriever.js +1 -75
  157. package/dist/schema/runnable/base.cjs +10 -1072
  158. package/dist/schema/runnable/base.d.ts +1 -356
  159. package/dist/schema/runnable/base.js +1 -1060
  160. package/dist/schema/runnable/branch.cjs +2 -131
  161. package/dist/schema/runnable/branch.d.ts +1 -94
  162. package/dist/schema/runnable/branch.js +1 -130
  163. package/dist/schema/runnable/config.cjs +0 -6
  164. package/dist/schema/runnable/config.d.ts +1 -3
  165. package/dist/schema/runnable/config.js +1 -4
  166. package/dist/schema/runnable/index.cjs +15 -16
  167. package/dist/schema/runnable/index.d.ts +1 -5
  168. package/dist/schema/runnable/index.js +1 -4
  169. package/dist/schema/runnable/passthrough.cjs +3 -113
  170. package/dist/schema/runnable/passthrough.d.ts +1 -72
  171. package/dist/schema/runnable/passthrough.js +1 -111
  172. package/dist/schema/runnable/router.cjs +2 -71
  173. package/dist/schema/runnable/router.d.ts +1 -29
  174. package/dist/schema/runnable/router.js +1 -70
  175. package/dist/schema/storage.cjs +15 -8
  176. package/dist/schema/storage.d.ts +1 -57
  177. package/dist/schema/storage.js +1 -6
  178. package/dist/tools/bingserpapi.d.ts +1 -1
  179. package/dist/tools/searchapi.d.ts +1 -1
  180. package/dist/tools/serpapi.d.ts +1 -1
  181. package/dist/tools/serper.d.ts +1 -1
  182. package/dist/util/async_caller.cjs +14 -128
  183. package/dist/util/async_caller.d.ts +1 -45
  184. package/dist/util/async_caller.js +1 -124
  185. package/dist/vectorstores/vectara.cjs +77 -7
  186. package/dist/vectorstores/vectara.d.ts +9 -3
  187. package/dist/vectorstores/vectara.js +54 -7
  188. package/experimental/openai_files.cjs +1 -0
  189. package/experimental/openai_files.d.ts +1 -0
  190. package/experimental/openai_files.js +1 -0
  191. package/package.json +27 -5
  192. package/retrievers/self_query/vectara.cjs +1 -0
  193. package/retrievers/self_query/vectara.d.ts +1 -0
  194. package/retrievers/self_query/vectara.js +1 -0
  195. package/runnables.cjs +1 -0
  196. package/runnables.d.ts +1 -0
  197. package/runnables.js +1 -0
  198. package/dist/util/@cfworker/json-schema/index.d.ts +0 -1
  199. package/dist/util/@cfworker/json-schema/index.js +0 -1
  200. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.cjs +0 -43
  201. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.d.ts +0 -1
  202. package/dist/util/@cfworker/json-schema/src/deep-compare-strict.js +0 -39
  203. package/dist/util/@cfworker/json-schema/src/dereference.cjs +0 -169
  204. package/dist/util/@cfworker/json-schema/src/dereference.d.ts +0 -12
  205. package/dist/util/@cfworker/json-schema/src/dereference.js +0 -165
  206. package/dist/util/@cfworker/json-schema/src/format.cjs +0 -139
  207. package/dist/util/@cfworker/json-schema/src/format.d.ts +0 -2
  208. package/dist/util/@cfworker/json-schema/src/format.js +0 -136
  209. package/dist/util/@cfworker/json-schema/src/index.cjs +0 -24
  210. package/dist/util/@cfworker/json-schema/src/index.d.ts +0 -8
  211. package/dist/util/@cfworker/json-schema/src/index.js +0 -8
  212. package/dist/util/@cfworker/json-schema/src/pointer.cjs +0 -11
  213. package/dist/util/@cfworker/json-schema/src/pointer.d.ts +0 -2
  214. package/dist/util/@cfworker/json-schema/src/pointer.js +0 -6
  215. package/dist/util/@cfworker/json-schema/src/types.cjs +0 -2
  216. package/dist/util/@cfworker/json-schema/src/types.d.ts +0 -72
  217. package/dist/util/@cfworker/json-schema/src/types.js +0 -1
  218. package/dist/util/@cfworker/json-schema/src/ucs2-length.cjs +0 -28
  219. package/dist/util/@cfworker/json-schema/src/ucs2-length.d.ts +0 -6
  220. package/dist/util/@cfworker/json-schema/src/ucs2-length.js +0 -24
  221. package/dist/util/@cfworker/json-schema/src/validate.cjs +0 -808
  222. package/dist/util/@cfworker/json-schema/src/validate.d.ts +0 -3
  223. package/dist/util/@cfworker/json-schema/src/validate.js +0 -804
  224. package/dist/util/@cfworker/json-schema/src/validator.cjs +0 -44
  225. package/dist/util/@cfworker/json-schema/src/validator.d.ts +0 -10
  226. package/dist/util/@cfworker/json-schema/src/validator.js +0 -40
  227. package/dist/util/fast-json-patch/index.cjs +0 -49
  228. package/dist/util/fast-json-patch/index.d.ts +0 -22
  229. package/dist/util/fast-json-patch/index.js +0 -16
  230. package/dist/util/fast-json-patch/src/core.cjs +0 -469
  231. package/dist/util/fast-json-patch/src/core.d.ts +0 -111
  232. package/dist/util/fast-json-patch/src/core.js +0 -459
  233. package/dist/util/fast-json-patch/src/duplex.cjs +0 -237
  234. package/dist/util/fast-json-patch/src/duplex.d.ts +0 -23
  235. package/dist/util/fast-json-patch/src/duplex.js +0 -230
  236. package/dist/util/fast-json-patch/src/helpers.cjs +0 -194
  237. package/dist/util/fast-json-patch/src/helpers.d.ts +0 -36
  238. package/dist/util/fast-json-patch/src/helpers.js +0 -181
  239. package/dist/util/js-sha1/hash.cjs +0 -358
  240. package/dist/util/js-sha1/hash.d.ts +0 -1
  241. package/dist/util/js-sha1/hash.js +0 -355
@@ -1,237 +0,0 @@
1
- "use strict";
2
- // @ts-nocheck
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.compare = exports.generate = exports.observe = exports.unobserve = void 0;
5
- // Inlined because of ESM import issues
6
- /*!
7
- * https://github.com/Starcounter-Jack/JSON-Patch
8
- * (c) 2013-2021 Joachim Wester
9
- * MIT license
10
- */
11
- const helpers_js_1 = require("./helpers.cjs");
12
- const core_js_1 = require("./core.cjs");
13
- var beforeDict = new WeakMap();
14
- class Mirror {
15
- constructor(obj) {
16
- Object.defineProperty(this, "obj", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: void 0
21
- });
22
- Object.defineProperty(this, "observers", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: new Map()
27
- });
28
- Object.defineProperty(this, "value", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: void 0
33
- });
34
- this.obj = obj;
35
- }
36
- }
37
- class ObserverInfo {
38
- constructor(callback, observer) {
39
- Object.defineProperty(this, "callback", {
40
- enumerable: true,
41
- configurable: true,
42
- writable: true,
43
- value: void 0
44
- });
45
- Object.defineProperty(this, "observer", {
46
- enumerable: true,
47
- configurable: true,
48
- writable: true,
49
- value: void 0
50
- });
51
- this.callback = callback;
52
- this.observer = observer;
53
- }
54
- }
55
- function getMirror(obj) {
56
- return beforeDict.get(obj);
57
- }
58
- function getObserverFromMirror(mirror, callback) {
59
- return mirror.observers.get(callback);
60
- }
61
- function removeObserverFromMirror(mirror, observer) {
62
- mirror.observers.delete(observer.callback);
63
- }
64
- /**
65
- * Detach an observer from an object
66
- */
67
- function unobserve(root, observer) {
68
- observer.unobserve();
69
- }
70
- exports.unobserve = unobserve;
71
- /**
72
- * Observes changes made to an object, which can then be retrieved using generate
73
- */
74
- function observe(obj, callback) {
75
- var patches = [];
76
- var observer;
77
- var mirror = getMirror(obj);
78
- if (!mirror) {
79
- mirror = new Mirror(obj);
80
- beforeDict.set(obj, mirror);
81
- }
82
- else {
83
- const observerInfo = getObserverFromMirror(mirror, callback);
84
- observer = observerInfo && observerInfo.observer;
85
- }
86
- if (observer) {
87
- return observer;
88
- }
89
- observer = {};
90
- mirror.value = (0, helpers_js_1._deepClone)(obj);
91
- if (callback) {
92
- observer.callback = callback;
93
- observer.next = null;
94
- var dirtyCheck = () => {
95
- generate(observer);
96
- };
97
- var fastCheck = () => {
98
- clearTimeout(observer.next);
99
- observer.next = setTimeout(dirtyCheck);
100
- };
101
- if (typeof window !== "undefined") {
102
- //not Node
103
- window.addEventListener("mouseup", fastCheck);
104
- window.addEventListener("keyup", fastCheck);
105
- window.addEventListener("mousedown", fastCheck);
106
- window.addEventListener("keydown", fastCheck);
107
- window.addEventListener("change", fastCheck);
108
- }
109
- }
110
- observer.patches = patches;
111
- observer.object = obj;
112
- observer.unobserve = () => {
113
- generate(observer);
114
- clearTimeout(observer.next);
115
- removeObserverFromMirror(mirror, observer);
116
- if (typeof window !== "undefined") {
117
- window.removeEventListener("mouseup", fastCheck);
118
- window.removeEventListener("keyup", fastCheck);
119
- window.removeEventListener("mousedown", fastCheck);
120
- window.removeEventListener("keydown", fastCheck);
121
- window.removeEventListener("change", fastCheck);
122
- }
123
- };
124
- mirror.observers.set(callback, new ObserverInfo(callback, observer));
125
- return observer;
126
- }
127
- exports.observe = observe;
128
- /**
129
- * Generate an array of patches from an observer
130
- */
131
- function generate(observer, invertible = false) {
132
- var mirror = beforeDict.get(observer.object);
133
- _generate(mirror.value, observer.object, observer.patches, "", invertible);
134
- if (observer.patches.length) {
135
- (0, core_js_1.applyPatch)(mirror.value, observer.patches);
136
- }
137
- var temp = observer.patches;
138
- if (temp.length > 0) {
139
- observer.patches = [];
140
- if (observer.callback) {
141
- observer.callback(temp);
142
- }
143
- }
144
- return temp;
145
- }
146
- exports.generate = generate;
147
- // Dirty check if obj is different from mirror, generate patches and update mirror
148
- function _generate(mirror, obj, patches, path, invertible) {
149
- if (obj === mirror) {
150
- return;
151
- }
152
- if (typeof obj.toJSON === "function") {
153
- obj = obj.toJSON();
154
- }
155
- var newKeys = (0, helpers_js_1._objectKeys)(obj);
156
- var oldKeys = (0, helpers_js_1._objectKeys)(mirror);
157
- var changed = false;
158
- var deleted = false;
159
- //if ever "move" operation is implemented here, make sure this test runs OK: "should not generate the same patch twice (move)"
160
- for (var t = oldKeys.length - 1; t >= 0; t--) {
161
- var key = oldKeys[t];
162
- var oldVal = mirror[key];
163
- if ((0, helpers_js_1.hasOwnProperty)(obj, key) &&
164
- !(obj[key] === undefined &&
165
- oldVal !== undefined &&
166
- Array.isArray(obj) === false)) {
167
- var newVal = obj[key];
168
- if (typeof oldVal == "object" &&
169
- oldVal != null &&
170
- typeof newVal == "object" &&
171
- newVal != null &&
172
- Array.isArray(oldVal) === Array.isArray(newVal)) {
173
- _generate(oldVal, newVal, patches, path + "/" + (0, helpers_js_1.escapePathComponent)(key), invertible);
174
- }
175
- else {
176
- if (oldVal !== newVal) {
177
- changed = true;
178
- if (invertible) {
179
- patches.push({
180
- op: "test",
181
- path: path + "/" + (0, helpers_js_1.escapePathComponent)(key),
182
- value: (0, helpers_js_1._deepClone)(oldVal),
183
- });
184
- }
185
- patches.push({
186
- op: "replace",
187
- path: path + "/" + (0, helpers_js_1.escapePathComponent)(key),
188
- value: (0, helpers_js_1._deepClone)(newVal),
189
- });
190
- }
191
- }
192
- }
193
- else if (Array.isArray(mirror) === Array.isArray(obj)) {
194
- if (invertible) {
195
- patches.push({
196
- op: "test",
197
- path: path + "/" + (0, helpers_js_1.escapePathComponent)(key),
198
- value: (0, helpers_js_1._deepClone)(oldVal),
199
- });
200
- }
201
- patches.push({
202
- op: "remove",
203
- path: path + "/" + (0, helpers_js_1.escapePathComponent)(key),
204
- });
205
- deleted = true; // property has been deleted
206
- }
207
- else {
208
- if (invertible) {
209
- patches.push({ op: "test", path, value: mirror });
210
- }
211
- patches.push({ op: "replace", path, value: obj });
212
- changed = true;
213
- }
214
- }
215
- if (!deleted && newKeys.length == oldKeys.length) {
216
- return;
217
- }
218
- for (var t = 0; t < newKeys.length; t++) {
219
- var key = newKeys[t];
220
- if (!(0, helpers_js_1.hasOwnProperty)(mirror, key) && obj[key] !== undefined) {
221
- patches.push({
222
- op: "add",
223
- path: path + "/" + (0, helpers_js_1.escapePathComponent)(key),
224
- value: (0, helpers_js_1._deepClone)(obj[key]),
225
- });
226
- }
227
- }
228
- }
229
- /**
230
- * Create an array of patches from the differences in two objects
231
- */
232
- function compare(tree1, tree2, invertible = false) {
233
- var patches = [];
234
- _generate(tree1, tree2, patches, "", invertible);
235
- return patches;
236
- }
237
- exports.compare = compare;
@@ -1,23 +0,0 @@
1
- import { Operation } from "./core.js";
2
- export interface Observer<T> {
3
- object: T;
4
- patches: Operation[];
5
- unobserve: () => void;
6
- callback: (patches: Operation[]) => void;
7
- }
8
- /**
9
- * Detach an observer from an object
10
- */
11
- export declare function unobserve<T>(root: T, observer: Observer<T>): void;
12
- /**
13
- * Observes changes made to an object, which can then be retrieved using generate
14
- */
15
- export declare function observe<T>(obj: Object | Array<T>, callback?: (patches: Operation[]) => void): Observer<T>;
16
- /**
17
- * Generate an array of patches from an observer
18
- */
19
- export declare function generate<T>(observer: Observer<Object>, invertible?: boolean): Operation[];
20
- /**
21
- * Create an array of patches from the differences in two objects
22
- */
23
- export declare function compare(tree1: Object | Array<any>, tree2: Object | Array<any>, invertible?: boolean): Operation[];
@@ -1,230 +0,0 @@
1
- // @ts-nocheck
2
- // Inlined because of ESM import issues
3
- /*!
4
- * https://github.com/Starcounter-Jack/JSON-Patch
5
- * (c) 2013-2021 Joachim Wester
6
- * MIT license
7
- */
8
- import { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty, } from "./helpers.js";
9
- import { applyPatch } from "./core.js";
10
- var beforeDict = new WeakMap();
11
- class Mirror {
12
- constructor(obj) {
13
- Object.defineProperty(this, "obj", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: void 0
18
- });
19
- Object.defineProperty(this, "observers", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: new Map()
24
- });
25
- Object.defineProperty(this, "value", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: void 0
30
- });
31
- this.obj = obj;
32
- }
33
- }
34
- class ObserverInfo {
35
- constructor(callback, observer) {
36
- Object.defineProperty(this, "callback", {
37
- enumerable: true,
38
- configurable: true,
39
- writable: true,
40
- value: void 0
41
- });
42
- Object.defineProperty(this, "observer", {
43
- enumerable: true,
44
- configurable: true,
45
- writable: true,
46
- value: void 0
47
- });
48
- this.callback = callback;
49
- this.observer = observer;
50
- }
51
- }
52
- function getMirror(obj) {
53
- return beforeDict.get(obj);
54
- }
55
- function getObserverFromMirror(mirror, callback) {
56
- return mirror.observers.get(callback);
57
- }
58
- function removeObserverFromMirror(mirror, observer) {
59
- mirror.observers.delete(observer.callback);
60
- }
61
- /**
62
- * Detach an observer from an object
63
- */
64
- export function unobserve(root, observer) {
65
- observer.unobserve();
66
- }
67
- /**
68
- * Observes changes made to an object, which can then be retrieved using generate
69
- */
70
- export function observe(obj, callback) {
71
- var patches = [];
72
- var observer;
73
- var mirror = getMirror(obj);
74
- if (!mirror) {
75
- mirror = new Mirror(obj);
76
- beforeDict.set(obj, mirror);
77
- }
78
- else {
79
- const observerInfo = getObserverFromMirror(mirror, callback);
80
- observer = observerInfo && observerInfo.observer;
81
- }
82
- if (observer) {
83
- return observer;
84
- }
85
- observer = {};
86
- mirror.value = _deepClone(obj);
87
- if (callback) {
88
- observer.callback = callback;
89
- observer.next = null;
90
- var dirtyCheck = () => {
91
- generate(observer);
92
- };
93
- var fastCheck = () => {
94
- clearTimeout(observer.next);
95
- observer.next = setTimeout(dirtyCheck);
96
- };
97
- if (typeof window !== "undefined") {
98
- //not Node
99
- window.addEventListener("mouseup", fastCheck);
100
- window.addEventListener("keyup", fastCheck);
101
- window.addEventListener("mousedown", fastCheck);
102
- window.addEventListener("keydown", fastCheck);
103
- window.addEventListener("change", fastCheck);
104
- }
105
- }
106
- observer.patches = patches;
107
- observer.object = obj;
108
- observer.unobserve = () => {
109
- generate(observer);
110
- clearTimeout(observer.next);
111
- removeObserverFromMirror(mirror, observer);
112
- if (typeof window !== "undefined") {
113
- window.removeEventListener("mouseup", fastCheck);
114
- window.removeEventListener("keyup", fastCheck);
115
- window.removeEventListener("mousedown", fastCheck);
116
- window.removeEventListener("keydown", fastCheck);
117
- window.removeEventListener("change", fastCheck);
118
- }
119
- };
120
- mirror.observers.set(callback, new ObserverInfo(callback, observer));
121
- return observer;
122
- }
123
- /**
124
- * Generate an array of patches from an observer
125
- */
126
- export function generate(observer, invertible = false) {
127
- var mirror = beforeDict.get(observer.object);
128
- _generate(mirror.value, observer.object, observer.patches, "", invertible);
129
- if (observer.patches.length) {
130
- applyPatch(mirror.value, observer.patches);
131
- }
132
- var temp = observer.patches;
133
- if (temp.length > 0) {
134
- observer.patches = [];
135
- if (observer.callback) {
136
- observer.callback(temp);
137
- }
138
- }
139
- return temp;
140
- }
141
- // Dirty check if obj is different from mirror, generate patches and update mirror
142
- function _generate(mirror, obj, patches, path, invertible) {
143
- if (obj === mirror) {
144
- return;
145
- }
146
- if (typeof obj.toJSON === "function") {
147
- obj = obj.toJSON();
148
- }
149
- var newKeys = _objectKeys(obj);
150
- var oldKeys = _objectKeys(mirror);
151
- var changed = false;
152
- var deleted = false;
153
- //if ever "move" operation is implemented here, make sure this test runs OK: "should not generate the same patch twice (move)"
154
- for (var t = oldKeys.length - 1; t >= 0; t--) {
155
- var key = oldKeys[t];
156
- var oldVal = mirror[key];
157
- if (hasOwnProperty(obj, key) &&
158
- !(obj[key] === undefined &&
159
- oldVal !== undefined &&
160
- Array.isArray(obj) === false)) {
161
- var newVal = obj[key];
162
- if (typeof oldVal == "object" &&
163
- oldVal != null &&
164
- typeof newVal == "object" &&
165
- newVal != null &&
166
- Array.isArray(oldVal) === Array.isArray(newVal)) {
167
- _generate(oldVal, newVal, patches, path + "/" + escapePathComponent(key), invertible);
168
- }
169
- else {
170
- if (oldVal !== newVal) {
171
- changed = true;
172
- if (invertible) {
173
- patches.push({
174
- op: "test",
175
- path: path + "/" + escapePathComponent(key),
176
- value: _deepClone(oldVal),
177
- });
178
- }
179
- patches.push({
180
- op: "replace",
181
- path: path + "/" + escapePathComponent(key),
182
- value: _deepClone(newVal),
183
- });
184
- }
185
- }
186
- }
187
- else if (Array.isArray(mirror) === Array.isArray(obj)) {
188
- if (invertible) {
189
- patches.push({
190
- op: "test",
191
- path: path + "/" + escapePathComponent(key),
192
- value: _deepClone(oldVal),
193
- });
194
- }
195
- patches.push({
196
- op: "remove",
197
- path: path + "/" + escapePathComponent(key),
198
- });
199
- deleted = true; // property has been deleted
200
- }
201
- else {
202
- if (invertible) {
203
- patches.push({ op: "test", path, value: mirror });
204
- }
205
- patches.push({ op: "replace", path, value: obj });
206
- changed = true;
207
- }
208
- }
209
- if (!deleted && newKeys.length == oldKeys.length) {
210
- return;
211
- }
212
- for (var t = 0; t < newKeys.length; t++) {
213
- var key = newKeys[t];
214
- if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {
215
- patches.push({
216
- op: "add",
217
- path: path + "/" + escapePathComponent(key),
218
- value: _deepClone(obj[key]),
219
- });
220
- }
221
- }
222
- }
223
- /**
224
- * Create an array of patches from the differences in two objects
225
- */
226
- export function compare(tree1, tree2, invertible = false) {
227
- var patches = [];
228
- _generate(tree1, tree2, patches, "", invertible);
229
- return patches;
230
- }
@@ -1,194 +0,0 @@
1
- "use strict";
2
- // @ts-nocheck
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.PatchError = exports.hasUndefined = exports.getPath = exports._getPathRecursive = exports.unescapePathComponent = exports.escapePathComponent = exports.isInteger = exports._deepClone = exports._objectKeys = exports.hasOwnProperty = void 0;
5
- // Inlined because of ESM import issues
6
- /*!
7
- * https://github.com/Starcounter-Jack/JSON-Patch
8
- * (c) 2017-2022 Joachim Wester
9
- * MIT licensed
10
- */
11
- const _hasOwnProperty = Object.prototype.hasOwnProperty;
12
- function hasOwnProperty(obj, key) {
13
- return _hasOwnProperty.call(obj, key);
14
- }
15
- exports.hasOwnProperty = hasOwnProperty;
16
- function _objectKeys(obj) {
17
- if (Array.isArray(obj)) {
18
- const keys = new Array(obj.length);
19
- for (let k = 0; k < keys.length; k++) {
20
- keys[k] = "" + k;
21
- }
22
- return keys;
23
- }
24
- if (Object.keys) {
25
- return Object.keys(obj);
26
- }
27
- let keys = [];
28
- for (let i in obj) {
29
- if (hasOwnProperty(obj, i)) {
30
- keys.push(i);
31
- }
32
- }
33
- return keys;
34
- }
35
- exports._objectKeys = _objectKeys;
36
- /**
37
- * Deeply clone the object.
38
- * https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)
39
- * @param {any} obj value to clone
40
- * @return {any} cloned obj
41
- */
42
- function _deepClone(obj) {
43
- switch (typeof obj) {
44
- case "object":
45
- return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5
46
- case "undefined":
47
- return null; //this is how JSON.stringify behaves for array items
48
- default:
49
- return obj; //no need to clone primitives
50
- }
51
- }
52
- exports._deepClone = _deepClone;
53
- //3x faster than cached /^\d+$/.test(str)
54
- function isInteger(str) {
55
- let i = 0;
56
- const len = str.length;
57
- let charCode;
58
- while (i < len) {
59
- charCode = str.charCodeAt(i);
60
- if (charCode >= 48 && charCode <= 57) {
61
- i++;
62
- continue;
63
- }
64
- return false;
65
- }
66
- return true;
67
- }
68
- exports.isInteger = isInteger;
69
- /**
70
- * Escapes a json pointer path
71
- * @param path The raw pointer
72
- * @return the Escaped path
73
- */
74
- function escapePathComponent(path) {
75
- if (path.indexOf("/") === -1 && path.indexOf("~") === -1)
76
- return path;
77
- return path.replace(/~/g, "~0").replace(/\//g, "~1");
78
- }
79
- exports.escapePathComponent = escapePathComponent;
80
- /**
81
- * Unescapes a json pointer path
82
- * @param path The escaped pointer
83
- * @return The unescaped path
84
- */
85
- function unescapePathComponent(path) {
86
- return path.replace(/~1/g, "/").replace(/~0/g, "~");
87
- }
88
- exports.unescapePathComponent = unescapePathComponent;
89
- function _getPathRecursive(root, obj) {
90
- let found;
91
- for (let key in root) {
92
- if (hasOwnProperty(root, key)) {
93
- if (root[key] === obj) {
94
- return escapePathComponent(key) + "/";
95
- }
96
- else if (typeof root[key] === "object") {
97
- found = _getPathRecursive(root[key], obj);
98
- if (found != "") {
99
- return escapePathComponent(key) + "/" + found;
100
- }
101
- }
102
- }
103
- }
104
- return "";
105
- }
106
- exports._getPathRecursive = _getPathRecursive;
107
- function getPath(root, obj) {
108
- if (root === obj) {
109
- return "/";
110
- }
111
- const path = _getPathRecursive(root, obj);
112
- if (path === "") {
113
- throw new Error("Object not found in root");
114
- }
115
- return `/${path}`;
116
- }
117
- exports.getPath = getPath;
118
- /**
119
- * Recursively checks whether an object has any undefined values inside.
120
- */
121
- function hasUndefined(obj) {
122
- if (obj === undefined) {
123
- return true;
124
- }
125
- if (obj) {
126
- if (Array.isArray(obj)) {
127
- for (let i = 0, len = obj.length; i < len; i++) {
128
- if (hasUndefined(obj[i])) {
129
- return true;
130
- }
131
- }
132
- }
133
- else if (typeof obj === "object") {
134
- const objKeys = _objectKeys(obj);
135
- const objKeysLength = objKeys.length;
136
- for (var i = 0; i < objKeysLength; i++) {
137
- if (hasUndefined(obj[objKeys[i]])) {
138
- return true;
139
- }
140
- }
141
- }
142
- }
143
- return false;
144
- }
145
- exports.hasUndefined = hasUndefined;
146
- function patchErrorMessageFormatter(message, args) {
147
- const messageParts = [message];
148
- for (const key in args) {
149
- const value = typeof args[key] === "object"
150
- ? JSON.stringify(args[key], null, 2)
151
- : args[key]; // pretty print
152
- if (typeof value !== "undefined") {
153
- messageParts.push(`${key}: ${value}`);
154
- }
155
- }
156
- return messageParts.join("\n");
157
- }
158
- class PatchError extends Error {
159
- constructor(message, name, index, operation, tree) {
160
- super(patchErrorMessageFormatter(message, { name, index, operation, tree }));
161
- Object.defineProperty(this, "name", {
162
- enumerable: true,
163
- configurable: true,
164
- writable: true,
165
- value: name
166
- });
167
- Object.defineProperty(this, "index", {
168
- enumerable: true,
169
- configurable: true,
170
- writable: true,
171
- value: index
172
- });
173
- Object.defineProperty(this, "operation", {
174
- enumerable: true,
175
- configurable: true,
176
- writable: true,
177
- value: operation
178
- });
179
- Object.defineProperty(this, "tree", {
180
- enumerable: true,
181
- configurable: true,
182
- writable: true,
183
- value: tree
184
- });
185
- Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359
186
- this.message = patchErrorMessageFormatter(message, {
187
- name,
188
- index,
189
- operation,
190
- tree,
191
- });
192
- }
193
- }
194
- exports.PatchError = PatchError;