@langchain/core 1.1.32 → 1.1.33-dev-1773698445534
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/dist/_virtual/_rolldown/runtime.cjs +12 -22
- package/dist/_virtual/_rolldown/runtime.js +6 -11
- package/dist/agents.cjs +8 -10
- package/dist/agents.js +1 -2
- package/dist/caches/index.cjs +11 -12
- package/dist/caches/index.cjs.map +1 -1
- package/dist/caches/index.js +1 -2
- package/dist/caches/index.js.map +1 -1
- package/dist/callbacks/base.cjs +10 -11
- package/dist/callbacks/base.cjs.map +1 -1
- package/dist/callbacks/base.js +1 -2
- package/dist/callbacks/base.js.map +1 -1
- package/dist/callbacks/dispatch/index.cjs +7 -8
- package/dist/callbacks/dispatch/index.cjs.map +1 -1
- package/dist/callbacks/dispatch/index.d.ts +0 -2
- package/dist/callbacks/dispatch/index.d.ts.map +1 -1
- package/dist/callbacks/dispatch/index.js +1 -2
- package/dist/callbacks/dispatch/index.js.map +1 -1
- package/dist/callbacks/dispatch/web.cjs +3 -4
- package/dist/callbacks/dispatch/web.cjs.map +1 -1
- package/dist/callbacks/dispatch/web.d.ts +0 -2
- package/dist/callbacks/dispatch/web.d.ts.map +1 -1
- package/dist/callbacks/dispatch/web.js +1 -2
- package/dist/callbacks/dispatch/web.js.map +1 -1
- package/dist/callbacks/manager.cjs +18 -19
- package/dist/callbacks/manager.cjs.map +1 -1
- package/dist/callbacks/manager.js +1 -2
- package/dist/callbacks/manager.js.map +1 -1
- package/dist/callbacks/promises.cjs +9 -10
- package/dist/callbacks/promises.js +1 -2
- package/dist/chat_history.cjs +12 -13
- package/dist/chat_history.cjs.map +1 -1
- package/dist/chat_history.d.ts +0 -2
- package/dist/chat_history.d.ts.map +1 -1
- package/dist/chat_history.js +1 -2
- package/dist/chat_history.js.map +1 -1
- package/dist/context.cjs +6 -7
- package/dist/context.cjs.map +1 -1
- package/dist/context.js +1 -2
- package/dist/context.js.map +1 -1
- package/dist/document_loaders/base.cjs +8 -10
- package/dist/document_loaders/base.cjs.map +1 -1
- package/dist/document_loaders/base.js +1 -2
- package/dist/document_loaders/base.js.map +1 -1
- package/dist/document_loaders/langsmith.cjs +9 -10
- package/dist/document_loaders/langsmith.cjs.map +1 -1
- package/dist/document_loaders/langsmith.js +1 -2
- package/dist/document_loaders/langsmith.js.map +1 -1
- package/dist/documents/document.cjs +1 -2
- package/dist/documents/document.cjs.map +1 -1
- package/dist/documents/document.js +1 -1
- package/dist/documents/document.js.map +1 -1
- package/dist/documents/index.cjs +10 -11
- package/dist/documents/index.js +1 -2
- package/dist/documents/transformers.cjs +2 -3
- package/dist/documents/transformers.cjs.map +1 -1
- package/dist/documents/transformers.js +1 -2
- package/dist/documents/transformers.js.map +1 -1
- package/dist/embeddings.cjs +9 -10
- package/dist/embeddings.cjs.map +1 -1
- package/dist/embeddings.js +1 -2
- package/dist/embeddings.js.map +1 -1
- package/dist/errors/index.cjs +9 -10
- package/dist/errors/index.cjs.map +1 -1
- package/dist/errors/index.js +1 -2
- package/dist/errors/index.js.map +1 -1
- package/dist/example_selectors/base.cjs +2 -3
- package/dist/example_selectors/base.cjs.map +1 -1
- package/dist/example_selectors/base.js +1 -2
- package/dist/example_selectors/base.js.map +1 -1
- package/dist/example_selectors/conditional.cjs +1 -2
- package/dist/example_selectors/conditional.cjs.map +1 -1
- package/dist/example_selectors/conditional.js +1 -1
- package/dist/example_selectors/index.cjs +12 -13
- package/dist/example_selectors/index.js +1 -2
- package/dist/example_selectors/length_based.cjs +2 -3
- package/dist/example_selectors/length_based.cjs.map +1 -1
- package/dist/example_selectors/length_based.js +1 -2
- package/dist/example_selectors/length_based.js.map +1 -1
- package/dist/example_selectors/semantic_similarity.cjs +3 -4
- package/dist/example_selectors/semantic_similarity.cjs.map +1 -1
- package/dist/example_selectors/semantic_similarity.js +1 -2
- package/dist/example_selectors/semantic_similarity.js.map +1 -1
- package/dist/index.cjs +8 -10
- package/dist/index.js +1 -2
- package/dist/indexing/base.cjs +6 -7
- package/dist/indexing/base.cjs.map +1 -1
- package/dist/indexing/base.js +1 -2
- package/dist/indexing/base.js.map +1 -1
- package/dist/indexing/index.cjs +10 -11
- package/dist/indexing/index.js +1 -2
- package/dist/indexing/record_manager.cjs +2 -3
- package/dist/indexing/record_manager.cjs.map +1 -1
- package/dist/indexing/record_manager.js +1 -2
- package/dist/indexing/record_manager.js.map +1 -1
- package/dist/language_models/base.cjs +15 -16
- package/dist/language_models/base.cjs.map +1 -1
- package/dist/language_models/base.d.ts +0 -2
- package/dist/language_models/base.d.ts.map +1 -1
- package/dist/language_models/base.js +2 -3
- package/dist/language_models/base.js.map +1 -1
- package/dist/language_models/chat_models.cjs +26 -27
- package/dist/language_models/chat_models.cjs.map +1 -1
- package/dist/language_models/chat_models.d.ts +0 -3
- package/dist/language_models/chat_models.d.ts.map +1 -1
- package/dist/language_models/chat_models.js +1 -2
- package/dist/language_models/chat_models.js.map +1 -1
- package/dist/language_models/llms.cjs +13 -14
- package/dist/language_models/llms.cjs.map +1 -1
- package/dist/language_models/llms.d.ts +0 -1
- package/dist/language_models/llms.d.ts.map +1 -1
- package/dist/language_models/llms.js +1 -2
- package/dist/language_models/llms.js.map +1 -1
- package/dist/language_models/profile.cjs +8 -10
- package/dist/language_models/profile.js +1 -2
- package/dist/language_models/structured_output.cjs +19 -20
- package/dist/language_models/structured_output.cjs.map +1 -1
- package/dist/language_models/structured_output.d.ts +0 -5
- package/dist/language_models/structured_output.d.ts.map +1 -1
- package/dist/language_models/structured_output.js +1 -2
- package/dist/language_models/structured_output.js.map +1 -1
- package/dist/language_models/utils.cjs +1 -2
- package/dist/language_models/utils.cjs.map +1 -1
- package/dist/language_models/utils.js +1 -1
- package/dist/load/import_constants.cjs +1 -2
- package/dist/load/import_constants.cjs.map +1 -1
- package/dist/load/import_constants.js +1 -1
- package/dist/load/import_map.cjs +69 -70
- package/dist/load/import_map.js +1 -2
- package/dist/load/index.cjs +8 -9
- package/dist/load/index.cjs.map +1 -1
- package/dist/load/index.js +1 -2
- package/dist/load/index.js.map +1 -1
- package/dist/load/map_keys.cjs +2 -3
- package/dist/load/map_keys.cjs.map +1 -1
- package/dist/load/map_keys.js +1 -2
- package/dist/load/map_keys.js.map +1 -1
- package/dist/load/serializable.cjs +10 -11
- package/dist/load/serializable.cjs.map +1 -1
- package/dist/load/serializable.js +1 -2
- package/dist/load/serializable.js.map +1 -1
- package/dist/load/validation.cjs +3 -4
- package/dist/load/validation.cjs.map +1 -1
- package/dist/load/validation.js +3 -3
- package/dist/load/validation.js.map +1 -1
- package/dist/memory.cjs +8 -10
- package/dist/memory.cjs.map +1 -1
- package/dist/memory.js +1 -2
- package/dist/memory.js.map +1 -1
- package/dist/messages/ai.cjs +6 -7
- package/dist/messages/ai.cjs.map +1 -1
- package/dist/messages/ai.js +1 -2
- package/dist/messages/ai.js.map +1 -1
- package/dist/messages/base.cjs +8 -9
- package/dist/messages/base.cjs.map +1 -1
- package/dist/messages/base.js +1 -2
- package/dist/messages/base.js.map +1 -1
- package/dist/messages/block_translators/anthropic.cjs +2 -3
- package/dist/messages/block_translators/anthropic.cjs.map +1 -1
- package/dist/messages/block_translators/anthropic.js +1 -2
- package/dist/messages/block_translators/anthropic.js.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.cjs +2 -3
- package/dist/messages/block_translators/bedrock_converse.cjs.map +1 -1
- package/dist/messages/block_translators/bedrock_converse.js +1 -2
- package/dist/messages/block_translators/bedrock_converse.js.map +1 -1
- package/dist/messages/block_translators/data.cjs +3 -4
- package/dist/messages/block_translators/data.cjs.map +1 -1
- package/dist/messages/block_translators/data.js +1 -2
- package/dist/messages/block_translators/data.js.map +1 -1
- package/dist/messages/block_translators/deepseek.cjs +2 -3
- package/dist/messages/block_translators/deepseek.cjs.map +1 -1
- package/dist/messages/block_translators/deepseek.js +1 -2
- package/dist/messages/block_translators/deepseek.js.map +1 -1
- package/dist/messages/block_translators/google.cjs +2 -3
- package/dist/messages/block_translators/google.cjs.map +1 -1
- package/dist/messages/block_translators/google.js +1 -2
- package/dist/messages/block_translators/google.js.map +1 -1
- package/dist/messages/block_translators/google_genai.cjs +2 -3
- package/dist/messages/block_translators/google_genai.cjs.map +1 -1
- package/dist/messages/block_translators/google_genai.js +1 -2
- package/dist/messages/block_translators/google_genai.js.map +1 -1
- package/dist/messages/block_translators/google_vertexai.cjs +2 -3
- package/dist/messages/block_translators/google_vertexai.cjs.map +1 -1
- package/dist/messages/block_translators/google_vertexai.js +1 -2
- package/dist/messages/block_translators/google_vertexai.js.map +1 -1
- package/dist/messages/block_translators/groq.cjs +2 -3
- package/dist/messages/block_translators/groq.cjs.map +1 -1
- package/dist/messages/block_translators/groq.js +1 -2
- package/dist/messages/block_translators/groq.js.map +1 -1
- package/dist/messages/block_translators/index.cjs +11 -12
- package/dist/messages/block_translators/index.cjs.map +1 -1
- package/dist/messages/block_translators/index.js +1 -2
- package/dist/messages/block_translators/index.js.map +1 -1
- package/dist/messages/block_translators/ollama.cjs +2 -3
- package/dist/messages/block_translators/ollama.cjs.map +1 -1
- package/dist/messages/block_translators/ollama.js +1 -2
- package/dist/messages/block_translators/ollama.js.map +1 -1
- package/dist/messages/block_translators/openai.cjs +29 -4
- package/dist/messages/block_translators/openai.cjs.map +1 -1
- package/dist/messages/block_translators/openai.js +27 -2
- package/dist/messages/block_translators/openai.js.map +1 -1
- package/dist/messages/block_translators/utils.cjs +1 -2
- package/dist/messages/block_translators/utils.cjs.map +1 -1
- package/dist/messages/block_translators/utils.js +1 -1
- package/dist/messages/block_translators/xai.cjs +2 -3
- package/dist/messages/block_translators/xai.cjs.map +1 -1
- package/dist/messages/block_translators/xai.js +1 -2
- package/dist/messages/block_translators/xai.js.map +1 -1
- package/dist/messages/chat.cjs +2 -3
- package/dist/messages/chat.cjs.map +1 -1
- package/dist/messages/chat.js +1 -2
- package/dist/messages/chat.js.map +1 -1
- package/dist/messages/content/data.cjs +1 -2
- package/dist/messages/content/data.cjs.map +1 -1
- package/dist/messages/content/data.js +1 -1
- package/dist/messages/content/index.cjs +3 -4
- package/dist/messages/content/index.cjs.map +1 -1
- package/dist/messages/content/index.js +1 -2
- package/dist/messages/content/index.js.map +1 -1
- package/dist/messages/content/multimodal.cjs +1 -2
- package/dist/messages/content/multimodal.cjs.map +1 -1
- package/dist/messages/content/multimodal.js +1 -1
- package/dist/messages/content/tools.cjs +1 -2
- package/dist/messages/content/tools.cjs.map +1 -1
- package/dist/messages/content/tools.js +1 -1
- package/dist/messages/format.cjs +1 -2
- package/dist/messages/format.cjs.map +1 -1
- package/dist/messages/format.js +1 -1
- package/dist/messages/function.cjs +2 -3
- package/dist/messages/function.cjs.map +1 -1
- package/dist/messages/function.js +1 -2
- package/dist/messages/function.js.map +1 -1
- package/dist/messages/human.cjs +2 -3
- package/dist/messages/human.cjs.map +1 -1
- package/dist/messages/human.js +1 -2
- package/dist/messages/human.js.map +1 -1
- package/dist/messages/index.cjs +22 -23
- package/dist/messages/index.js +1 -2
- package/dist/messages/message.cjs +1 -2
- package/dist/messages/message.cjs.map +1 -1
- package/dist/messages/message.js +1 -1
- package/dist/messages/metadata.cjs +2 -3
- package/dist/messages/metadata.cjs.map +1 -1
- package/dist/messages/metadata.js +1 -2
- package/dist/messages/metadata.js.map +1 -1
- package/dist/messages/modifier.cjs +2 -3
- package/dist/messages/modifier.cjs.map +1 -1
- package/dist/messages/modifier.js +1 -2
- package/dist/messages/modifier.js.map +1 -1
- package/dist/messages/system.cjs +2 -3
- package/dist/messages/system.cjs.map +1 -1
- package/dist/messages/system.js +1 -2
- package/dist/messages/system.js.map +1 -1
- package/dist/messages/tool.cjs +9 -10
- package/dist/messages/tool.cjs.map +1 -1
- package/dist/messages/tool.js +1 -2
- package/dist/messages/tool.js.map +1 -1
- package/dist/messages/transformers.cjs +11 -12
- package/dist/messages/transformers.cjs.map +1 -1
- package/dist/messages/transformers.js +1 -2
- package/dist/messages/transformers.js.map +1 -1
- package/dist/messages/utils.cjs +12 -13
- package/dist/messages/utils.cjs.map +1 -1
- package/dist/messages/utils.js +1 -2
- package/dist/messages/utils.js.map +1 -1
- package/dist/output_parsers/base.cjs +4 -5
- package/dist/output_parsers/base.cjs.map +1 -1
- package/dist/output_parsers/base.d.ts +0 -4
- package/dist/output_parsers/base.d.ts.map +1 -1
- package/dist/output_parsers/base.js +1 -2
- package/dist/output_parsers/base.js.map +1 -1
- package/dist/output_parsers/bytes.cjs +2 -3
- package/dist/output_parsers/bytes.cjs.map +1 -1
- package/dist/output_parsers/bytes.js +1 -2
- package/dist/output_parsers/bytes.js.map +1 -1
- package/dist/output_parsers/index.cjs +18 -19
- package/dist/output_parsers/index.js +1 -2
- package/dist/output_parsers/json.cjs +5 -6
- package/dist/output_parsers/json.cjs.map +1 -1
- package/dist/output_parsers/json.d.ts +0 -1
- package/dist/output_parsers/json.d.ts.map +1 -1
- package/dist/output_parsers/json.js +2 -3
- package/dist/output_parsers/json.js.map +1 -1
- package/dist/output_parsers/list.cjs +3 -4
- package/dist/output_parsers/list.cjs.map +1 -1
- package/dist/output_parsers/list.d.ts +0 -1
- package/dist/output_parsers/list.d.ts.map +1 -1
- package/dist/output_parsers/list.js +1 -2
- package/dist/output_parsers/list.js.map +1 -1
- package/dist/output_parsers/openai_functions/index.cjs +9 -10
- package/dist/output_parsers/openai_functions/index.js +1 -2
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs +7 -8
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.cjs.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts +0 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.d.ts.map +1 -1
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js +1 -2
- package/dist/output_parsers/openai_functions/json_output_functions_parsers.js.map +1 -1
- package/dist/output_parsers/openai_tools/index.cjs +9 -10
- package/dist/output_parsers/openai_tools/index.js +1 -2
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs +7 -8
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.cjs.map +1 -1
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js +1 -2
- package/dist/output_parsers/openai_tools/json_output_tools_parsers.js.map +1 -1
- package/dist/output_parsers/standard_schema.cjs +4 -5
- package/dist/output_parsers/standard_schema.cjs.map +1 -1
- package/dist/output_parsers/standard_schema.js +1 -2
- package/dist/output_parsers/standard_schema.js.map +1 -1
- package/dist/output_parsers/string.cjs +2 -3
- package/dist/output_parsers/string.cjs.map +1 -1
- package/dist/output_parsers/string.d.ts +0 -1
- package/dist/output_parsers/string.d.ts.map +1 -1
- package/dist/output_parsers/string.js +1 -2
- package/dist/output_parsers/string.js.map +1 -1
- package/dist/output_parsers/structured.cjs +5 -6
- package/dist/output_parsers/structured.cjs.map +1 -1
- package/dist/output_parsers/structured.js +1 -2
- package/dist/output_parsers/structured.js.map +1 -1
- package/dist/output_parsers/transform.cjs +6 -7
- package/dist/output_parsers/transform.cjs.map +1 -1
- package/dist/output_parsers/transform.js +1 -2
- package/dist/output_parsers/transform.js.map +1 -1
- package/dist/output_parsers/xml.cjs +5 -6
- package/dist/output_parsers/xml.cjs.map +1 -1
- package/dist/output_parsers/xml.js +1 -2
- package/dist/output_parsers/xml.js.map +1 -1
- package/dist/outputs.cjs +8 -10
- package/dist/outputs.cjs.map +1 -1
- package/dist/outputs.js +1 -2
- package/dist/outputs.js.map +1 -1
- package/dist/prompt_values.cjs +11 -12
- package/dist/prompt_values.cjs.map +1 -1
- package/dist/prompt_values.js +1 -2
- package/dist/prompt_values.js.map +1 -1
- package/dist/prompts/base.cjs +2 -3
- package/dist/prompts/base.cjs.map +1 -1
- package/dist/prompts/base.d.ts +0 -2
- package/dist/prompts/base.d.ts.map +1 -1
- package/dist/prompts/base.js +1 -2
- package/dist/prompts/base.js.map +1 -1
- package/dist/prompts/chat.cjs +17 -18
- package/dist/prompts/chat.cjs.map +1 -1
- package/dist/prompts/chat.d.ts +0 -1
- package/dist/prompts/chat.d.ts.map +1 -1
- package/dist/prompts/chat.js +1 -2
- package/dist/prompts/chat.js.map +1 -1
- package/dist/prompts/dict.cjs +3 -4
- package/dist/prompts/dict.cjs.map +1 -1
- package/dist/prompts/dict.js +1 -2
- package/dist/prompts/dict.js.map +1 -1
- package/dist/prompts/few_shot.cjs +5 -6
- package/dist/prompts/few_shot.cjs.map +1 -1
- package/dist/prompts/few_shot.d.ts +0 -1
- package/dist/prompts/few_shot.d.ts.map +1 -1
- package/dist/prompts/few_shot.js +1 -2
- package/dist/prompts/few_shot.js.map +1 -1
- package/dist/prompts/image.cjs +4 -5
- package/dist/prompts/image.cjs.map +1 -1
- package/dist/prompts/image.d.ts +0 -1
- package/dist/prompts/image.d.ts.map +1 -1
- package/dist/prompts/image.js +1 -2
- package/dist/prompts/image.js.map +1 -1
- package/dist/prompts/index.cjs +18 -19
- package/dist/prompts/index.js +1 -2
- package/dist/prompts/pipeline.cjs +3 -4
- package/dist/prompts/pipeline.cjs.map +1 -1
- package/dist/prompts/pipeline.js +1 -2
- package/dist/prompts/pipeline.js.map +1 -1
- package/dist/prompts/prompt.cjs +3 -4
- package/dist/prompts/prompt.cjs.map +1 -1
- package/dist/prompts/prompt.d.ts +0 -1
- package/dist/prompts/prompt.d.ts.map +1 -1
- package/dist/prompts/prompt.js +1 -2
- package/dist/prompts/prompt.js.map +1 -1
- package/dist/prompts/serde.d.ts +0 -1
- package/dist/prompts/serde.d.ts.map +1 -1
- package/dist/prompts/string.cjs +3 -4
- package/dist/prompts/string.cjs.map +1 -1
- package/dist/prompts/string.js +1 -2
- package/dist/prompts/string.js.map +1 -1
- package/dist/prompts/structured.cjs +3 -4
- package/dist/prompts/structured.cjs.map +1 -1
- package/dist/prompts/structured.d.ts +0 -1
- package/dist/prompts/structured.d.ts.map +1 -1
- package/dist/prompts/structured.js +1 -2
- package/dist/prompts/structured.js.map +1 -1
- package/dist/prompts/template.cjs +3 -4
- package/dist/prompts/template.cjs.map +1 -1
- package/dist/prompts/template.d.ts +0 -2
- package/dist/prompts/template.d.ts.map +1 -1
- package/dist/prompts/template.js +1 -2
- package/dist/prompts/template.js.map +1 -1
- package/dist/retrievers/document_compressors/index.cjs +8 -10
- package/dist/retrievers/document_compressors/index.cjs.map +1 -1
- package/dist/retrievers/document_compressors/index.js +1 -2
- package/dist/retrievers/document_compressors/index.js.map +1 -1
- package/dist/retrievers/index.cjs +11 -12
- package/dist/retrievers/index.cjs.map +1 -1
- package/dist/retrievers/index.d.ts +0 -1
- package/dist/retrievers/index.d.ts.map +1 -1
- package/dist/retrievers/index.js +1 -2
- package/dist/retrievers/index.js.map +1 -1
- package/dist/runnables/base.cjs +32 -36
- package/dist/runnables/base.cjs.map +1 -1
- package/dist/runnables/base.d.cts.map +1 -1
- package/dist/runnables/base.d.ts.map +1 -1
- package/dist/runnables/base.js +15 -19
- package/dist/runnables/base.js.map +1 -1
- package/dist/runnables/branch.cjs +4 -5
- package/dist/runnables/branch.cjs.map +1 -1
- package/dist/runnables/branch.d.ts +0 -1
- package/dist/runnables/branch.d.ts.map +1 -1
- package/dist/runnables/branch.js +1 -2
- package/dist/runnables/branch.js.map +1 -1
- package/dist/runnables/config.cjs +4 -7
- package/dist/runnables/config.cjs.map +1 -1
- package/dist/runnables/config.js +2 -4
- package/dist/runnables/config.js.map +1 -1
- package/dist/runnables/graph.cjs +11 -12
- package/dist/runnables/graph.cjs.map +1 -1
- package/dist/runnables/graph.js +1 -2
- package/dist/runnables/graph.js.map +1 -1
- package/dist/runnables/graph_mermaid.cjs +2 -3
- package/dist/runnables/graph_mermaid.cjs.map +1 -1
- package/dist/runnables/graph_mermaid.js +1 -2
- package/dist/runnables/graph_mermaid.js.map +1 -1
- package/dist/runnables/history.cjs +7 -8
- package/dist/runnables/history.cjs.map +1 -1
- package/dist/runnables/history.d.ts +0 -2
- package/dist/runnables/history.d.ts.map +1 -1
- package/dist/runnables/history.js +1 -2
- package/dist/runnables/history.js.map +1 -1
- package/dist/runnables/index.cjs +15 -16
- package/dist/runnables/index.js +1 -2
- package/dist/runnables/iter.cjs +4 -5
- package/dist/runnables/iter.cjs.map +1 -1
- package/dist/runnables/iter.js +1 -2
- package/dist/runnables/iter.js.map +1 -1
- package/dist/runnables/passthrough.cjs +4 -5
- package/dist/runnables/passthrough.cjs.map +1 -1
- package/dist/runnables/passthrough.d.ts +0 -1
- package/dist/runnables/passthrough.d.ts.map +1 -1
- package/dist/runnables/passthrough.js +1 -2
- package/dist/runnables/passthrough.js.map +1 -1
- package/dist/runnables/router.cjs +3 -4
- package/dist/runnables/router.cjs.map +1 -1
- package/dist/runnables/router.d.ts +0 -1
- package/dist/runnables/router.d.ts.map +1 -1
- package/dist/runnables/router.js +1 -2
- package/dist/runnables/router.js.map +1 -1
- package/dist/runnables/utils.cjs +1 -2
- package/dist/runnables/utils.cjs.map +1 -1
- package/dist/runnables/utils.js +1 -1
- package/dist/runnables/utils.js.map +1 -1
- package/dist/runnables/wrappers.cjs +2 -3
- package/dist/runnables/wrappers.cjs.map +1 -1
- package/dist/runnables/wrappers.js +1 -2
- package/dist/runnables/wrappers.js.map +1 -1
- package/dist/singletons/async_local_storage/context.cjs +3 -4
- package/dist/singletons/async_local_storage/context.cjs.map +1 -1
- package/dist/singletons/async_local_storage/context.js +1 -2
- package/dist/singletons/async_local_storage/context.js.map +1 -1
- package/dist/singletons/async_local_storage/globals.cjs +1 -2
- package/dist/singletons/async_local_storage/globals.cjs.map +1 -1
- package/dist/singletons/async_local_storage/globals.js +1 -1
- package/dist/singletons/async_local_storage/globals.js.map +1 -1
- package/dist/singletons/async_local_storage/index.cjs +4 -5
- package/dist/singletons/async_local_storage/index.cjs.map +1 -1
- package/dist/singletons/async_local_storage/index.js +1 -2
- package/dist/singletons/async_local_storage/index.js.map +1 -1
- package/dist/singletons/callbacks.cjs +4 -5
- package/dist/singletons/callbacks.cjs.map +1 -1
- package/dist/singletons/callbacks.js +1 -2
- package/dist/singletons/callbacks.js.map +1 -1
- package/dist/singletons/index.cjs +10 -11
- package/dist/singletons/index.js +1 -2
- package/dist/singletons/tracer.cjs +3 -4
- package/dist/singletons/tracer.cjs.map +1 -1
- package/dist/singletons/tracer.js +1 -2
- package/dist/singletons/tracer.js.map +1 -1
- package/dist/stores.cjs +9 -10
- package/dist/stores.cjs.map +1 -1
- package/dist/stores.js +1 -2
- package/dist/stores.js.map +1 -1
- package/dist/structured_query/base.cjs +3 -4
- package/dist/structured_query/base.cjs.map +1 -1
- package/dist/structured_query/base.js +1 -2
- package/dist/structured_query/base.js.map +1 -1
- package/dist/structured_query/functional.cjs +4 -5
- package/dist/structured_query/functional.cjs.map +1 -1
- package/dist/structured_query/functional.js +1 -2
- package/dist/structured_query/functional.js.map +1 -1
- package/dist/structured_query/index.cjs +12 -13
- package/dist/structured_query/index.js +1 -2
- package/dist/structured_query/ir.cjs +1 -2
- package/dist/structured_query/ir.cjs.map +1 -1
- package/dist/structured_query/ir.js +1 -1
- package/dist/structured_query/ir.js.map +1 -1
- package/dist/structured_query/utils.cjs +1 -2
- package/dist/structured_query/utils.cjs.map +1 -1
- package/dist/structured_query/utils.js +1 -1
- package/dist/testing/fake_model_builder.cjs +6 -7
- package/dist/testing/fake_model_builder.cjs.map +1 -1
- package/dist/testing/fake_model_builder.d.ts +0 -1
- package/dist/testing/fake_model_builder.d.ts.map +1 -1
- package/dist/testing/fake_model_builder.js +1 -2
- package/dist/testing/fake_model_builder.js.map +1 -1
- package/dist/testing/index.cjs +10 -11
- package/dist/testing/index.js +1 -2
- package/dist/testing/matchers.cjs +7 -8
- package/dist/testing/matchers.cjs.map +1 -1
- package/dist/testing/matchers.js +1 -2
- package/dist/testing/matchers.js.map +1 -1
- package/dist/tools/index.cjs +20 -21
- package/dist/tools/index.cjs.map +1 -1
- package/dist/tools/index.d.cts +1 -1
- package/dist/tools/index.d.cts.map +1 -1
- package/dist/tools/index.d.ts +1 -3
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/types.cjs +3 -4
- package/dist/tools/types.cjs.map +1 -1
- package/dist/tools/types.d.ts +0 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +1 -2
- package/dist/tools/types.js.map +1 -1
- package/dist/tools/utils.cjs +1 -2
- package/dist/tools/utils.cjs.map +1 -1
- package/dist/tools/utils.js +1 -1
- package/dist/tracers/base.cjs +10 -11
- package/dist/tracers/base.cjs.map +1 -1
- package/dist/tracers/base.js +1 -2
- package/dist/tracers/base.js.map +1 -1
- package/dist/tracers/console.cjs +9 -10
- package/dist/tracers/console.cjs.map +1 -1
- package/dist/tracers/console.js +1 -2
- package/dist/tracers/console.js.map +1 -1
- package/dist/tracers/event_stream.cjs +5 -6
- package/dist/tracers/event_stream.cjs.map +1 -1
- package/dist/tracers/event_stream.d.ts +0 -2
- package/dist/tracers/event_stream.d.ts.map +1 -1
- package/dist/tracers/event_stream.js +1 -2
- package/dist/tracers/event_stream.js.map +1 -1
- package/dist/tracers/log_stream.cjs +13 -14
- package/dist/tracers/log_stream.cjs.map +1 -1
- package/dist/tracers/log_stream.js +1 -2
- package/dist/tracers/log_stream.js.map +1 -1
- package/dist/tracers/root_listener.cjs +2 -3
- package/dist/tracers/root_listener.cjs.map +1 -1
- package/dist/tracers/root_listener.js +1 -2
- package/dist/tracers/root_listener.js.map +1 -1
- package/dist/tracers/run_collector.cjs +9 -10
- package/dist/tracers/run_collector.cjs.map +1 -1
- package/dist/tracers/run_collector.js +1 -2
- package/dist/tracers/run_collector.js.map +1 -1
- package/dist/tracers/tracer_langchain.cjs +12 -13
- package/dist/tracers/tracer_langchain.cjs.map +1 -1
- package/dist/tracers/tracer_langchain.js +1 -2
- package/dist/tracers/tracer_langchain.js.map +1 -1
- package/dist/types/stream.cjs +8 -10
- package/dist/types/stream.js +1 -2
- package/dist/utils/async_caller.cjs +10 -11
- package/dist/utils/async_caller.cjs.map +1 -1
- package/dist/utils/async_caller.js +1 -2
- package/dist/utils/async_caller.js.map +1 -1
- package/dist/utils/callbacks.cjs +2 -3
- package/dist/utils/callbacks.cjs.map +1 -1
- package/dist/utils/callbacks.js +1 -2
- package/dist/utils/callbacks.js.map +1 -1
- package/dist/utils/chunk_array.cjs +8 -10
- package/dist/utils/chunk_array.cjs.map +1 -1
- package/dist/utils/chunk_array.js +1 -2
- package/dist/utils/chunk_array.js.map +1 -1
- package/dist/utils/context.cjs +8 -10
- package/dist/utils/context.cjs.map +1 -1
- package/dist/utils/context.js +1 -2
- package/dist/utils/context.js.map +1 -1
- package/dist/utils/env.cjs +8 -10
- package/dist/utils/env.cjs.map +1 -1
- package/dist/utils/env.js +1 -2
- package/dist/utils/env.js.map +1 -1
- package/dist/utils/event_source_parse.cjs +9 -10
- package/dist/utils/event_source_parse.cjs.map +1 -1
- package/dist/utils/event_source_parse.js +1 -2
- package/dist/utils/event_source_parse.js.map +1 -1
- package/dist/utils/fast-json-patch/index.cjs +5 -16
- package/dist/utils/fast-json-patch/index.cjs.map +1 -1
- package/dist/utils/fast-json-patch/index.js +6 -17
- package/dist/utils/fast-json-patch/index.js.map +1 -1
- package/dist/utils/fast-json-patch/src/core.cjs +8 -9
- package/dist/utils/fast-json-patch/src/core.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/core.js +1 -2
- package/dist/utils/fast-json-patch/src/core.js.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.cjs +3 -4
- package/dist/utils/fast-json-patch/src/duplex.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/duplex.js +1 -2
- package/dist/utils/fast-json-patch/src/duplex.js.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.cjs +1 -2
- package/dist/utils/fast-json-patch/src/helpers.cjs.map +1 -1
- package/dist/utils/fast-json-patch/src/helpers.js +1 -1
- package/dist/utils/fast-json-patch/src/helpers.js.map +1 -1
- package/dist/utils/format.cjs +8 -10
- package/dist/utils/format.js +1 -2
- package/dist/utils/function_calling.cjs +10 -11
- package/dist/utils/function_calling.cjs.map +1 -1
- package/dist/utils/function_calling.js +1 -2
- package/dist/utils/function_calling.js.map +1 -1
- package/dist/utils/hash.cjs +9 -10
- package/dist/utils/hash.js +1 -2
- package/dist/utils/is-network-error/index.cjs +1 -2
- package/dist/utils/is-network-error/index.cjs.map +1 -1
- package/dist/utils/is-network-error/index.js +1 -1
- package/dist/utils/is-network-error/index.js.map +1 -1
- package/dist/utils/js-sha256/hash.cjs +1 -3
- package/dist/utils/js-sha256/hash.cjs.map +1 -1
- package/dist/utils/js-sha256/hash.js +1 -1
- package/dist/utils/js-sha256/hash.js.map +1 -1
- package/dist/utils/json.cjs +1 -2
- package/dist/utils/json.cjs.map +1 -1
- package/dist/utils/json.js +1 -1
- package/dist/utils/json_patch.cjs +11 -12
- package/dist/utils/json_patch.js +1 -2
- package/dist/utils/json_schema.cjs +22 -23
- package/dist/utils/json_schema.cjs.map +1 -1
- package/dist/utils/json_schema.d.ts +0 -1
- package/dist/utils/json_schema.d.ts.map +1 -1
- package/dist/utils/json_schema.js +1 -2
- package/dist/utils/json_schema.js.map +1 -1
- package/dist/utils/math.cjs +11 -12
- package/dist/utils/math.cjs.map +1 -1
- package/dist/utils/math.js +1 -2
- package/dist/utils/math.js.map +1 -1
- package/dist/utils/ml-distance/distances.cjs +1 -2
- package/dist/utils/ml-distance/distances.cjs.map +1 -1
- package/dist/utils/ml-distance/distances.js +1 -1
- package/dist/utils/ml-distance/similarities.cjs +1 -2
- package/dist/utils/ml-distance/similarities.cjs.map +1 -1
- package/dist/utils/ml-distance/similarities.js +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.cjs +1 -2
- package/dist/utils/ml-distance-euclidean/euclidean.cjs.map +1 -1
- package/dist/utils/ml-distance-euclidean/euclidean.js +1 -1
- package/dist/utils/namespace.cjs +1 -2
- package/dist/utils/namespace.cjs.map +1 -1
- package/dist/utils/namespace.js +1 -1
- package/dist/utils/p-retry/index.cjs +2 -3
- package/dist/utils/p-retry/index.cjs.map +1 -1
- package/dist/utils/p-retry/index.js +1 -2
- package/dist/utils/p-retry/index.js.map +1 -1
- package/dist/utils/sax-js/sax.cjs +1 -2
- package/dist/utils/sax-js/sax.cjs.map +1 -1
- package/dist/utils/sax-js/sax.js +1 -1
- package/dist/utils/signal.cjs +1 -2
- package/dist/utils/signal.cjs.map +1 -1
- package/dist/utils/signal.js +1 -1
- package/dist/utils/signal.js.map +1 -1
- package/dist/utils/ssrf.cjs +8 -10
- package/dist/utils/ssrf.cjs.map +1 -1
- package/dist/utils/ssrf.js +1 -2
- package/dist/utils/ssrf.js.map +1 -1
- package/dist/utils/standard_schema.cjs +8 -10
- package/dist/utils/standard_schema.cjs.map +1 -1
- package/dist/utils/standard_schema.js +1 -2
- package/dist/utils/standard_schema.js.map +1 -1
- package/dist/utils/stream.cjs +13 -14
- package/dist/utils/stream.cjs.map +1 -1
- package/dist/utils/stream.d.cts.map +1 -1
- package/dist/utils/stream.d.ts.map +1 -1
- package/dist/utils/stream.js +2 -3
- package/dist/utils/stream.js.map +1 -1
- package/dist/utils/testing/chat_models.cjs +7 -8
- package/dist/utils/testing/chat_models.cjs.map +1 -1
- package/dist/utils/testing/chat_models.d.ts +0 -1
- package/dist/utils/testing/chat_models.d.ts.map +1 -1
- package/dist/utils/testing/chat_models.js +1 -2
- package/dist/utils/testing/chat_models.js.map +1 -1
- package/dist/utils/testing/embeddings.cjs +2 -3
- package/dist/utils/testing/embeddings.cjs.map +1 -1
- package/dist/utils/testing/embeddings.js +1 -2
- package/dist/utils/testing/embeddings.js.map +1 -1
- package/dist/utils/testing/index.cjs +18 -19
- package/dist/utils/testing/index.js +1 -2
- package/dist/utils/testing/llms.cjs +2 -3
- package/dist/utils/testing/llms.cjs.map +1 -1
- package/dist/utils/testing/llms.js +1 -2
- package/dist/utils/testing/llms.js.map +1 -1
- package/dist/utils/testing/message_history.cjs +6 -7
- package/dist/utils/testing/message_history.cjs.map +1 -1
- package/dist/utils/testing/message_history.d.ts +0 -1
- package/dist/utils/testing/message_history.d.ts.map +1 -1
- package/dist/utils/testing/message_history.js +1 -2
- package/dist/utils/testing/message_history.js.map +1 -1
- package/dist/utils/testing/output_parsers.cjs +2 -3
- package/dist/utils/testing/output_parsers.cjs.map +1 -1
- package/dist/utils/testing/output_parsers.js +1 -2
- package/dist/utils/testing/output_parsers.js.map +1 -1
- package/dist/utils/testing/retrievers.cjs +3 -4
- package/dist/utils/testing/retrievers.cjs.map +1 -1
- package/dist/utils/testing/retrievers.js +1 -2
- package/dist/utils/testing/retrievers.js.map +1 -1
- package/dist/utils/testing/runnables.cjs +2 -3
- package/dist/utils/testing/runnables.cjs.map +1 -1
- package/dist/utils/testing/runnables.js +1 -2
- package/dist/utils/testing/runnables.js.map +1 -1
- package/dist/utils/testing/tools.cjs +2 -3
- package/dist/utils/testing/tools.cjs.map +1 -1
- package/dist/utils/testing/tools.js +1 -2
- package/dist/utils/testing/tools.js.map +1 -1
- package/dist/utils/testing/tracers.cjs +2 -3
- package/dist/utils/testing/tracers.cjs.map +1 -1
- package/dist/utils/testing/tracers.js +1 -2
- package/dist/utils/testing/tracers.js.map +1 -1
- package/dist/utils/testing/vectorstores.cjs +4 -5
- package/dist/utils/testing/vectorstores.cjs.map +1 -1
- package/dist/utils/testing/vectorstores.js +1 -2
- package/dist/utils/testing/vectorstores.js.map +1 -1
- package/dist/utils/tiktoken.cjs +9 -10
- package/dist/utils/tiktoken.cjs.map +1 -1
- package/dist/utils/tiktoken.js +1 -2
- package/dist/utils/tiktoken.js.map +1 -1
- package/dist/utils/types/index.cjs +9 -10
- package/dist/utils/types/index.js +1 -2
- package/dist/utils/types/zod.cjs +2 -3
- package/dist/utils/types/zod.cjs.map +1 -1
- package/dist/utils/types/zod.js +1 -2
- package/dist/utils/types/zod.js.map +1 -1
- package/dist/utils/zod-to-json-schema/Options.cjs +1 -2
- package/dist/utils/zod-to-json-schema/Options.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Options.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/Options.js +1 -1
- package/dist/utils/zod-to-json-schema/Options.js.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.cjs +2 -3
- package/dist/utils/zod-to-json-schema/Refs.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/Refs.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/Refs.js +1 -2
- package/dist/utils/zod-to-json-schema/Refs.js.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.cjs +1 -2
- package/dist/utils/zod-to-json-schema/errorMessages.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/errorMessages.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/errorMessages.js +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.cjs +1 -2
- package/dist/utils/zod-to-json-schema/getRelativePath.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/getRelativePath.js +1 -1
- package/dist/utils/zod-to-json-schema/index.cjs +37 -37
- package/dist/utils/zod-to-json-schema/index.d.ts +1 -14
- package/dist/utils/zod-to-json-schema/index.js +38 -39
- package/dist/utils/zod-to-json-schema/parseDef.cjs +5 -6
- package/dist/utils/zod-to-json-schema/parseDef.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parseDef.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parseDef.js +1 -2
- package/dist/utils/zod-to-json-schema/parseDef.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/any.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/any.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/any.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/any.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.cjs +4 -5
- package/dist/utils/zod-to-json-schema/parsers/array.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/array.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/array.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/array.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/bigint.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/bigint.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/bigint.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/bigint.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/boolean.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/boolean.js +1 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/branded.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/branded.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/branded.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/branded.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/catch.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/catch.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/catch.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/catch.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/date.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts +0 -4
- package/dist/utils/zod-to-json-schema/parsers/date.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/date.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/date.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/default.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/default.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/default.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/default.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/effects.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/effects.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/effects.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/effects.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/enum.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/enum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/enum.js +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/intersection.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/intersection.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/intersection.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/intersection.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/literal.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/literal.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/literal.js +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.cjs +4 -5
- package/dist/utils/zod-to-json-schema/parsers/map.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts +0 -4
- package/dist/utils/zod-to-json-schema/parsers/map.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/map.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/map.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nativeEnum.js +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/never.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/never.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/never.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/never.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.cjs +1 -2
- package/dist/utils/zod-to-json-schema/parsers/null.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/null.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/null.js +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/nullable.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/nullable.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/nullable.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/nullable.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/number.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/number.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/number.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/number.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/object.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/object.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/object.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/object.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/optional.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/optional.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/optional.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/optional.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/pipeline.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/pipeline.d.ts +1 -4
- package/dist/utils/zod-to-json-schema/parsers/pipeline.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/pipeline.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/promise.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/promise.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/promise.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/promise.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/readonly.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/readonly.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/parsers/readonly.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/readonly.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.cjs +6 -7
- package/dist/utils/zod-to-json-schema/parsers/record.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/record.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/record.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/record.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.cjs +3 -4
- package/dist/utils/zod-to-json-schema/parsers/set.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/set.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/set.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/set.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/string.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/string.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/string.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/string.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/tuple.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/tuple.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/tuple.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/tuple.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/undefined.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/undefined.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/undefined.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/undefined.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/union.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts +0 -3
- package/dist/utils/zod-to-json-schema/parsers/union.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/union.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/union.js.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.cjs +2 -3
- package/dist/utils/zod-to-json-schema/parsers/unknown.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/parsers/unknown.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema/parsers/unknown.js +1 -2
- package/dist/utils/zod-to-json-schema/parsers/unknown.js.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.cjs +32 -33
- package/dist/utils/zod-to-json-schema/selectParser.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/selectParser.d.ts +0 -2
- package/dist/utils/zod-to-json-schema/selectParser.js +1 -2
- package/dist/utils/zod-to-json-schema/selectParser.js.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs +4 -5
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.cjs.map +1 -1
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.d.ts +1 -3
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.js +1 -2
- package/dist/utils/zod-to-json-schema/zodToJsonSchema.js.map +1 -1
- package/dist/vectorstores.cjs +10 -11
- package/dist/vectorstores.cjs.map +1 -1
- package/dist/vectorstores.js +1 -2
- package/dist/vectorstores.js.map +1 -1
- package/package.json +1 -1
- package/agents.cjs +0 -1
- package/agents.d.cts +0 -1
- package/agents.d.ts +0 -1
- package/agents.js +0 -1
- package/caches.cjs +0 -1
- package/caches.d.cts +0 -1
- package/caches.d.ts +0 -1
- package/caches.js +0 -1
- package/callbacks/base.cjs +0 -1
- package/callbacks/base.d.cts +0 -1
- package/callbacks/base.d.ts +0 -1
- package/callbacks/base.js +0 -1
- package/callbacks/dispatch/web.cjs +0 -1
- package/callbacks/dispatch/web.d.cts +0 -1
- package/callbacks/dispatch/web.d.ts +0 -1
- package/callbacks/dispatch/web.js +0 -1
- package/callbacks/dispatch.cjs +0 -1
- package/callbacks/dispatch.d.cts +0 -1
- package/callbacks/dispatch.d.ts +0 -1
- package/callbacks/dispatch.js +0 -1
- package/callbacks/manager.cjs +0 -1
- package/callbacks/manager.d.cts +0 -1
- package/callbacks/manager.d.ts +0 -1
- package/callbacks/manager.js +0 -1
- package/callbacks/promises.cjs +0 -1
- package/callbacks/promises.d.cts +0 -1
- package/callbacks/promises.d.ts +0 -1
- package/callbacks/promises.js +0 -1
- package/chat_history.cjs +0 -1
- package/chat_history.d.cts +0 -1
- package/chat_history.d.ts +0 -1
- package/chat_history.js +0 -1
- package/context.cjs +0 -1
- package/context.d.cts +0 -1
- package/context.d.ts +0 -1
- package/context.js +0 -1
- package/document_loaders/base.cjs +0 -1
- package/document_loaders/base.d.cts +0 -1
- package/document_loaders/base.d.ts +0 -1
- package/document_loaders/base.js +0 -1
- package/document_loaders/langsmith.cjs +0 -1
- package/document_loaders/langsmith.d.cts +0 -1
- package/document_loaders/langsmith.d.ts +0 -1
- package/document_loaders/langsmith.js +0 -1
- package/documents.cjs +0 -1
- package/documents.d.cts +0 -1
- package/documents.d.ts +0 -1
- package/documents.js +0 -1
- package/embeddings.cjs +0 -1
- package/embeddings.d.cts +0 -1
- package/embeddings.d.ts +0 -1
- package/embeddings.js +0 -1
- package/errors.cjs +0 -1
- package/errors.d.cts +0 -1
- package/errors.d.ts +0 -1
- package/errors.js +0 -1
- package/example_selectors.cjs +0 -1
- package/example_selectors.d.cts +0 -1
- package/example_selectors.d.ts +0 -1
- package/example_selectors.js +0 -1
- package/indexing.cjs +0 -1
- package/indexing.d.cts +0 -1
- package/indexing.d.ts +0 -1
- package/indexing.js +0 -1
- package/language_models/base.cjs +0 -1
- package/language_models/base.d.cts +0 -1
- package/language_models/base.d.ts +0 -1
- package/language_models/base.js +0 -1
- package/language_models/chat_models.cjs +0 -1
- package/language_models/chat_models.d.cts +0 -1
- package/language_models/chat_models.d.ts +0 -1
- package/language_models/chat_models.js +0 -1
- package/language_models/llms.cjs +0 -1
- package/language_models/llms.d.cts +0 -1
- package/language_models/llms.d.ts +0 -1
- package/language_models/llms.js +0 -1
- package/language_models/profile.cjs +0 -1
- package/language_models/profile.d.cts +0 -1
- package/language_models/profile.d.ts +0 -1
- package/language_models/profile.js +0 -1
- package/language_models/structured_output.cjs +0 -1
- package/language_models/structured_output.d.cts +0 -1
- package/language_models/structured_output.d.ts +0 -1
- package/language_models/structured_output.js +0 -1
- package/load/serializable.cjs +0 -1
- package/load/serializable.d.cts +0 -1
- package/load/serializable.d.ts +0 -1
- package/load/serializable.js +0 -1
- package/load.cjs +0 -1
- package/load.d.cts +0 -1
- package/load.d.ts +0 -1
- package/load.js +0 -1
- package/memory.cjs +0 -1
- package/memory.d.cts +0 -1
- package/memory.d.ts +0 -1
- package/memory.js +0 -1
- package/messages/tool.cjs +0 -1
- package/messages/tool.d.cts +0 -1
- package/messages/tool.d.ts +0 -1
- package/messages/tool.js +0 -1
- package/messages.cjs +0 -1
- package/messages.d.cts +0 -1
- package/messages.d.ts +0 -1
- package/messages.js +0 -1
- package/output_parsers/openai_functions.cjs +0 -1
- package/output_parsers/openai_functions.d.cts +0 -1
- package/output_parsers/openai_functions.d.ts +0 -1
- package/output_parsers/openai_functions.js +0 -1
- package/output_parsers/openai_tools.cjs +0 -1
- package/output_parsers/openai_tools.d.cts +0 -1
- package/output_parsers/openai_tools.d.ts +0 -1
- package/output_parsers/openai_tools.js +0 -1
- package/output_parsers.cjs +0 -1
- package/output_parsers.d.cts +0 -1
- package/output_parsers.d.ts +0 -1
- package/output_parsers.js +0 -1
- package/outputs.cjs +0 -1
- package/outputs.d.cts +0 -1
- package/outputs.d.ts +0 -1
- package/outputs.js +0 -1
- package/prompt_values.cjs +0 -1
- package/prompt_values.d.cts +0 -1
- package/prompt_values.d.ts +0 -1
- package/prompt_values.js +0 -1
- package/prompts.cjs +0 -1
- package/prompts.d.cts +0 -1
- package/prompts.d.ts +0 -1
- package/prompts.js +0 -1
- package/retrievers/document_compressors.cjs +0 -1
- package/retrievers/document_compressors.d.cts +0 -1
- package/retrievers/document_compressors.d.ts +0 -1
- package/retrievers/document_compressors.js +0 -1
- package/retrievers.cjs +0 -1
- package/retrievers.d.cts +0 -1
- package/retrievers.d.ts +0 -1
- package/retrievers.js +0 -1
- package/runnables/graph.cjs +0 -1
- package/runnables/graph.d.cts +0 -1
- package/runnables/graph.d.ts +0 -1
- package/runnables/graph.js +0 -1
- package/runnables.cjs +0 -1
- package/runnables.d.cts +0 -1
- package/runnables.d.ts +0 -1
- package/runnables.js +0 -1
- package/singletons.cjs +0 -1
- package/singletons.d.cts +0 -1
- package/singletons.d.ts +0 -1
- package/singletons.js +0 -1
- package/stores.cjs +0 -1
- package/stores.d.cts +0 -1
- package/stores.d.ts +0 -1
- package/stores.js +0 -1
- package/structured_query.cjs +0 -1
- package/structured_query.d.cts +0 -1
- package/structured_query.d.ts +0 -1
- package/structured_query.js +0 -1
- package/tools.cjs +0 -1
- package/tools.d.cts +0 -1
- package/tools.d.ts +0 -1
- package/tools.js +0 -1
- package/tracers/base.cjs +0 -1
- package/tracers/base.d.cts +0 -1
- package/tracers/base.d.ts +0 -1
- package/tracers/base.js +0 -1
- package/tracers/console.cjs +0 -1
- package/tracers/console.d.cts +0 -1
- package/tracers/console.d.ts +0 -1
- package/tracers/console.js +0 -1
- package/tracers/log_stream.cjs +0 -1
- package/tracers/log_stream.d.cts +0 -1
- package/tracers/log_stream.d.ts +0 -1
- package/tracers/log_stream.js +0 -1
- package/tracers/run_collector.cjs +0 -1
- package/tracers/run_collector.d.cts +0 -1
- package/tracers/run_collector.d.ts +0 -1
- package/tracers/run_collector.js +0 -1
- package/tracers/tracer_langchain.cjs +0 -1
- package/tracers/tracer_langchain.d.cts +0 -1
- package/tracers/tracer_langchain.d.ts +0 -1
- package/tracers/tracer_langchain.js +0 -1
- package/types/stream.cjs +0 -1
- package/types/stream.d.cts +0 -1
- package/types/stream.d.ts +0 -1
- package/types/stream.js +0 -1
- package/utils/async_caller.cjs +0 -1
- package/utils/async_caller.d.cts +0 -1
- package/utils/async_caller.d.ts +0 -1
- package/utils/async_caller.js +0 -1
- package/utils/chunk_array.cjs +0 -1
- package/utils/chunk_array.d.cts +0 -1
- package/utils/chunk_array.d.ts +0 -1
- package/utils/chunk_array.js +0 -1
- package/utils/context.cjs +0 -1
- package/utils/context.d.cts +0 -1
- package/utils/context.d.ts +0 -1
- package/utils/context.js +0 -1
- package/utils/env.cjs +0 -1
- package/utils/env.d.cts +0 -1
- package/utils/env.d.ts +0 -1
- package/utils/env.js +0 -1
- package/utils/event_source_parse.cjs +0 -1
- package/utils/event_source_parse.d.cts +0 -1
- package/utils/event_source_parse.d.ts +0 -1
- package/utils/event_source_parse.js +0 -1
- package/utils/format.cjs +0 -1
- package/utils/format.d.cts +0 -1
- package/utils/format.d.ts +0 -1
- package/utils/format.js +0 -1
- package/utils/function_calling.cjs +0 -1
- package/utils/function_calling.d.cts +0 -1
- package/utils/function_calling.d.ts +0 -1
- package/utils/function_calling.js +0 -1
- package/utils/hash.cjs +0 -1
- package/utils/hash.d.cts +0 -1
- package/utils/hash.d.ts +0 -1
- package/utils/hash.js +0 -1
- package/utils/json_patch.cjs +0 -1
- package/utils/json_patch.d.cts +0 -1
- package/utils/json_patch.d.ts +0 -1
- package/utils/json_patch.js +0 -1
- package/utils/json_schema.cjs +0 -1
- package/utils/json_schema.d.cts +0 -1
- package/utils/json_schema.d.ts +0 -1
- package/utils/json_schema.js +0 -1
- package/utils/math.cjs +0 -1
- package/utils/math.d.cts +0 -1
- package/utils/math.d.ts +0 -1
- package/utils/math.js +0 -1
- package/utils/ssrf.cjs +0 -1
- package/utils/ssrf.d.cts +0 -1
- package/utils/ssrf.d.ts +0 -1
- package/utils/ssrf.js +0 -1
- package/utils/standard_schema.cjs +0 -1
- package/utils/standard_schema.d.cts +0 -1
- package/utils/standard_schema.d.ts +0 -1
- package/utils/standard_schema.js +0 -1
- package/utils/stream.cjs +0 -1
- package/utils/stream.d.cts +0 -1
- package/utils/stream.d.ts +0 -1
- package/utils/stream.js +0 -1
- package/utils/testing.cjs +0 -1
- package/utils/testing.d.cts +0 -1
- package/utils/testing.d.ts +0 -1
- package/utils/testing.js +0 -1
- package/utils/tiktoken.cjs +0 -1
- package/utils/tiktoken.d.cts +0 -1
- package/utils/tiktoken.d.ts +0 -1
- package/utils/tiktoken.js +0 -1
- package/utils/types.cjs +0 -1
- package/utils/types.d.cts +0 -1
- package/utils/types.d.ts +0 -1
- package/utils/types.js +0 -1
- package/vectorstores.cjs +0 -1
- package/vectorstores.d.cts +0 -1
- package/vectorstores.d.ts +0 -1
- package/vectorstores.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/core.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\ndeclare var require: any;\n\nimport {\n PatchError,\n _deepClone,\n isInteger,\n unescapePathComponent,\n hasUndefined,\n} from \"./helpers.js\";\n\nexport const JsonPatchError = PatchError;\nexport const deepClone = _deepClone;\n\nexport type Operation =\n | AddOperation<any>\n | RemoveOperation\n | ReplaceOperation<any>\n | MoveOperation\n | CopyOperation\n | TestOperation<any>\n | GetOperation<any>;\n\nexport interface Validator<T> {\n (\n operation: Operation,\n index: number,\n document: T,\n existingPathFragment: string\n ): void;\n}\n\nexport interface OperationResult<T> {\n removed?: any;\n test?: boolean;\n newDocument: T;\n}\n\nexport interface BaseOperation {\n path: string;\n}\n\nexport interface AddOperation<T> extends BaseOperation {\n op: \"add\";\n value: T;\n}\n\nexport interface RemoveOperation extends BaseOperation {\n op: \"remove\";\n}\n\nexport interface ReplaceOperation<T> extends BaseOperation {\n op: \"replace\";\n value: T;\n}\n\nexport interface MoveOperation extends BaseOperation {\n op: \"move\";\n from: string;\n}\n\nexport interface CopyOperation extends BaseOperation {\n op: \"copy\";\n from: string;\n}\n\nexport interface TestOperation<T> extends BaseOperation {\n op: \"test\";\n value: T;\n}\n\nexport interface GetOperation<T> extends BaseOperation {\n op: \"_get\";\n value: T;\n}\nexport interface PatchResult<T> extends Array<OperationResult<T>> {\n newDocument: T;\n}\n\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n\n/* The operations applicable to an object */\nconst objOps = {\n add: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed };\n },\n replace: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n let removed = getValueByPointer(document, this.path);\n\n if (removed) {\n removed = _deepClone(removed);\n }\n\n const originalValue = applyOperation(document, {\n op: \"remove\",\n path: this.from,\n }).removed;\n\n applyOperation(document, {\n op: \"add\",\n path: this.path,\n value: originalValue,\n });\n\n return { newDocument: document, removed };\n },\n copy: function (obj, key, document) {\n const valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, {\n op: \"add\",\n path: this.path,\n value: _deepClone(valueToCopy),\n });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n },\n};\n\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n } else {\n // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get,\n};\n\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document: any, pointer: string): any {\n if (pointer == \"\") {\n return document;\n }\n var getOriginalDestination = <GetOperation<any>>{ op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation<T>(\n document: T,\n operation: Operation,\n validateOperation: boolean | Validator<T> = false,\n mutateDocument: boolean = true,\n banPrototypeModifications: boolean = true,\n index: number = 0\n): OperationResult<T> {\n if (validateOperation) {\n if (typeof validateOperation == \"function\") {\n validateOperation(operation, 0, document, operation.path);\n } else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n let returnValue: OperationResult<T> = { newDocument: document };\n if (operation.op === \"add\") {\n returnValue.newDocument = operation.value;\n return returnValue;\n } else if (operation.op === \"replace\") {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n } else if (operation.op === \"move\" || operation.op === \"copy\") {\n // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === \"move\") {\n // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n } else if (operation.op === \"test\") {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n returnValue.newDocument = document;\n return returnValue;\n } else if (operation.op === \"remove\") {\n // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n } else if (operation.op === \"_get\") {\n operation.value = document;\n return returnValue;\n } else {\n /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError(\n \"Operation `op` property is not one of operations defined in RFC-6902\",\n \"OPERATION_OP_INVALID\",\n index,\n operation,\n document\n );\n } else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */ else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n const path = operation.path || \"\";\n const keys = path.split(\"/\");\n let obj = document;\n let t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n let len = keys.length;\n let existingPathFragment = undefined;\n let key: string | number;\n let validateFunction;\n if (typeof validateOperation == \"function\") {\n validateFunction = validateOperation;\n } else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf(\"~\") != -1) {\n key = unescapePathComponent(key);\n }\n\n if (\n banPrototypeModifications &&\n (key == \"__proto__\" ||\n (key == \"prototype\" && t > 0 && keys[t - 1] == \"constructor\"))\n ) {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README\"\n );\n }\n\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join(\"/\");\n } else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === \"-\") {\n key = obj.length;\n } else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\n \"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\",\n \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\",\n index,\n operation,\n document\n );\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\n \"The specified index MUST NOT be greater than the number of elements in the array\",\n \"OPERATION_VALUE_OUT_OF_BOUNDS\",\n index,\n operation,\n document\n );\n }\n const returnValue = arrOps[operation.op].call(\n operation,\n obj,\n key,\n document\n ); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return returnValue;\n }\n } else {\n if (t >= len) {\n const returnValue = objOps[operation.op].call(\n operation,\n obj,\n key,\n document\n ); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError(\n \"Cannot perform operation at the desired path\",\n \"OPERATION_PATH_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n }\n }\n}\n\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch<T>(\n document: T,\n patch: ReadonlyArray<Operation>,\n validateOperation?: boolean | Validator<T>,\n mutateDocument: boolean = true,\n banPrototypeModifications: boolean = true\n): PatchResult<T> {\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError(\n \"Patch sequence must be an array\",\n \"SEQUENCE_NOT_AN_ARRAY\"\n );\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n const results = new Array(patch.length) as PatchResult<T>;\n\n for (let i = 0, length = patch.length; i < length; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(\n document,\n patch[i],\n validateOperation,\n true,\n banPrototypeModifications,\n i\n );\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer<T>(\n document: T,\n operation: Operation,\n index: number\n): T {\n const operationResult: OperationResult<T> = applyOperation(\n document,\n operation\n );\n if (operationResult.test === false) {\n // failed test\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return operationResult.newDocument;\n}\n\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(\n operation: Operation,\n index: number,\n document?: any,\n existingPathFragment?: string\n): void {\n if (\n typeof operation !== \"object\" ||\n operation === null ||\n Array.isArray(operation)\n ) {\n throw new JsonPatchError(\n \"Operation is not an object\",\n \"OPERATION_NOT_AN_OBJECT\",\n index,\n operation,\n document\n );\n } else if (!objOps[operation.op]) {\n throw new JsonPatchError(\n \"Operation `op` property is not one of operations defined in RFC-6902\",\n \"OPERATION_OP_INVALID\",\n index,\n operation,\n document\n );\n } else if (typeof operation.path !== \"string\") {\n throw new JsonPatchError(\n \"Operation `path` property is not a string\",\n \"OPERATION_PATH_INVALID\",\n index,\n operation,\n document\n );\n } else if (operation.path.indexOf(\"/\") !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError(\n 'Operation `path` property must start with \"/\"',\n \"OPERATION_PATH_INVALID\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"move\" || operation.op === \"copy\") &&\n typeof operation.from !== \"string\"\n ) {\n throw new JsonPatchError(\n \"Operation `from` property is not present (applicable in `move` and `copy` operations)\",\n \"OPERATION_FROM_REQUIRED\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"add\" ||\n operation.op === \"replace\" ||\n operation.op === \"test\") &&\n operation.value === undefined\n ) {\n throw new JsonPatchError(\n \"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\n \"OPERATION_VALUE_REQUIRED\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"add\" ||\n operation.op === \"replace\" ||\n operation.op === \"test\") &&\n hasUndefined(operation.value)\n ) {\n throw new JsonPatchError(\n \"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\n \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\",\n index,\n operation,\n document\n );\n } else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError(\n \"Cannot perform an `add` operation at the desired path\",\n \"OPERATION_PATH_CANNOT_ADD\",\n index,\n operation,\n document\n );\n }\n } else if (\n operation.op === \"replace\" ||\n operation.op === \"remove\" ||\n <any>operation.op === \"_get\"\n ) {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError(\n \"Cannot perform the operation at a path that does not exist\",\n \"OPERATION_PATH_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n } else if (operation.op === \"move\" || operation.op === \"copy\") {\n var existingValue: any = {\n op: \"_get\",\n path: operation.from,\n value: undefined,\n };\n var error = validate([existingValue], document);\n if (error && error.name === \"OPERATION_PATH_UNRESOLVABLE\") {\n throw new JsonPatchError(\n \"Cannot perform the operation from a path that does not exist\",\n \"OPERATION_FROM_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n }\n }\n}\n\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate<T>(\n sequence: ReadonlyArray<Operation>,\n document?: T,\n externalValidator?: Validator<T>\n): PatchError {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError(\n \"Patch sequence must be an array\",\n \"SEQUENCE_NOT_AN_ARRAY\"\n );\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(\n _deepClone(document),\n _deepClone(sequence),\n externalValidator || true\n );\n } else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n } catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n } else {\n throw e;\n }\n }\n}\n\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n\n// Copyright (c) 2017 Evgeny Poberezkin\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a: any, b: any): boolean {\n if (a === b) return true;\n\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n var arrA = Array.isArray(a),\n arrB = Array.isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0; ) if (!_areEquals(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var keys = Object.keys(a);\n length = keys.length;\n\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0; ) if (!b.hasOwnProperty(keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_areEquals(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a !== a && b !== b;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/core.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\ndeclare var require: any;\n\nimport {\n PatchError,\n _deepClone,\n isInteger,\n unescapePathComponent,\n hasUndefined,\n} from \"./helpers.js\";\n\nexport const JsonPatchError = PatchError;\nexport const deepClone = _deepClone;\n\nexport type Operation =\n | AddOperation<any>\n | RemoveOperation\n | ReplaceOperation<any>\n | MoveOperation\n | CopyOperation\n | TestOperation<any>\n | GetOperation<any>;\n\nexport interface Validator<T> {\n (\n operation: Operation,\n index: number,\n document: T,\n existingPathFragment: string\n ): void;\n}\n\nexport interface OperationResult<T> {\n removed?: any;\n test?: boolean;\n newDocument: T;\n}\n\nexport interface BaseOperation {\n path: string;\n}\n\nexport interface AddOperation<T> extends BaseOperation {\n op: \"add\";\n value: T;\n}\n\nexport interface RemoveOperation extends BaseOperation {\n op: \"remove\";\n}\n\nexport interface ReplaceOperation<T> extends BaseOperation {\n op: \"replace\";\n value: T;\n}\n\nexport interface MoveOperation extends BaseOperation {\n op: \"move\";\n from: string;\n}\n\nexport interface CopyOperation extends BaseOperation {\n op: \"copy\";\n from: string;\n}\n\nexport interface TestOperation<T> extends BaseOperation {\n op: \"test\";\n value: T;\n}\n\nexport interface GetOperation<T> extends BaseOperation {\n op: \"_get\";\n value: T;\n}\nexport interface PatchResult<T> extends Array<OperationResult<T>> {\n newDocument: T;\n}\n\n/* We use a Javascript hash to store each\n function. Each hash entry (property) uses\n the operation identifiers specified in rfc6902.\n In this way, we can map each patch operation\n to its dedicated function in efficient way.\n */\n\n/* The operations applicable to an object */\nconst objOps = {\n add: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n obj[key] = this.value;\n return { newDocument: document };\n },\n remove: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n var removed = obj[key];\n delete obj[key];\n return { newDocument: document, removed };\n },\n replace: function (obj, key, document) {\n if (key === \"__proto__\" || key === \"constructor\") {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor` prop is banned for security reasons\"\n );\n }\n var removed = obj[key];\n obj[key] = this.value;\n return { newDocument: document, removed };\n },\n move: function (obj, key, document) {\n /* in case move target overwrites an existing value,\n return the removed value, this can be taxing performance-wise,\n and is potentially unneeded */\n let removed = getValueByPointer(document, this.path);\n\n if (removed) {\n removed = _deepClone(removed);\n }\n\n const originalValue = applyOperation(document, {\n op: \"remove\",\n path: this.from,\n }).removed;\n\n applyOperation(document, {\n op: \"add\",\n path: this.path,\n value: originalValue,\n });\n\n return { newDocument: document, removed };\n },\n copy: function (obj, key, document) {\n const valueToCopy = getValueByPointer(document, this.from);\n // enforce copy by value so further operations don't affect source (see issue #177)\n applyOperation(document, {\n op: \"add\",\n path: this.path,\n value: _deepClone(valueToCopy),\n });\n return { newDocument: document };\n },\n test: function (obj, key, document) {\n return { newDocument: document, test: _areEquals(obj[key], this.value) };\n },\n _get: function (obj, key, document) {\n this.value = obj[key];\n return { newDocument: document };\n },\n};\n\n/* The operations applicable to an array. Many are the same as for the object */\nvar arrOps = {\n add: function (arr, i, document) {\n if (isInteger(i)) {\n arr.splice(i, 0, this.value);\n } else {\n // array props\n arr[i] = this.value;\n }\n // this may be needed when using '-' in an array\n return { newDocument: document, index: i };\n },\n remove: function (arr, i, document) {\n var removedList = arr.splice(i, 1);\n return { newDocument: document, removed: removedList[0] };\n },\n replace: function (arr, i, document) {\n var removed = arr[i];\n arr[i] = this.value;\n return { newDocument: document, removed };\n },\n move: objOps.move,\n copy: objOps.copy,\n test: objOps.test,\n _get: objOps._get,\n};\n\n/**\n * Retrieves a value from a JSON document by a JSON pointer.\n * Returns the value.\n *\n * @param document The document to get the value from\n * @param pointer an escaped JSON pointer\n * @return The retrieved value\n */\nexport function getValueByPointer(document: any, pointer: string): any {\n if (pointer == \"\") {\n return document;\n }\n var getOriginalDestination = <GetOperation<any>>{ op: \"_get\", path: pointer };\n applyOperation(document, getOriginalDestination);\n return getOriginalDestination.value;\n}\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the {newDocument, result} of the operation.\n * It modifies the `document` and `operation` objects - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyOperation(document, jsonpatch._deepClone(operation))`.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return `{newDocument, result}` after the operation\n */\nexport function applyOperation<T>(\n document: T,\n operation: Operation,\n validateOperation: boolean | Validator<T> = false,\n mutateDocument: boolean = true,\n banPrototypeModifications: boolean = true,\n index: number = 0\n): OperationResult<T> {\n if (validateOperation) {\n if (typeof validateOperation == \"function\") {\n validateOperation(operation, 0, document, operation.path);\n } else {\n validator(operation, 0);\n }\n }\n /* ROOT OPERATIONS */\n if (operation.path === \"\") {\n let returnValue: OperationResult<T> = { newDocument: document };\n if (operation.op === \"add\") {\n returnValue.newDocument = operation.value;\n return returnValue;\n } else if (operation.op === \"replace\") {\n returnValue.newDocument = operation.value;\n returnValue.removed = document; //document we removed\n return returnValue;\n } else if (operation.op === \"move\" || operation.op === \"copy\") {\n // it's a move or copy to root\n returnValue.newDocument = getValueByPointer(document, operation.from); // get the value by json-pointer in `from` field\n if (operation.op === \"move\") {\n // report removed item\n returnValue.removed = document;\n }\n return returnValue;\n } else if (operation.op === \"test\") {\n returnValue.test = _areEquals(document, operation.value);\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n returnValue.newDocument = document;\n return returnValue;\n } else if (operation.op === \"remove\") {\n // a remove on root\n returnValue.removed = document;\n returnValue.newDocument = null;\n return returnValue;\n } else if (operation.op === \"_get\") {\n operation.value = document;\n return returnValue;\n } else {\n /* bad operation */\n if (validateOperation) {\n throw new JsonPatchError(\n \"Operation `op` property is not one of operations defined in RFC-6902\",\n \"OPERATION_OP_INVALID\",\n index,\n operation,\n document\n );\n } else {\n return returnValue;\n }\n }\n } /* END ROOT OPERATIONS */ else {\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n const path = operation.path || \"\";\n const keys = path.split(\"/\");\n let obj = document;\n let t = 1; //skip empty element - http://jsperf.com/to-shift-or-not-to-shift\n let len = keys.length;\n let existingPathFragment = undefined;\n let key: string | number;\n let validateFunction;\n if (typeof validateOperation == \"function\") {\n validateFunction = validateOperation;\n } else {\n validateFunction = validator;\n }\n while (true) {\n key = keys[t];\n if (key && key.indexOf(\"~\") != -1) {\n key = unescapePathComponent(key);\n }\n\n if (\n banPrototypeModifications &&\n (key == \"__proto__\" ||\n (key == \"prototype\" && t > 0 && keys[t - 1] == \"constructor\"))\n ) {\n throw new TypeError(\n \"JSON-Patch: modifying `__proto__` or `constructor/prototype` prop is banned for security reasons, if this was on purpose, please set `banPrototypeModifications` flag false and pass it to this function. More info in fast-json-patch README\"\n );\n }\n\n if (validateOperation) {\n if (existingPathFragment === undefined) {\n if (obj[key] === undefined) {\n existingPathFragment = keys.slice(0, t).join(\"/\");\n } else if (t == len - 1) {\n existingPathFragment = operation.path;\n }\n if (existingPathFragment !== undefined) {\n validateFunction(operation, 0, document, existingPathFragment);\n }\n }\n }\n t++;\n if (Array.isArray(obj)) {\n if (key === \"-\") {\n key = obj.length;\n } else {\n if (validateOperation && !isInteger(key)) {\n throw new JsonPatchError(\n \"Expected an unsigned base-10 integer value, making the new referenced value the array element with the zero-based index\",\n \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\",\n index,\n operation,\n document\n );\n } // only parse key when it's an integer for `arr.prop` to work\n else if (isInteger(key)) {\n key = ~~key;\n }\n }\n if (t >= len) {\n if (validateOperation && operation.op === \"add\" && key > obj.length) {\n throw new JsonPatchError(\n \"The specified index MUST NOT be greater than the number of elements in the array\",\n \"OPERATION_VALUE_OUT_OF_BOUNDS\",\n index,\n operation,\n document\n );\n }\n const returnValue = arrOps[operation.op].call(\n operation,\n obj,\n key,\n document\n ); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return returnValue;\n }\n } else {\n if (t >= len) {\n const returnValue = objOps[operation.op].call(\n operation,\n obj,\n key,\n document\n ); // Apply patch\n if (returnValue.test === false) {\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return returnValue;\n }\n }\n obj = obj[key];\n // If we have more keys in the path, but the next value isn't a non-null object,\n // throw an OPERATION_PATH_UNRESOLVABLE error instead of iterating again.\n if (validateOperation && t < len && (!obj || typeof obj !== \"object\")) {\n throw new JsonPatchError(\n \"Cannot perform operation at the desired path\",\n \"OPERATION_PATH_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n }\n }\n}\n\n/**\n * Apply a full JSON Patch array on a JSON document.\n * Returns the {newDocument, result} of the patch.\n * It modifies the `document` object and `patch` - it gets the values by reference.\n * If you would like to avoid touching your values, clone them:\n * `jsonpatch.applyPatch(document, jsonpatch._deepClone(patch))`.\n *\n * @param document The document to patch\n * @param patch The patch to apply\n * @param validateOperation `false` is without validation, `true` to use default jsonpatch's validation, or you can pass a `validateOperation` callback to be used for validation.\n * @param mutateDocument Whether to mutate the original document or clone it before applying\n * @param banPrototypeModifications Whether to ban modifications to `__proto__`, defaults to `true`.\n * @return An array of `{newDocument, result}` after the patch\n */\nexport function applyPatch<T>(\n document: T,\n patch: ReadonlyArray<Operation>,\n validateOperation?: boolean | Validator<T>,\n mutateDocument: boolean = true,\n banPrototypeModifications: boolean = true\n): PatchResult<T> {\n if (validateOperation) {\n if (!Array.isArray(patch)) {\n throw new JsonPatchError(\n \"Patch sequence must be an array\",\n \"SEQUENCE_NOT_AN_ARRAY\"\n );\n }\n }\n if (!mutateDocument) {\n document = _deepClone(document);\n }\n const results = new Array(patch.length) as PatchResult<T>;\n\n for (let i = 0, length = patch.length; i < length; i++) {\n // we don't need to pass mutateDocument argument because if it was true, we already deep cloned the object, we'll just pass `true`\n results[i] = applyOperation(\n document,\n patch[i],\n validateOperation,\n true,\n banPrototypeModifications,\n i\n );\n document = results[i].newDocument; // in case root was replaced\n }\n results.newDocument = document;\n return results;\n}\n\n/**\n * Apply a single JSON Patch Operation on a JSON document.\n * Returns the updated document.\n * Suitable as a reducer.\n *\n * @param document The document to patch\n * @param operation The operation to apply\n * @return The updated document\n */\nexport function applyReducer<T>(\n document: T,\n operation: Operation,\n index: number\n): T {\n const operationResult: OperationResult<T> = applyOperation(\n document,\n operation\n );\n if (operationResult.test === false) {\n // failed test\n throw new JsonPatchError(\n \"Test operation failed\",\n \"TEST_OPERATION_FAILED\",\n index,\n operation,\n document\n );\n }\n return operationResult.newDocument;\n}\n\n/**\n * Validates a single operation. Called from `jsonpatch.validate`. Throws `JsonPatchError` in case of an error.\n * @param {object} operation - operation object (patch)\n * @param {number} index - index of operation in the sequence\n * @param {object} [document] - object where the operation is supposed to be applied\n * @param {string} [existingPathFragment] - comes along with `document`\n */\nexport function validator(\n operation: Operation,\n index: number,\n document?: any,\n existingPathFragment?: string\n): void {\n if (\n typeof operation !== \"object\" ||\n operation === null ||\n Array.isArray(operation)\n ) {\n throw new JsonPatchError(\n \"Operation is not an object\",\n \"OPERATION_NOT_AN_OBJECT\",\n index,\n operation,\n document\n );\n } else if (!objOps[operation.op]) {\n throw new JsonPatchError(\n \"Operation `op` property is not one of operations defined in RFC-6902\",\n \"OPERATION_OP_INVALID\",\n index,\n operation,\n document\n );\n } else if (typeof operation.path !== \"string\") {\n throw new JsonPatchError(\n \"Operation `path` property is not a string\",\n \"OPERATION_PATH_INVALID\",\n index,\n operation,\n document\n );\n } else if (operation.path.indexOf(\"/\") !== 0 && operation.path.length > 0) {\n // paths that aren't empty string should start with \"/\"\n throw new JsonPatchError(\n 'Operation `path` property must start with \"/\"',\n \"OPERATION_PATH_INVALID\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"move\" || operation.op === \"copy\") &&\n typeof operation.from !== \"string\"\n ) {\n throw new JsonPatchError(\n \"Operation `from` property is not present (applicable in `move` and `copy` operations)\",\n \"OPERATION_FROM_REQUIRED\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"add\" ||\n operation.op === \"replace\" ||\n operation.op === \"test\") &&\n operation.value === undefined\n ) {\n throw new JsonPatchError(\n \"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\n \"OPERATION_VALUE_REQUIRED\",\n index,\n operation,\n document\n );\n } else if (\n (operation.op === \"add\" ||\n operation.op === \"replace\" ||\n operation.op === \"test\") &&\n hasUndefined(operation.value)\n ) {\n throw new JsonPatchError(\n \"Operation `value` property is not present (applicable in `add`, `replace` and `test` operations)\",\n \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\",\n index,\n operation,\n document\n );\n } else if (document) {\n if (operation.op == \"add\") {\n var pathLen = operation.path.split(\"/\").length;\n var existingPathLen = existingPathFragment.split(\"/\").length;\n if (pathLen !== existingPathLen + 1 && pathLen !== existingPathLen) {\n throw new JsonPatchError(\n \"Cannot perform an `add` operation at the desired path\",\n \"OPERATION_PATH_CANNOT_ADD\",\n index,\n operation,\n document\n );\n }\n } else if (\n operation.op === \"replace\" ||\n operation.op === \"remove\" ||\n <any>operation.op === \"_get\"\n ) {\n if (operation.path !== existingPathFragment) {\n throw new JsonPatchError(\n \"Cannot perform the operation at a path that does not exist\",\n \"OPERATION_PATH_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n } else if (operation.op === \"move\" || operation.op === \"copy\") {\n var existingValue: any = {\n op: \"_get\",\n path: operation.from,\n value: undefined,\n };\n var error = validate([existingValue], document);\n if (error && error.name === \"OPERATION_PATH_UNRESOLVABLE\") {\n throw new JsonPatchError(\n \"Cannot perform the operation from a path that does not exist\",\n \"OPERATION_FROM_UNRESOLVABLE\",\n index,\n operation,\n document\n );\n }\n }\n }\n}\n\n/**\n * Validates a sequence of operations. If `document` parameter is provided, the sequence is additionally validated against the object document.\n * If error is encountered, returns a JsonPatchError object\n * @param sequence\n * @param document\n * @returns {JsonPatchError|undefined}\n */\nexport function validate<T>(\n sequence: ReadonlyArray<Operation>,\n document?: T,\n externalValidator?: Validator<T>\n): PatchError {\n try {\n if (!Array.isArray(sequence)) {\n throw new JsonPatchError(\n \"Patch sequence must be an array\",\n \"SEQUENCE_NOT_AN_ARRAY\"\n );\n }\n if (document) {\n //clone document and sequence so that we can safely try applying operations\n applyPatch(\n _deepClone(document),\n _deepClone(sequence),\n externalValidator || true\n );\n } else {\n externalValidator = externalValidator || validator;\n for (var i = 0; i < sequence.length; i++) {\n externalValidator(sequence[i], i, document, undefined);\n }\n }\n } catch (e) {\n if (e instanceof JsonPatchError) {\n return e;\n } else {\n throw e;\n }\n }\n}\n\n// based on https://github.com/epoberezkin/fast-deep-equal\n// MIT License\n\n// Copyright (c) 2017 Evgeny Poberezkin\n\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n\n// The above copyright notice and this permission notice shall be included in all\n// copies or substantial portions of the Software.\n\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n// SOFTWARE.\nexport function _areEquals(a: any, b: any): boolean {\n if (a === b) return true;\n\n if (a && b && typeof a == \"object\" && typeof b == \"object\") {\n var arrA = Array.isArray(a),\n arrB = Array.isArray(b),\n i,\n length,\n key;\n\n if (arrA && arrB) {\n length = a.length;\n if (length != b.length) return false;\n for (i = length; i-- !== 0; ) if (!_areEquals(a[i], b[i])) return false;\n return true;\n }\n\n if (arrA != arrB) return false;\n\n var keys = Object.keys(a);\n length = keys.length;\n\n if (length !== Object.keys(b).length) return false;\n\n for (i = length; i-- !== 0; ) if (!b.hasOwnProperty(keys[i])) return false;\n\n for (i = length; i-- !== 0; ) {\n key = keys[i];\n if (!_areEquals(a[key], b[key])) return false;\n }\n\n return true;\n }\n\n return a !== a && b !== b;\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
const require_helpers = require(
|
|
2
|
-
require(
|
|
3
|
-
|
|
1
|
+
const require_helpers = require("./helpers.cjs");
|
|
2
|
+
require("./core.cjs");
|
|
4
3
|
//#region src/utils/fast-json-patch/src/duplex.ts
|
|
5
4
|
/*!
|
|
6
5
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
@@ -73,7 +72,7 @@ function compare(tree1, tree2, invertible = false) {
|
|
|
73
72
|
_generate(tree1, tree2, patches, "", invertible);
|
|
74
73
|
return patches;
|
|
75
74
|
}
|
|
76
|
-
|
|
77
75
|
//#endregion
|
|
78
76
|
exports.compare = compare;
|
|
77
|
+
|
|
79
78
|
//# sourceMappingURL=duplex.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplex.cjs","names":["_objectKeys","hasOwnProperty","escapePathComponent","_deepClone"],"sources":["../../../../src/utils/fast-json-patch/src/duplex.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\nimport {\n _deepClone,\n _objectKeys,\n escapePathComponent,\n hasOwnProperty,\n} from \"./helpers.js\";\nimport { applyPatch, Operation } from \"./core.js\";\n\nexport interface Observer<T> {\n object: T;\n patches: Operation[];\n unobserve: () => void;\n callback: (patches: Operation[]) => void;\n}\n\nvar beforeDict = new WeakMap();\n\nclass Mirror {\n obj: any;\n observers: Map<Function, ObserverInfo> = new Map();\n value: Object | Array<any>;\n\n constructor(obj: Object) {\n this.obj = obj;\n }\n}\n\nclass ObserverInfo {\n callback: Function;\n observer: ObserverInfo;\n\n constructor(callback: Function, observer: ObserverInfo) {\n this.callback = callback;\n this.observer = observer;\n }\n}\n\nfunction getMirror(obj: Object): Mirror {\n return beforeDict.get(obj);\n}\n\nfunction getObserverFromMirror(mirror: Mirror, callback): ObserverInfo {\n return mirror.observers.get(callback);\n}\n\nfunction removeObserverFromMirror(mirror: Mirror, observer): void {\n mirror.observers.delete(observer.callback);\n}\n\n/**\n * Detach an observer from an object\n */\nexport function unobserve<T>(root: T, observer: Observer<T>) {\n observer.unobserve();\n}\n\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe<T>(\n obj: Object | Array<T>,\n callback?: (patches: Operation[]) => void\n): Observer<T> {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n } else {\n const observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n\n if (observer) {\n return observer;\n }\n\n observer = {};\n\n mirror.value = _deepClone(obj);\n\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n\n var dirtyCheck = () => {\n generate(observer);\n };\n var fastCheck = () => {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== \"undefined\") {\n //not Node\n window.addEventListener(\"mouseup\", fastCheck);\n window.addEventListener(\"keyup\", fastCheck);\n window.addEventListener(\"mousedown\", fastCheck);\n window.addEventListener(\"keydown\", fastCheck);\n window.addEventListener(\"change\", fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n\n observer.unobserve = () => {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"mouseup\", fastCheck);\n window.removeEventListener(\"keyup\", fastCheck);\n window.removeEventListener(\"mousedown\", fastCheck);\n window.removeEventListener(\"keydown\", fastCheck);\n window.removeEventListener(\"change\", fastCheck);\n }\n };\n\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n\n return observer;\n}\n\n/**\n * Generate an array of patches from an observer\n */\nexport function generate<T>(\n observer: Observer<Object>,\n invertible = false\n): Operation[] {\n var mirror = beforeDict.get(observer.object);\n\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n\n if (\n hasOwnProperty(obj, key) &&\n !(\n obj[key] === undefined &&\n oldVal !== undefined &&\n Array.isArray(obj) === false\n )\n ) {\n var newVal = obj[key];\n\n if (\n typeof oldVal == \"object\" &&\n oldVal != null &&\n typeof newVal == \"object\" &&\n newVal != null &&\n Array.isArray(oldVal) === Array.isArray(newVal)\n ) {\n _generate(\n oldVal,\n newVal,\n patches,\n path + \"/\" + escapePathComponent(key),\n invertible\n );\n } else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"replace\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(newVal),\n });\n }\n }\n } else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"remove\",\n path: path + \"/\" + escapePathComponent(key),\n });\n deleted = true; // property has been deleted\n } else {\n if (invertible) {\n patches.push({ op: \"test\", path, value: mirror });\n }\n patches.push({ op: \"replace\", path, value: obj });\n changed = true;\n }\n }\n\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({\n op: \"add\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(obj[key]),\n });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(\n tree1: Object | Array<any>,\n tree2: Object | Array<any>,\n invertible = false\n): Operation[] {\n var patches = [];\n _generate(tree1, tree2, patches, \"\", invertible);\n return patches;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"duplex.cjs","names":["_objectKeys","hasOwnProperty","escapePathComponent","_deepClone"],"sources":["../../../../src/utils/fast-json-patch/src/duplex.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\nimport {\n _deepClone,\n _objectKeys,\n escapePathComponent,\n hasOwnProperty,\n} from \"./helpers.js\";\nimport { applyPatch, Operation } from \"./core.js\";\n\nexport interface Observer<T> {\n object: T;\n patches: Operation[];\n unobserve: () => void;\n callback: (patches: Operation[]) => void;\n}\n\nvar beforeDict = new WeakMap();\n\nclass Mirror {\n obj: any;\n observers: Map<Function, ObserverInfo> = new Map();\n value: Object | Array<any>;\n\n constructor(obj: Object) {\n this.obj = obj;\n }\n}\n\nclass ObserverInfo {\n callback: Function;\n observer: ObserverInfo;\n\n constructor(callback: Function, observer: ObserverInfo) {\n this.callback = callback;\n this.observer = observer;\n }\n}\n\nfunction getMirror(obj: Object): Mirror {\n return beforeDict.get(obj);\n}\n\nfunction getObserverFromMirror(mirror: Mirror, callback): ObserverInfo {\n return mirror.observers.get(callback);\n}\n\nfunction removeObserverFromMirror(mirror: Mirror, observer): void {\n mirror.observers.delete(observer.callback);\n}\n\n/**\n * Detach an observer from an object\n */\nexport function unobserve<T>(root: T, observer: Observer<T>) {\n observer.unobserve();\n}\n\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe<T>(\n obj: Object | Array<T>,\n callback?: (patches: Operation[]) => void\n): Observer<T> {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n } else {\n const observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n\n if (observer) {\n return observer;\n }\n\n observer = {};\n\n mirror.value = _deepClone(obj);\n\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n\n var dirtyCheck = () => {\n generate(observer);\n };\n var fastCheck = () => {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== \"undefined\") {\n //not Node\n window.addEventListener(\"mouseup\", fastCheck);\n window.addEventListener(\"keyup\", fastCheck);\n window.addEventListener(\"mousedown\", fastCheck);\n window.addEventListener(\"keydown\", fastCheck);\n window.addEventListener(\"change\", fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n\n observer.unobserve = () => {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"mouseup\", fastCheck);\n window.removeEventListener(\"keyup\", fastCheck);\n window.removeEventListener(\"mousedown\", fastCheck);\n window.removeEventListener(\"keydown\", fastCheck);\n window.removeEventListener(\"change\", fastCheck);\n }\n };\n\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n\n return observer;\n}\n\n/**\n * Generate an array of patches from an observer\n */\nexport function generate<T>(\n observer: Observer<Object>,\n invertible = false\n): Operation[] {\n var mirror = beforeDict.get(observer.object);\n\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n\n if (\n hasOwnProperty(obj, key) &&\n !(\n obj[key] === undefined &&\n oldVal !== undefined &&\n Array.isArray(obj) === false\n )\n ) {\n var newVal = obj[key];\n\n if (\n typeof oldVal == \"object\" &&\n oldVal != null &&\n typeof newVal == \"object\" &&\n newVal != null &&\n Array.isArray(oldVal) === Array.isArray(newVal)\n ) {\n _generate(\n oldVal,\n newVal,\n patches,\n path + \"/\" + escapePathComponent(key),\n invertible\n );\n } else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"replace\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(newVal),\n });\n }\n }\n } else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"remove\",\n path: path + \"/\" + escapePathComponent(key),\n });\n deleted = true; // property has been deleted\n } else {\n if (invertible) {\n patches.push({ op: \"test\", path, value: mirror });\n }\n patches.push({ op: \"replace\", path, value: obj });\n changed = true;\n }\n }\n\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({\n op: \"add\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(obj[key]),\n });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(\n tree1: Object | Array<any>,\n tree2: Object | Array<any>,\n invertible = false\n): Operation[] {\n var patches = [];\n _generate(tree1, tree2, patches, \"\", invertible);\n return patches;\n}\n"],"mappings":";;;;;;;;AA8JA,SAAS,UAAU,QAAQ,KAAK,SAAS,MAAM,YAAY;AACzD,KAAI,QAAQ,OACV;AAGF,KAAI,OAAO,IAAI,WAAW,WACxB,OAAM,IAAI,QAAQ;CAGpB,IAAI,UAAUA,gBAAAA,YAAY,IAAI;CAC9B,IAAI,UAAUA,gBAAAA,YAAY,OAAO;CAEjC,IAAI,UAAU;AAId,MAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;EAC5C,IAAI,MAAM,QAAQ;EAClB,IAAI,SAAS,OAAO;AAEpB,MACEC,gBAAAA,eAAe,KAAK,IAAI,IACxB,EACE,IAAI,SAAS,KAAA,KACb,WAAW,KAAA,KACX,MAAM,QAAQ,IAAI,KAAK,QAEzB;GACA,IAAI,SAAS,IAAI;AAEjB,OACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAO,UAAU,YACjB,UAAU,QACV,MAAM,QAAQ,OAAO,KAAK,MAAM,QAAQ,OAAO,CAE/C,WACE,QACA,QACA,SACA,OAAO,MAAMC,gBAAAA,oBAAoB,IAAI,EACrC,WACD;YAEG,WAAW,QAAQ;AAErB,QAAI,WACF,SAAQ,KAAK;KACX,IAAI;KACJ,MAAM,OAAO,MAAMA,gBAAAA,oBAAoB,IAAI;KAC3C,OAAOC,gBAAAA,WAAW,OAAO;KAC1B,CAAC;AAEJ,YAAQ,KAAK;KACX,IAAI;KACJ,MAAM,OAAO,MAAMD,gBAAAA,oBAAoB,IAAI;KAC3C,OAAOC,gBAAAA,WAAW,OAAO;KAC1B,CAAC;;aAGG,MAAM,QAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI,EAAE;AACvD,OAAI,WACF,SAAQ,KAAK;IACX,IAAI;IACJ,MAAM,OAAO,MAAMD,gBAAAA,oBAAoB,IAAI;IAC3C,OAAOC,gBAAAA,WAAW,OAAO;IAC1B,CAAC;AAEJ,WAAQ,KAAK;IACX,IAAI;IACJ,MAAM,OAAO,MAAMD,gBAAAA,oBAAoB,IAAI;IAC5C,CAAC;AACF,aAAU;SACL;AACL,OAAI,WACF,SAAQ,KAAK;IAAE,IAAI;IAAQ;IAAM,OAAO;IAAQ,CAAC;AAEnD,WAAQ,KAAK;IAAE,IAAI;IAAW;IAAM,OAAO;IAAK,CAAC;;;AAKrD,KAAI,CAAC,WAAW,QAAQ,UAAU,QAAQ,OACxC;AAGF,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,IAAI,MAAM,QAAQ;AAClB,MAAI,CAACD,gBAAAA,eAAe,QAAQ,IAAI,IAAI,IAAI,SAAS,KAAA,EAC/C,SAAQ,KAAK;GACX,IAAI;GACJ,MAAM,OAAO,MAAMC,gBAAAA,oBAAoB,IAAI;GAC3C,OAAOC,gBAAAA,WAAW,IAAI,KAAK;GAC5B,CAAC;;;;;;AAOR,SAAgB,QACd,OACA,OACA,aAAa,OACA;CACb,IAAI,UAAU,EAAE;AAChB,WAAU,OAAO,OAAO,SAAS,IAAI,WAAW;AAChD,QAAO"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { _deepClone, _objectKeys, escapePathComponent, hasOwnProperty } from "./helpers.js";
|
|
2
2
|
import "./core.js";
|
|
3
|
-
|
|
4
3
|
//#region src/utils/fast-json-patch/src/duplex.ts
|
|
5
4
|
/*!
|
|
6
5
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
@@ -73,7 +72,7 @@ function compare(tree1, tree2, invertible = false) {
|
|
|
73
72
|
_generate(tree1, tree2, patches, "", invertible);
|
|
74
73
|
return patches;
|
|
75
74
|
}
|
|
76
|
-
|
|
77
75
|
//#endregion
|
|
78
76
|
export { compare };
|
|
77
|
+
|
|
79
78
|
//# sourceMappingURL=duplex.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"duplex.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/duplex.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\nimport {\n _deepClone,\n _objectKeys,\n escapePathComponent,\n hasOwnProperty,\n} from \"./helpers.js\";\nimport { applyPatch, Operation } from \"./core.js\";\n\nexport interface Observer<T> {\n object: T;\n patches: Operation[];\n unobserve: () => void;\n callback: (patches: Operation[]) => void;\n}\n\nvar beforeDict = new WeakMap();\n\nclass Mirror {\n obj: any;\n observers: Map<Function, ObserverInfo> = new Map();\n value: Object | Array<any>;\n\n constructor(obj: Object) {\n this.obj = obj;\n }\n}\n\nclass ObserverInfo {\n callback: Function;\n observer: ObserverInfo;\n\n constructor(callback: Function, observer: ObserverInfo) {\n this.callback = callback;\n this.observer = observer;\n }\n}\n\nfunction getMirror(obj: Object): Mirror {\n return beforeDict.get(obj);\n}\n\nfunction getObserverFromMirror(mirror: Mirror, callback): ObserverInfo {\n return mirror.observers.get(callback);\n}\n\nfunction removeObserverFromMirror(mirror: Mirror, observer): void {\n mirror.observers.delete(observer.callback);\n}\n\n/**\n * Detach an observer from an object\n */\nexport function unobserve<T>(root: T, observer: Observer<T>) {\n observer.unobserve();\n}\n\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe<T>(\n obj: Object | Array<T>,\n callback?: (patches: Operation[]) => void\n): Observer<T> {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n } else {\n const observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n\n if (observer) {\n return observer;\n }\n\n observer = {};\n\n mirror.value = _deepClone(obj);\n\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n\n var dirtyCheck = () => {\n generate(observer);\n };\n var fastCheck = () => {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== \"undefined\") {\n //not Node\n window.addEventListener(\"mouseup\", fastCheck);\n window.addEventListener(\"keyup\", fastCheck);\n window.addEventListener(\"mousedown\", fastCheck);\n window.addEventListener(\"keydown\", fastCheck);\n window.addEventListener(\"change\", fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n\n observer.unobserve = () => {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"mouseup\", fastCheck);\n window.removeEventListener(\"keyup\", fastCheck);\n window.removeEventListener(\"mousedown\", fastCheck);\n window.removeEventListener(\"keydown\", fastCheck);\n window.removeEventListener(\"change\", fastCheck);\n }\n };\n\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n\n return observer;\n}\n\n/**\n * Generate an array of patches from an observer\n */\nexport function generate<T>(\n observer: Observer<Object>,\n invertible = false\n): Operation[] {\n var mirror = beforeDict.get(observer.object);\n\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n\n if (\n hasOwnProperty(obj, key) &&\n !(\n obj[key] === undefined &&\n oldVal !== undefined &&\n Array.isArray(obj) === false\n )\n ) {\n var newVal = obj[key];\n\n if (\n typeof oldVal == \"object\" &&\n oldVal != null &&\n typeof newVal == \"object\" &&\n newVal != null &&\n Array.isArray(oldVal) === Array.isArray(newVal)\n ) {\n _generate(\n oldVal,\n newVal,\n patches,\n path + \"/\" + escapePathComponent(key),\n invertible\n );\n } else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"replace\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(newVal),\n });\n }\n }\n } else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"remove\",\n path: path + \"/\" + escapePathComponent(key),\n });\n deleted = true; // property has been deleted\n } else {\n if (invertible) {\n patches.push({ op: \"test\", path, value: mirror });\n }\n patches.push({ op: \"replace\", path, value: obj });\n changed = true;\n }\n }\n\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({\n op: \"add\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(obj[key]),\n });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(\n tree1: Object | Array<any>,\n tree2: Object | Array<any>,\n invertible = false\n): Operation[] {\n var patches = [];\n _generate(tree1, tree2, patches, \"\", invertible);\n return patches;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"duplex.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/duplex.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2013-2021 Joachim Wester\n * MIT license\n */\nimport {\n _deepClone,\n _objectKeys,\n escapePathComponent,\n hasOwnProperty,\n} from \"./helpers.js\";\nimport { applyPatch, Operation } from \"./core.js\";\n\nexport interface Observer<T> {\n object: T;\n patches: Operation[];\n unobserve: () => void;\n callback: (patches: Operation[]) => void;\n}\n\nvar beforeDict = new WeakMap();\n\nclass Mirror {\n obj: any;\n observers: Map<Function, ObserverInfo> = new Map();\n value: Object | Array<any>;\n\n constructor(obj: Object) {\n this.obj = obj;\n }\n}\n\nclass ObserverInfo {\n callback: Function;\n observer: ObserverInfo;\n\n constructor(callback: Function, observer: ObserverInfo) {\n this.callback = callback;\n this.observer = observer;\n }\n}\n\nfunction getMirror(obj: Object): Mirror {\n return beforeDict.get(obj);\n}\n\nfunction getObserverFromMirror(mirror: Mirror, callback): ObserverInfo {\n return mirror.observers.get(callback);\n}\n\nfunction removeObserverFromMirror(mirror: Mirror, observer): void {\n mirror.observers.delete(observer.callback);\n}\n\n/**\n * Detach an observer from an object\n */\nexport function unobserve<T>(root: T, observer: Observer<T>) {\n observer.unobserve();\n}\n\n/**\n * Observes changes made to an object, which can then be retrieved using generate\n */\nexport function observe<T>(\n obj: Object | Array<T>,\n callback?: (patches: Operation[]) => void\n): Observer<T> {\n var patches = [];\n var observer;\n var mirror = getMirror(obj);\n\n if (!mirror) {\n mirror = new Mirror(obj);\n beforeDict.set(obj, mirror);\n } else {\n const observerInfo = getObserverFromMirror(mirror, callback);\n observer = observerInfo && observerInfo.observer;\n }\n\n if (observer) {\n return observer;\n }\n\n observer = {};\n\n mirror.value = _deepClone(obj);\n\n if (callback) {\n observer.callback = callback;\n observer.next = null;\n\n var dirtyCheck = () => {\n generate(observer);\n };\n var fastCheck = () => {\n clearTimeout(observer.next);\n observer.next = setTimeout(dirtyCheck);\n };\n if (typeof window !== \"undefined\") {\n //not Node\n window.addEventListener(\"mouseup\", fastCheck);\n window.addEventListener(\"keyup\", fastCheck);\n window.addEventListener(\"mousedown\", fastCheck);\n window.addEventListener(\"keydown\", fastCheck);\n window.addEventListener(\"change\", fastCheck);\n }\n }\n observer.patches = patches;\n observer.object = obj;\n\n observer.unobserve = () => {\n generate(observer);\n clearTimeout(observer.next);\n removeObserverFromMirror(mirror, observer);\n\n if (typeof window !== \"undefined\") {\n window.removeEventListener(\"mouseup\", fastCheck);\n window.removeEventListener(\"keyup\", fastCheck);\n window.removeEventListener(\"mousedown\", fastCheck);\n window.removeEventListener(\"keydown\", fastCheck);\n window.removeEventListener(\"change\", fastCheck);\n }\n };\n\n mirror.observers.set(callback, new ObserverInfo(callback, observer));\n\n return observer;\n}\n\n/**\n * Generate an array of patches from an observer\n */\nexport function generate<T>(\n observer: Observer<Object>,\n invertible = false\n): Operation[] {\n var mirror = beforeDict.get(observer.object);\n\n _generate(mirror.value, observer.object, observer.patches, \"\", invertible);\n if (observer.patches.length) {\n applyPatch(mirror.value, observer.patches);\n }\n var temp = observer.patches;\n if (temp.length > 0) {\n observer.patches = [];\n if (observer.callback) {\n observer.callback(temp);\n }\n }\n return temp;\n}\n\n// Dirty check if obj is different from mirror, generate patches and update mirror\nfunction _generate(mirror, obj, patches, path, invertible) {\n if (obj === mirror) {\n return;\n }\n\n if (typeof obj.toJSON === \"function\") {\n obj = obj.toJSON();\n }\n\n var newKeys = _objectKeys(obj);\n var oldKeys = _objectKeys(mirror);\n var changed = false;\n var deleted = false;\n\n //if ever \"move\" operation is implemented here, make sure this test runs OK: \"should not generate the same patch twice (move)\"\n\n for (var t = oldKeys.length - 1; t >= 0; t--) {\n var key = oldKeys[t];\n var oldVal = mirror[key];\n\n if (\n hasOwnProperty(obj, key) &&\n !(\n obj[key] === undefined &&\n oldVal !== undefined &&\n Array.isArray(obj) === false\n )\n ) {\n var newVal = obj[key];\n\n if (\n typeof oldVal == \"object\" &&\n oldVal != null &&\n typeof newVal == \"object\" &&\n newVal != null &&\n Array.isArray(oldVal) === Array.isArray(newVal)\n ) {\n _generate(\n oldVal,\n newVal,\n patches,\n path + \"/\" + escapePathComponent(key),\n invertible\n );\n } else {\n if (oldVal !== newVal) {\n changed = true;\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"replace\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(newVal),\n });\n }\n }\n } else if (Array.isArray(mirror) === Array.isArray(obj)) {\n if (invertible) {\n patches.push({\n op: \"test\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(oldVal),\n });\n }\n patches.push({\n op: \"remove\",\n path: path + \"/\" + escapePathComponent(key),\n });\n deleted = true; // property has been deleted\n } else {\n if (invertible) {\n patches.push({ op: \"test\", path, value: mirror });\n }\n patches.push({ op: \"replace\", path, value: obj });\n changed = true;\n }\n }\n\n if (!deleted && newKeys.length == oldKeys.length) {\n return;\n }\n\n for (var t = 0; t < newKeys.length; t++) {\n var key = newKeys[t];\n if (!hasOwnProperty(mirror, key) && obj[key] !== undefined) {\n patches.push({\n op: \"add\",\n path: path + \"/\" + escapePathComponent(key),\n value: _deepClone(obj[key]),\n });\n }\n }\n}\n/**\n * Create an array of patches from the differences in two objects\n */\nexport function compare(\n tree1: Object | Array<any>,\n tree2: Object | Array<any>,\n invertible = false\n): Operation[] {\n var patches = [];\n _generate(tree1, tree2, patches, \"\", invertible);\n return patches;\n}\n"],"mappings":";;;;;;;;AA8JA,SAAS,UAAU,QAAQ,KAAK,SAAS,MAAM,YAAY;AACzD,KAAI,QAAQ,OACV;AAGF,KAAI,OAAO,IAAI,WAAW,WACxB,OAAM,IAAI,QAAQ;CAGpB,IAAI,UAAU,YAAY,IAAI;CAC9B,IAAI,UAAU,YAAY,OAAO;CAEjC,IAAI,UAAU;AAId,MAAK,IAAI,IAAI,QAAQ,SAAS,GAAG,KAAK,GAAG,KAAK;EAC5C,IAAI,MAAM,QAAQ;EAClB,IAAI,SAAS,OAAO;AAEpB,MACE,eAAe,KAAK,IAAI,IACxB,EACE,IAAI,SAAS,KAAA,KACb,WAAW,KAAA,KACX,MAAM,QAAQ,IAAI,KAAK,QAEzB;GACA,IAAI,SAAS,IAAI;AAEjB,OACE,OAAO,UAAU,YACjB,UAAU,QACV,OAAO,UAAU,YACjB,UAAU,QACV,MAAM,QAAQ,OAAO,KAAK,MAAM,QAAQ,OAAO,CAE/C,WACE,QACA,QACA,SACA,OAAO,MAAM,oBAAoB,IAAI,EACrC,WACD;YAEG,WAAW,QAAQ;AAErB,QAAI,WACF,SAAQ,KAAK;KACX,IAAI;KACJ,MAAM,OAAO,MAAM,oBAAoB,IAAI;KAC3C,OAAO,WAAW,OAAO;KAC1B,CAAC;AAEJ,YAAQ,KAAK;KACX,IAAI;KACJ,MAAM,OAAO,MAAM,oBAAoB,IAAI;KAC3C,OAAO,WAAW,OAAO;KAC1B,CAAC;;aAGG,MAAM,QAAQ,OAAO,KAAK,MAAM,QAAQ,IAAI,EAAE;AACvD,OAAI,WACF,SAAQ,KAAK;IACX,IAAI;IACJ,MAAM,OAAO,MAAM,oBAAoB,IAAI;IAC3C,OAAO,WAAW,OAAO;IAC1B,CAAC;AAEJ,WAAQ,KAAK;IACX,IAAI;IACJ,MAAM,OAAO,MAAM,oBAAoB,IAAI;IAC5C,CAAC;AACF,aAAU;SACL;AACL,OAAI,WACF,SAAQ,KAAK;IAAE,IAAI;IAAQ;IAAM,OAAO;IAAQ,CAAC;AAEnD,WAAQ,KAAK;IAAE,IAAI;IAAW;IAAM,OAAO;IAAK,CAAC;;;AAKrD,KAAI,CAAC,WAAW,QAAQ,UAAU,QAAQ,OACxC;AAGF,MAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;EACvC,IAAI,MAAM,QAAQ;AAClB,MAAI,CAAC,eAAe,QAAQ,IAAI,IAAI,IAAI,SAAS,KAAA,EAC/C,SAAQ,KAAK;GACX,IAAI;GACJ,MAAM,OAAO,MAAM,oBAAoB,IAAI;GAC3C,OAAO,WAAW,IAAI,KAAK;GAC5B,CAAC;;;;;;AAOR,SAAgB,QACd,OACA,OACA,aAAa,OACA;CACb,IAAI,UAAU,EAAE;AAChB,WAAU,OAAO,OAAO,SAAS,IAAI,WAAW;AAChD,QAAO"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/utils/fast-json-patch/src/helpers.ts
|
|
3
2
|
/*!
|
|
4
3
|
* https://github.com/Starcounter-Jack/JSON-Patch
|
|
@@ -109,7 +108,6 @@ var PatchError = class extends Error {
|
|
|
109
108
|
});
|
|
110
109
|
}
|
|
111
110
|
};
|
|
112
|
-
|
|
113
111
|
//#endregion
|
|
114
112
|
exports.PatchError = PatchError;
|
|
115
113
|
exports._deepClone = _deepClone;
|
|
@@ -119,4 +117,5 @@ exports.hasOwnProperty = hasOwnProperty;
|
|
|
119
117
|
exports.hasUndefined = hasUndefined;
|
|
120
118
|
exports.isInteger = isInteger;
|
|
121
119
|
exports.unescapePathComponent = unescapePathComponent;
|
|
120
|
+
|
|
122
121
|
//# sourceMappingURL=helpers.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.cjs","names":[],"sources":["../../../../src/utils/fast-json-patch/src/helpers.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\n\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n const keys = new Array(obj.length);\n for (let k = 0; k < keys.length; k++) {\n keys[k] = \"\" + k;\n }\n return keys;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n let keys = [];\n for (let i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n/**\n * Deeply clone the object.\n * https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n * @param {any} obj value to clone\n * @return {any} cloned obj\n */\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str: string): boolean {\n let i = 0;\n const len = str.length;\n let charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n * Escapes a json pointer path\n * @param path The raw pointer\n * @return the Escaped path\n */\nexport function escapePathComponent(path: string): string {\n if (path.indexOf(\"/\") === -1 && path.indexOf(\"~\") === -1) return path;\n return path.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path: string): string {\n return path.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n\nexport function _getPathRecursive(root: Object, obj: Object): string {\n let found;\n for (let key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + \"/\";\n } else if (typeof root[key] === \"object\") {\n found = _getPathRecursive(root[key], obj);\n if (found != \"\") {\n return escapePathComponent(key) + \"/\" + found;\n }\n }\n }\n }\n return \"\";\n}\n\nexport function getPath(root: Object, obj: Object): string {\n if (root === obj) {\n return \"/\";\n }\n const path = _getPathRecursive(root, obj);\n if (path === \"\") {\n throw new Error(\"Object not found in root\");\n }\n return `/${path}`;\n}\n/**\n * Recursively checks whether an object has any undefined values inside.\n */\nexport function hasUndefined(obj: any): boolean {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (let i = 0, len = obj.length; i < len; i++) {\n if (hasUndefined(obj[i])) {\n return true;\n }\n }\n } else if (typeof obj === \"object\") {\n const objKeys = _objectKeys(obj);\n const objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport type JsonPatchErrorName =\n | \"SEQUENCE_NOT_AN_ARRAY\"\n | \"OPERATION_NOT_AN_OBJECT\"\n | \"OPERATION_OP_INVALID\"\n | \"OPERATION_PATH_INVALID\"\n | \"OPERATION_FROM_REQUIRED\"\n | \"OPERATION_VALUE_REQUIRED\"\n | \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\"\n | \"OPERATION_PATH_CANNOT_ADD\"\n | \"OPERATION_PATH_UNRESOLVABLE\"\n | \"OPERATION_FROM_UNRESOLVABLE\"\n | \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\"\n | \"OPERATION_VALUE_OUT_OF_BOUNDS\"\n | \"TEST_OPERATION_FAILED\";\n\nfunction patchErrorMessageFormatter(message: String, args: Object): string {\n const messageParts = [message];\n for (const key in args) {\n const value =\n typeof args[key] === \"object\"\n ? JSON.stringify(args[key], null, 2)\n : args[key]; // pretty print\n if (typeof value !== \"undefined\") {\n messageParts.push(`${key}: ${value}`);\n }\n }\n return messageParts.join(\"\\n\");\n}\nexport class PatchError extends Error {\n constructor(\n message: string,\n public name: JsonPatchErrorName,\n public index?: number,\n public operation?: any,\n public tree?: any\n ) {\n super(\n patchErrorMessageFormatter(message, { name, index, operation, tree })\n );\n Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n this.message = patchErrorMessageFormatter(message, {\n name,\n index,\n operation,\n tree,\n });\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.cjs","names":[],"sources":["../../../../src/utils/fast-json-patch/src/helpers.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\n\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n const keys = new Array(obj.length);\n for (let k = 0; k < keys.length; k++) {\n keys[k] = \"\" + k;\n }\n return keys;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n let keys = [];\n for (let i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n/**\n * Deeply clone the object.\n * https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n * @param {any} obj value to clone\n * @return {any} cloned obj\n */\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str: string): boolean {\n let i = 0;\n const len = str.length;\n let charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n * Escapes a json pointer path\n * @param path The raw pointer\n * @return the Escaped path\n */\nexport function escapePathComponent(path: string): string {\n if (path.indexOf(\"/\") === -1 && path.indexOf(\"~\") === -1) return path;\n return path.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path: string): string {\n return path.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n\nexport function _getPathRecursive(root: Object, obj: Object): string {\n let found;\n for (let key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + \"/\";\n } else if (typeof root[key] === \"object\") {\n found = _getPathRecursive(root[key], obj);\n if (found != \"\") {\n return escapePathComponent(key) + \"/\" + found;\n }\n }\n }\n }\n return \"\";\n}\n\nexport function getPath(root: Object, obj: Object): string {\n if (root === obj) {\n return \"/\";\n }\n const path = _getPathRecursive(root, obj);\n if (path === \"\") {\n throw new Error(\"Object not found in root\");\n }\n return `/${path}`;\n}\n/**\n * Recursively checks whether an object has any undefined values inside.\n */\nexport function hasUndefined(obj: any): boolean {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (let i = 0, len = obj.length; i < len; i++) {\n if (hasUndefined(obj[i])) {\n return true;\n }\n }\n } else if (typeof obj === \"object\") {\n const objKeys = _objectKeys(obj);\n const objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport type JsonPatchErrorName =\n | \"SEQUENCE_NOT_AN_ARRAY\"\n | \"OPERATION_NOT_AN_OBJECT\"\n | \"OPERATION_OP_INVALID\"\n | \"OPERATION_PATH_INVALID\"\n | \"OPERATION_FROM_REQUIRED\"\n | \"OPERATION_VALUE_REQUIRED\"\n | \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\"\n | \"OPERATION_PATH_CANNOT_ADD\"\n | \"OPERATION_PATH_UNRESOLVABLE\"\n | \"OPERATION_FROM_UNRESOLVABLE\"\n | \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\"\n | \"OPERATION_VALUE_OUT_OF_BOUNDS\"\n | \"TEST_OPERATION_FAILED\";\n\nfunction patchErrorMessageFormatter(message: String, args: Object): string {\n const messageParts = [message];\n for (const key in args) {\n const value =\n typeof args[key] === \"object\"\n ? JSON.stringify(args[key], null, 2)\n : args[key]; // pretty print\n if (typeof value !== \"undefined\") {\n messageParts.push(`${key}: ${value}`);\n }\n }\n return messageParts.join(\"\\n\");\n}\nexport class PatchError extends Error {\n constructor(\n message: string,\n public name: JsonPatchErrorName,\n public index?: number,\n public operation?: any,\n public tree?: any\n ) {\n super(\n patchErrorMessageFormatter(message, { name, index, operation, tree })\n );\n Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n this.message = patchErrorMessageFormatter(message, {\n name,\n index,\n operation,\n tree,\n });\n }\n}\n"],"mappings":";;;;;;AAUA,MAAM,kBAAkB,OAAO,UAAU;AACzC,SAAgB,eAAe,KAAK,KAAK;AACvC,QAAO,gBAAgB,KAAK,KAAK,IAAI;;AAEvC,SAAgB,YAAY,KAAK;AAC/B,KAAI,MAAM,QAAQ,IAAI,EAAE;EACtB,MAAM,OAAO,IAAI,MAAM,IAAI,OAAO;AAClC,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,MAAK,KAAK,KAAK;AAEjB,SAAO;;AAET,KAAI,OAAO,KACT,QAAO,OAAO,KAAK,IAAI;CAEzB,IAAI,OAAO,EAAE;AACb,MAAK,IAAI,KAAK,IACZ,KAAI,eAAe,KAAK,EAAE,CACxB,MAAK,KAAK,EAAE;AAGhB,QAAO;;;;;;;;AAQT,SAAgB,WAAW,KAAK;AAC9B,SAAQ,OAAO,KAAf;EACE,KAAK,SACH,QAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;EACxC,KAAK,YACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,UAAU,KAAsB;CAC9C,IAAI,IAAI;CACR,MAAM,MAAM,IAAI;CAChB,IAAI;AACJ,QAAO,IAAI,KAAK;AACd,aAAW,IAAI,WAAW,EAAE;AAC5B,MAAI,YAAY,MAAM,YAAY,IAAI;AACpC;AACA;;AAEF,SAAO;;AAET,QAAO;;;;;;;AAOT,SAAgB,oBAAoB,MAAsB;AACxD,KAAI,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,QAAQ,IAAI,KAAK,GAAI,QAAO;AACjE,QAAO,KAAK,QAAQ,MAAM,KAAK,CAAC,QAAQ,OAAO,KAAK;;;;;;;AAOtD,SAAgB,sBAAsB,MAAsB;AAC1D,QAAO,KAAK,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI;;;;;AAiCrD,SAAgB,aAAa,KAAmB;AAC9C,KAAI,QAAQ,KAAA,EACV,QAAO;AAET,KAAI;MACE,MAAM,QAAQ,IAAI;QACf,IAAI,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,IACzC,KAAI,aAAa,IAAI,GAAG,CACtB,QAAO;aAGF,OAAO,QAAQ,UAAU;GAClC,MAAM,UAAU,YAAY,IAAI;GAChC,MAAM,gBAAgB,QAAQ;AAC9B,QAAK,IAAI,IAAI,GAAG,IAAI,eAAe,IACjC,KAAI,aAAa,IAAI,QAAQ,IAAI,CAC/B,QAAO;;;AAKf,QAAO;;AAkBT,SAAS,2BAA2B,SAAiB,MAAsB;CACzE,MAAM,eAAe,CAAC,QAAQ;AAC9B,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,QACJ,OAAO,KAAK,SAAS,WACjB,KAAK,UAAU,KAAK,MAAM,MAAM,EAAE,GAClC,KAAK;AACX,MAAI,OAAO,UAAU,YACnB,cAAa,KAAK,GAAG,IAAI,IAAI,QAAQ;;AAGzC,QAAO,aAAa,KAAK,KAAK;;AAEhC,IAAa,aAAb,cAAgC,MAAM;CACpC,YACE,SACA,MACA,OACA,WACA,MACA;AACA,QACE,2BAA2B,SAAS;GAAE;GAAM;GAAO;GAAW;GAAM,CAAC,CACtE;AAPM,OAAA,OAAA;AACA,OAAA,QAAA;AACA,OAAA,YAAA;AACA,OAAA,OAAA;AAKP,SAAO,eAAe,MAAM,IAAI,OAAO,UAAU;AACjD,OAAK,UAAU,2BAA2B,SAAS;GACjD;GACA;GACA;GACA;GACD,CAAC"}
|
|
@@ -108,7 +108,7 @@ var PatchError = class extends Error {
|
|
|
108
108
|
});
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
|
-
|
|
112
111
|
//#endregion
|
|
113
112
|
export { PatchError, _deepClone, _objectKeys, escapePathComponent, hasOwnProperty, hasUndefined, isInteger, unescapePathComponent };
|
|
113
|
+
|
|
114
114
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/helpers.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\n\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n const keys = new Array(obj.length);\n for (let k = 0; k < keys.length; k++) {\n keys[k] = \"\" + k;\n }\n return keys;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n let keys = [];\n for (let i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n/**\n * Deeply clone the object.\n * https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n * @param {any} obj value to clone\n * @return {any} cloned obj\n */\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str: string): boolean {\n let i = 0;\n const len = str.length;\n let charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n * Escapes a json pointer path\n * @param path The raw pointer\n * @return the Escaped path\n */\nexport function escapePathComponent(path: string): string {\n if (path.indexOf(\"/\") === -1 && path.indexOf(\"~\") === -1) return path;\n return path.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path: string): string {\n return path.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n\nexport function _getPathRecursive(root: Object, obj: Object): string {\n let found;\n for (let key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + \"/\";\n } else if (typeof root[key] === \"object\") {\n found = _getPathRecursive(root[key], obj);\n if (found != \"\") {\n return escapePathComponent(key) + \"/\" + found;\n }\n }\n }\n }\n return \"\";\n}\n\nexport function getPath(root: Object, obj: Object): string {\n if (root === obj) {\n return \"/\";\n }\n const path = _getPathRecursive(root, obj);\n if (path === \"\") {\n throw new Error(\"Object not found in root\");\n }\n return `/${path}`;\n}\n/**\n * Recursively checks whether an object has any undefined values inside.\n */\nexport function hasUndefined(obj: any): boolean {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (let i = 0, len = obj.length; i < len; i++) {\n if (hasUndefined(obj[i])) {\n return true;\n }\n }\n } else if (typeof obj === \"object\") {\n const objKeys = _objectKeys(obj);\n const objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport type JsonPatchErrorName =\n | \"SEQUENCE_NOT_AN_ARRAY\"\n | \"OPERATION_NOT_AN_OBJECT\"\n | \"OPERATION_OP_INVALID\"\n | \"OPERATION_PATH_INVALID\"\n | \"OPERATION_FROM_REQUIRED\"\n | \"OPERATION_VALUE_REQUIRED\"\n | \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\"\n | \"OPERATION_PATH_CANNOT_ADD\"\n | \"OPERATION_PATH_UNRESOLVABLE\"\n | \"OPERATION_FROM_UNRESOLVABLE\"\n | \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\"\n | \"OPERATION_VALUE_OUT_OF_BOUNDS\"\n | \"TEST_OPERATION_FAILED\";\n\nfunction patchErrorMessageFormatter(message: String, args: Object): string {\n const messageParts = [message];\n for (const key in args) {\n const value =\n typeof args[key] === \"object\"\n ? JSON.stringify(args[key], null, 2)\n : args[key]; // pretty print\n if (typeof value !== \"undefined\") {\n messageParts.push(`${key}: ${value}`);\n }\n }\n return messageParts.join(\"\\n\");\n}\nexport class PatchError extends Error {\n constructor(\n message: string,\n public name: JsonPatchErrorName,\n public index?: number,\n public operation?: any,\n public tree?: any\n ) {\n super(\n patchErrorMessageFormatter(message, { name, index, operation, tree })\n );\n Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n this.message = patchErrorMessageFormatter(message, {\n name,\n index,\n operation,\n tree,\n });\n }\n}\n"],"mappings":";;;;;;AAUA,MAAM,kBAAkB,OAAO,UAAU;AACzC,SAAgB,eAAe,KAAK,KAAK;AACvC,QAAO,gBAAgB,KAAK,KAAK,IAAI;;AAEvC,SAAgB,YAAY,KAAK;AAC/B,KAAI,MAAM,QAAQ,IAAI,EAAE;EACtB,MAAM,OAAO,IAAI,MAAM,IAAI,OAAO;AAClC,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,MAAK,KAAK,KAAK;AAEjB,SAAO;;AAET,KAAI,OAAO,KACT,QAAO,OAAO,KAAK,IAAI;CAEzB,IAAI,OAAO,EAAE;AACb,MAAK,IAAI,KAAK,IACZ,KAAI,eAAe,KAAK,EAAE,CACxB,MAAK,KAAK,EAAE;AAGhB,QAAO;;;;;;;;AAQT,SAAgB,WAAW,KAAK;AAC9B,SAAQ,OAAO,KAAf;EACE,KAAK,SACH,QAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;EACxC,KAAK,YACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,UAAU,KAAsB;CAC9C,IAAI,IAAI;CACR,MAAM,MAAM,IAAI;CAChB,IAAI;AACJ,QAAO,IAAI,KAAK;AACd,aAAW,IAAI,WAAW,EAAE;AAC5B,MAAI,YAAY,MAAM,YAAY,IAAI;AACpC;AACA;;AAEF,SAAO;;AAET,QAAO;;;;;;;AAOT,SAAgB,oBAAoB,MAAsB;AACxD,KAAI,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,QAAQ,IAAI,KAAK,GAAI,QAAO;AACjE,QAAO,KAAK,QAAQ,MAAM,KAAK,CAAC,QAAQ,OAAO,KAAK;;;;;;;AAOtD,SAAgB,sBAAsB,MAAsB;AAC1D,QAAO,KAAK,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI;;;;;AAiCrD,SAAgB,aAAa,KAAmB;AAC9C,KAAI,QAAQ,
|
|
1
|
+
{"version":3,"file":"helpers.js","names":[],"sources":["../../../../src/utils/fast-json-patch/src/helpers.ts"],"sourcesContent":["// @ts-nocheck\n\n// Inlined because of ESM import issues\n\n/*!\n * https://github.com/Starcounter-Jack/JSON-Patch\n * (c) 2017-2022 Joachim Wester\n * MIT licensed\n */\n\nconst _hasOwnProperty = Object.prototype.hasOwnProperty;\nexport function hasOwnProperty(obj, key) {\n return _hasOwnProperty.call(obj, key);\n}\nexport function _objectKeys(obj) {\n if (Array.isArray(obj)) {\n const keys = new Array(obj.length);\n for (let k = 0; k < keys.length; k++) {\n keys[k] = \"\" + k;\n }\n return keys;\n }\n if (Object.keys) {\n return Object.keys(obj);\n }\n let keys = [];\n for (let i in obj) {\n if (hasOwnProperty(obj, i)) {\n keys.push(i);\n }\n }\n return keys;\n}\n/**\n * Deeply clone the object.\n * https://jsperf.com/deep-copy-vs-json-stringify-json-parse/25 (recursiveDeepCopy)\n * @param {any} obj value to clone\n * @return {any} cloned obj\n */\nexport function _deepClone(obj) {\n switch (typeof obj) {\n case \"object\":\n return JSON.parse(JSON.stringify(obj)); //Faster than ES5 clone - http://jsperf.com/deep-cloning-of-objects/5\n case \"undefined\":\n return null; //this is how JSON.stringify behaves for array items\n default:\n return obj; //no need to clone primitives\n }\n}\n//3x faster than cached /^\\d+$/.test(str)\nexport function isInteger(str: string): boolean {\n let i = 0;\n const len = str.length;\n let charCode;\n while (i < len) {\n charCode = str.charCodeAt(i);\n if (charCode >= 48 && charCode <= 57) {\n i++;\n continue;\n }\n return false;\n }\n return true;\n}\n/**\n * Escapes a json pointer path\n * @param path The raw pointer\n * @return the Escaped path\n */\nexport function escapePathComponent(path: string): string {\n if (path.indexOf(\"/\") === -1 && path.indexOf(\"~\") === -1) return path;\n return path.replace(/~/g, \"~0\").replace(/\\//g, \"~1\");\n}\n/**\n * Unescapes a json pointer path\n * @param path The escaped pointer\n * @return The unescaped path\n */\nexport function unescapePathComponent(path: string): string {\n return path.replace(/~1/g, \"/\").replace(/~0/g, \"~\");\n}\n\nexport function _getPathRecursive(root: Object, obj: Object): string {\n let found;\n for (let key in root) {\n if (hasOwnProperty(root, key)) {\n if (root[key] === obj) {\n return escapePathComponent(key) + \"/\";\n } else if (typeof root[key] === \"object\") {\n found = _getPathRecursive(root[key], obj);\n if (found != \"\") {\n return escapePathComponent(key) + \"/\" + found;\n }\n }\n }\n }\n return \"\";\n}\n\nexport function getPath(root: Object, obj: Object): string {\n if (root === obj) {\n return \"/\";\n }\n const path = _getPathRecursive(root, obj);\n if (path === \"\") {\n throw new Error(\"Object not found in root\");\n }\n return `/${path}`;\n}\n/**\n * Recursively checks whether an object has any undefined values inside.\n */\nexport function hasUndefined(obj: any): boolean {\n if (obj === undefined) {\n return true;\n }\n if (obj) {\n if (Array.isArray(obj)) {\n for (let i = 0, len = obj.length; i < len; i++) {\n if (hasUndefined(obj[i])) {\n return true;\n }\n }\n } else if (typeof obj === \"object\") {\n const objKeys = _objectKeys(obj);\n const objKeysLength = objKeys.length;\n for (var i = 0; i < objKeysLength; i++) {\n if (hasUndefined(obj[objKeys[i]])) {\n return true;\n }\n }\n }\n }\n return false;\n}\n\nexport type JsonPatchErrorName =\n | \"SEQUENCE_NOT_AN_ARRAY\"\n | \"OPERATION_NOT_AN_OBJECT\"\n | \"OPERATION_OP_INVALID\"\n | \"OPERATION_PATH_INVALID\"\n | \"OPERATION_FROM_REQUIRED\"\n | \"OPERATION_VALUE_REQUIRED\"\n | \"OPERATION_VALUE_CANNOT_CONTAIN_UNDEFINED\"\n | \"OPERATION_PATH_CANNOT_ADD\"\n | \"OPERATION_PATH_UNRESOLVABLE\"\n | \"OPERATION_FROM_UNRESOLVABLE\"\n | \"OPERATION_PATH_ILLEGAL_ARRAY_INDEX\"\n | \"OPERATION_VALUE_OUT_OF_BOUNDS\"\n | \"TEST_OPERATION_FAILED\";\n\nfunction patchErrorMessageFormatter(message: String, args: Object): string {\n const messageParts = [message];\n for (const key in args) {\n const value =\n typeof args[key] === \"object\"\n ? JSON.stringify(args[key], null, 2)\n : args[key]; // pretty print\n if (typeof value !== \"undefined\") {\n messageParts.push(`${key}: ${value}`);\n }\n }\n return messageParts.join(\"\\n\");\n}\nexport class PatchError extends Error {\n constructor(\n message: string,\n public name: JsonPatchErrorName,\n public index?: number,\n public operation?: any,\n public tree?: any\n ) {\n super(\n patchErrorMessageFormatter(message, { name, index, operation, tree })\n );\n Object.setPrototypeOf(this, new.target.prototype); // restore prototype chain, see https://stackoverflow.com/a/48342359\n this.message = patchErrorMessageFormatter(message, {\n name,\n index,\n operation,\n tree,\n });\n }\n}\n"],"mappings":";;;;;;AAUA,MAAM,kBAAkB,OAAO,UAAU;AACzC,SAAgB,eAAe,KAAK,KAAK;AACvC,QAAO,gBAAgB,KAAK,KAAK,IAAI;;AAEvC,SAAgB,YAAY,KAAK;AAC/B,KAAI,MAAM,QAAQ,IAAI,EAAE;EACtB,MAAM,OAAO,IAAI,MAAM,IAAI,OAAO;AAClC,OAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,IAC/B,MAAK,KAAK,KAAK;AAEjB,SAAO;;AAET,KAAI,OAAO,KACT,QAAO,OAAO,KAAK,IAAI;CAEzB,IAAI,OAAO,EAAE;AACb,MAAK,IAAI,KAAK,IACZ,KAAI,eAAe,KAAK,EAAE,CACxB,MAAK,KAAK,EAAE;AAGhB,QAAO;;;;;;;;AAQT,SAAgB,WAAW,KAAK;AAC9B,SAAQ,OAAO,KAAf;EACE,KAAK,SACH,QAAO,KAAK,MAAM,KAAK,UAAU,IAAI,CAAC;EACxC,KAAK,YACH,QAAO;EACT,QACE,QAAO;;;AAIb,SAAgB,UAAU,KAAsB;CAC9C,IAAI,IAAI;CACR,MAAM,MAAM,IAAI;CAChB,IAAI;AACJ,QAAO,IAAI,KAAK;AACd,aAAW,IAAI,WAAW,EAAE;AAC5B,MAAI,YAAY,MAAM,YAAY,IAAI;AACpC;AACA;;AAEF,SAAO;;AAET,QAAO;;;;;;;AAOT,SAAgB,oBAAoB,MAAsB;AACxD,KAAI,KAAK,QAAQ,IAAI,KAAK,MAAM,KAAK,QAAQ,IAAI,KAAK,GAAI,QAAO;AACjE,QAAO,KAAK,QAAQ,MAAM,KAAK,CAAC,QAAQ,OAAO,KAAK;;;;;;;AAOtD,SAAgB,sBAAsB,MAAsB;AAC1D,QAAO,KAAK,QAAQ,OAAO,IAAI,CAAC,QAAQ,OAAO,IAAI;;;;;AAiCrD,SAAgB,aAAa,KAAmB;AAC9C,KAAI,QAAQ,KAAA,EACV,QAAO;AAET,KAAI;MACE,MAAM,QAAQ,IAAI;QACf,IAAI,IAAI,GAAG,MAAM,IAAI,QAAQ,IAAI,KAAK,IACzC,KAAI,aAAa,IAAI,GAAG,CACtB,QAAO;aAGF,OAAO,QAAQ,UAAU;GAClC,MAAM,UAAU,YAAY,IAAI;GAChC,MAAM,gBAAgB,QAAQ;AAC9B,QAAK,IAAI,IAAI,GAAG,IAAI,eAAe,IACjC,KAAI,aAAa,IAAI,QAAQ,IAAI,CAC/B,QAAO;;;AAKf,QAAO;;AAkBT,SAAS,2BAA2B,SAAiB,MAAsB;CACzE,MAAM,eAAe,CAAC,QAAQ;AAC9B,MAAK,MAAM,OAAO,MAAM;EACtB,MAAM,QACJ,OAAO,KAAK,SAAS,WACjB,KAAK,UAAU,KAAK,MAAM,MAAM,EAAE,GAClC,KAAK;AACX,MAAI,OAAO,UAAU,YACnB,cAAa,KAAK,GAAG,IAAI,IAAI,QAAQ;;AAGzC,QAAO,aAAa,KAAK,KAAK;;AAEhC,IAAa,aAAb,cAAgC,MAAM;CACpC,YACE,SACA,MACA,OACA,WACA,MACA;AACA,QACE,2BAA2B,SAAS;GAAE;GAAM;GAAO;GAAW;GAAM,CAAC,CACtE;AAPM,OAAA,OAAA;AACA,OAAA,QAAA;AACA,OAAA,YAAA;AACA,OAAA,OAAA;AAKP,SAAO,eAAe,MAAM,IAAI,OAAO,UAAU;AACjD,OAAK,UAAU,2BAA2B,SAAS;GACjD;GACA;GACA;GACA;GACD,CAAC"}
|
package/dist/utils/format.cjs
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require('../_virtual/_rolldown/runtime.cjs');
|
|
3
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
2
|
//#region src/utils/format.ts
|
|
5
|
-
var format_exports = /* @__PURE__ */
|
|
6
|
-
|
|
3
|
+
var format_exports = /* @__PURE__ */ require("../_virtual/_rolldown/runtime.cjs").__exportAll({});
|
|
7
4
|
//#endregion
|
|
8
|
-
Object.defineProperty(exports,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
Object.defineProperty(exports, "format_exports", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return format_exports;
|
|
9
|
+
}
|
|
13
10
|
});
|
|
11
|
+
|
|
14
12
|
//# sourceMappingURL=format.cjs.map
|
package/dist/utils/format.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_utils_json_schema = require(
|
|
4
|
-
const require_types = require(
|
|
5
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_utils_json_schema = require("./json_schema.cjs");
|
|
4
|
+
const require_types = require("../tools/types.cjs");
|
|
6
5
|
//#region src/utils/function_calling.ts
|
|
7
6
|
var function_calling_exports = /* @__PURE__ */ require_runtime.__exportAll({
|
|
8
7
|
convertToOpenAIFunction: () => convertToOpenAIFunction,
|
|
@@ -50,18 +49,18 @@ function convertToOpenAITool(tool, fields) {
|
|
|
50
49
|
if (fieldsCopy?.strict !== void 0) toolDef.function.strict = fieldsCopy.strict;
|
|
51
50
|
return toolDef;
|
|
52
51
|
}
|
|
53
|
-
|
|
54
52
|
//#endregion
|
|
55
53
|
exports.convertToOpenAIFunction = convertToOpenAIFunction;
|
|
56
54
|
exports.convertToOpenAITool = convertToOpenAITool;
|
|
57
|
-
Object.defineProperty(exports,
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
Object.defineProperty(exports, "function_calling_exports", {
|
|
56
|
+
enumerable: true,
|
|
57
|
+
get: function() {
|
|
58
|
+
return function_calling_exports;
|
|
59
|
+
}
|
|
62
60
|
});
|
|
63
61
|
exports.isLangChainTool = require_types.isLangChainTool;
|
|
64
62
|
exports.isRunnableToolLike = require_types.isRunnableToolLike;
|
|
65
63
|
exports.isStructuredTool = require_types.isStructuredTool;
|
|
66
64
|
exports.isStructuredToolParams = require_types.isStructuredToolParams;
|
|
65
|
+
|
|
67
66
|
//# sourceMappingURL=function_calling.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_calling.cjs","names":["toJsonSchema","isLangChainTool"],"sources":["../../src/utils/function_calling.ts"],"sourcesContent":["import {\n StructuredToolInterface,\n StructuredToolParams,\n isLangChainTool,\n} from \"../tools/types.js\";\nimport { FunctionDefinition, ToolDefinition } from \"../language_models/base.js\";\nimport { RunnableToolLike } from \"../runnables/base.js\";\nimport { toJsonSchema } from \"./json_schema.js\";\n\n// These utility functions were moved to a more appropriate location,\n// but we still export them here for backwards compatibility.\nexport {\n isStructuredTool,\n isStructuredToolParams,\n isRunnableToolLike,\n isLangChainTool,\n} from \"../tools/types.js\";\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a format\n * that is compatible with OpenAI function calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | RunnableToolLike} tool The tool to convert to an OpenAI function.\n * @returns {FunctionDefinition} The inputted tool in OpenAI function format.\n */\nexport function convertToOpenAIFunction(\n tool: StructuredToolInterface | RunnableToolLike | StructuredToolParams,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): FunctionDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n return {\n name: tool.name,\n description: tool.description,\n parameters: toJsonSchema(tool.schema),\n // Do not include the `strict` field if it is `undefined`.\n ...(fieldsCopy?.strict !== undefined ? { strict: fieldsCopy.strict } : {}),\n };\n}\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a\n * format that is compatible with OpenAI tool calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | Record<string, any> | RunnableToolLike} tool The tool to convert to an OpenAI tool.\n * @returns {ToolDefinition} The inputted tool in OpenAI tool format.\n */\nexport function convertToOpenAITool(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tool: StructuredToolInterface | Record<string, any> | RunnableToolLike,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): ToolDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n let toolDef: ToolDefinition | undefined;\n if (isLangChainTool(tool)) {\n toolDef = {\n type: \"function\",\n function: convertToOpenAIFunction(tool),\n };\n } else {\n toolDef = tool as ToolDefinition;\n }\n\n if (fieldsCopy?.strict !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (toolDef.function as any).strict = fieldsCopy.strict;\n }\n\n return toolDef;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"function_calling.cjs","names":["toJsonSchema","isLangChainTool"],"sources":["../../src/utils/function_calling.ts"],"sourcesContent":["import {\n StructuredToolInterface,\n StructuredToolParams,\n isLangChainTool,\n} from \"../tools/types.js\";\nimport { FunctionDefinition, ToolDefinition } from \"../language_models/base.js\";\nimport { RunnableToolLike } from \"../runnables/base.js\";\nimport { toJsonSchema } from \"./json_schema.js\";\n\n// These utility functions were moved to a more appropriate location,\n// but we still export them here for backwards compatibility.\nexport {\n isStructuredTool,\n isStructuredToolParams,\n isRunnableToolLike,\n isLangChainTool,\n} from \"../tools/types.js\";\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a format\n * that is compatible with OpenAI function calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | RunnableToolLike} tool The tool to convert to an OpenAI function.\n * @returns {FunctionDefinition} The inputted tool in OpenAI function format.\n */\nexport function convertToOpenAIFunction(\n tool: StructuredToolInterface | RunnableToolLike | StructuredToolParams,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): FunctionDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n return {\n name: tool.name,\n description: tool.description,\n parameters: toJsonSchema(tool.schema),\n // Do not include the `strict` field if it is `undefined`.\n ...(fieldsCopy?.strict !== undefined ? { strict: fieldsCopy.strict } : {}),\n };\n}\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a\n * format that is compatible with OpenAI tool calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | Record<string, any> | RunnableToolLike} tool The tool to convert to an OpenAI tool.\n * @returns {ToolDefinition} The inputted tool in OpenAI tool format.\n */\nexport function convertToOpenAITool(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tool: StructuredToolInterface | Record<string, any> | RunnableToolLike,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): ToolDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n let toolDef: ToolDefinition | undefined;\n if (isLangChainTool(tool)) {\n toolDef = {\n type: \"function\",\n function: convertToOpenAIFunction(tool),\n };\n } else {\n toolDef = tool as ToolDefinition;\n }\n\n if (fieldsCopy?.strict !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (toolDef.function as any).strict = fieldsCopy.strict;\n }\n\n return toolDef;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AA2BA,SAAgB,wBACd,MACA,QASoB;CAEpB,MAAM,aAAa,OAAO,WAAW,WAAW,KAAA,IAAY;AAE5D,QAAO;EACL,MAAM,KAAK;EACX,aAAa,KAAK;EAClB,YAAYA,0BAAAA,aAAa,KAAK,OAAO;EAErC,GAAI,YAAY,WAAW,KAAA,IAAY,EAAE,QAAQ,WAAW,QAAQ,GAAG,EAAE;EAC1E;;;;;;;;;;;AAYH,SAAgB,oBAEd,MACA,QASgB;CAEhB,MAAM,aAAa,OAAO,WAAW,WAAW,KAAA,IAAY;CAE5D,IAAI;AACJ,KAAIC,cAAAA,gBAAgB,KAAK,CACvB,WAAU;EACR,MAAM;EACN,UAAU,wBAAwB,KAAK;EACxC;KAED,WAAU;AAGZ,KAAI,YAAY,WAAW,KAAA,EAExB,SAAQ,SAAiB,SAAS,WAAW;AAGhD,QAAO"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { toJsonSchema } from "./json_schema.js";
|
|
3
3
|
import { isLangChainTool, isRunnableToolLike, isStructuredTool, isStructuredToolParams } from "../tools/types.js";
|
|
4
|
-
|
|
5
4
|
//#region src/utils/function_calling.ts
|
|
6
5
|
var function_calling_exports = /* @__PURE__ */ __exportAll({
|
|
7
6
|
convertToOpenAIFunction: () => convertToOpenAIFunction,
|
|
@@ -49,7 +48,7 @@ function convertToOpenAITool(tool, fields) {
|
|
|
49
48
|
if (fieldsCopy?.strict !== void 0) toolDef.function.strict = fieldsCopy.strict;
|
|
50
49
|
return toolDef;
|
|
51
50
|
}
|
|
52
|
-
|
|
53
51
|
//#endregion
|
|
54
52
|
export { convertToOpenAIFunction, convertToOpenAITool, function_calling_exports, isLangChainTool, isRunnableToolLike, isStructuredTool, isStructuredToolParams };
|
|
53
|
+
|
|
55
54
|
//# sourceMappingURL=function_calling.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"function_calling.js","names":[],"sources":["../../src/utils/function_calling.ts"],"sourcesContent":["import {\n StructuredToolInterface,\n StructuredToolParams,\n isLangChainTool,\n} from \"../tools/types.js\";\nimport { FunctionDefinition, ToolDefinition } from \"../language_models/base.js\";\nimport { RunnableToolLike } from \"../runnables/base.js\";\nimport { toJsonSchema } from \"./json_schema.js\";\n\n// These utility functions were moved to a more appropriate location,\n// but we still export them here for backwards compatibility.\nexport {\n isStructuredTool,\n isStructuredToolParams,\n isRunnableToolLike,\n isLangChainTool,\n} from \"../tools/types.js\";\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a format\n * that is compatible with OpenAI function calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | RunnableToolLike} tool The tool to convert to an OpenAI function.\n * @returns {FunctionDefinition} The inputted tool in OpenAI function format.\n */\nexport function convertToOpenAIFunction(\n tool: StructuredToolInterface | RunnableToolLike | StructuredToolParams,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): FunctionDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n return {\n name: tool.name,\n description: tool.description,\n parameters: toJsonSchema(tool.schema),\n // Do not include the `strict` field if it is `undefined`.\n ...(fieldsCopy?.strict !== undefined ? { strict: fieldsCopy.strict } : {}),\n };\n}\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a\n * format that is compatible with OpenAI tool calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | Record<string, any> | RunnableToolLike} tool The tool to convert to an OpenAI tool.\n * @returns {ToolDefinition} The inputted tool in OpenAI tool format.\n */\nexport function convertToOpenAITool(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tool: StructuredToolInterface | Record<string, any> | RunnableToolLike,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): ToolDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n let toolDef: ToolDefinition | undefined;\n if (isLangChainTool(tool)) {\n toolDef = {\n type: \"function\",\n function: convertToOpenAIFunction(tool),\n };\n } else {\n toolDef = tool as ToolDefinition;\n }\n\n if (fieldsCopy?.strict !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (toolDef.function as any).strict = fieldsCopy.strict;\n }\n\n return toolDef;\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"function_calling.js","names":[],"sources":["../../src/utils/function_calling.ts"],"sourcesContent":["import {\n StructuredToolInterface,\n StructuredToolParams,\n isLangChainTool,\n} from \"../tools/types.js\";\nimport { FunctionDefinition, ToolDefinition } from \"../language_models/base.js\";\nimport { RunnableToolLike } from \"../runnables/base.js\";\nimport { toJsonSchema } from \"./json_schema.js\";\n\n// These utility functions were moved to a more appropriate location,\n// but we still export them here for backwards compatibility.\nexport {\n isStructuredTool,\n isStructuredToolParams,\n isRunnableToolLike,\n isLangChainTool,\n} from \"../tools/types.js\";\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a format\n * that is compatible with OpenAI function calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | RunnableToolLike} tool The tool to convert to an OpenAI function.\n * @returns {FunctionDefinition} The inputted tool in OpenAI function format.\n */\nexport function convertToOpenAIFunction(\n tool: StructuredToolInterface | RunnableToolLike | StructuredToolParams,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): FunctionDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n return {\n name: tool.name,\n description: tool.description,\n parameters: toJsonSchema(tool.schema),\n // Do not include the `strict` field if it is `undefined`.\n ...(fieldsCopy?.strict !== undefined ? { strict: fieldsCopy.strict } : {}),\n };\n}\n\n/**\n * Formats a `StructuredTool` or `RunnableToolLike` instance into a\n * format that is compatible with OpenAI tool calling. If `StructuredTool` or\n * `RunnableToolLike` has a zod schema, the output will be converted into a\n * JSON schema, which is then used as the parameters for the OpenAI tool.\n *\n * @param {StructuredToolInterface | Record<string, any> | RunnableToolLike} tool The tool to convert to an OpenAI tool.\n * @returns {ToolDefinition} The inputted tool in OpenAI tool format.\n */\nexport function convertToOpenAITool(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n tool: StructuredToolInterface | Record<string, any> | RunnableToolLike,\n fields?:\n | {\n /**\n * If `true`, model output is guaranteed to exactly match the JSON Schema\n * provided in the function definition.\n */\n strict?: boolean;\n }\n | number\n): ToolDefinition {\n // @TODO 0.3.0 Remove the `number` typing\n const fieldsCopy = typeof fields === \"number\" ? undefined : fields;\n\n let toolDef: ToolDefinition | undefined;\n if (isLangChainTool(tool)) {\n toolDef = {\n type: \"function\",\n function: convertToOpenAIFunction(tool),\n };\n } else {\n toolDef = tool as ToolDefinition;\n }\n\n if (fieldsCopy?.strict !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (toolDef.function as any).strict = fieldsCopy.strict;\n }\n\n return toolDef;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AA2BA,SAAgB,wBACd,MACA,QASoB;CAEpB,MAAM,aAAa,OAAO,WAAW,WAAW,KAAA,IAAY;AAE5D,QAAO;EACL,MAAM,KAAK;EACX,aAAa,KAAK;EAClB,YAAY,aAAa,KAAK,OAAO;EAErC,GAAI,YAAY,WAAW,KAAA,IAAY,EAAE,QAAQ,WAAW,QAAQ,GAAG,EAAE;EAC1E;;;;;;;;;;;AAYH,SAAgB,oBAEd,MACA,QASgB;CAEhB,MAAM,aAAa,OAAO,WAAW,WAAW,KAAA,IAAY;CAE5D,IAAI;AACJ,KAAI,gBAAgB,KAAK,CACvB,WAAU;EACR,MAAM;EACN,UAAU,wBAAwB,KAAK;EACxC;KAED,WAAU;AAGZ,KAAI,YAAY,WAAW,KAAA,EAExB,SAAQ,SAAiB,SAAS,WAAW;AAGhD,QAAO"}
|
package/dist/utils/hash.cjs
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value:
|
|
2
|
-
const require_runtime = require(
|
|
3
|
-
const require_hash = require(
|
|
4
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_runtime = require("../_virtual/_rolldown/runtime.cjs");
|
|
3
|
+
const require_hash = require("./js-sha256/hash.cjs");
|
|
5
4
|
//#region src/utils/hash.ts
|
|
6
5
|
var hash_exports = /* @__PURE__ */ require_runtime.__exportAll({ sha256: () => require_hash.sha256 });
|
|
7
|
-
|
|
8
6
|
//#endregion
|
|
9
|
-
Object.defineProperty(exports,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
7
|
+
Object.defineProperty(exports, "hash_exports", {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: function() {
|
|
10
|
+
return hash_exports;
|
|
11
|
+
}
|
|
14
12
|
});
|
|
15
13
|
exports.sha256 = require_hash.sha256;
|
|
14
|
+
|
|
16
15
|
//# sourceMappingURL=hash.cjs.map
|
package/dist/utils/hash.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { __exportAll } from "../_virtual/_rolldown/runtime.js";
|
|
2
2
|
import { sha256 } from "./js-sha256/hash.js";
|
|
3
|
-
|
|
4
3
|
//#region src/utils/hash.ts
|
|
5
4
|
var hash_exports = /* @__PURE__ */ __exportAll({ sha256: () => sha256 });
|
|
6
|
-
|
|
7
5
|
//#endregion
|
|
8
6
|
export { hash_exports, sha256 };
|
|
7
|
+
|
|
9
8
|
//# sourceMappingURL=hash.js.map
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
|
|
2
1
|
//#region src/utils/is-network-error/index.js
|
|
3
2
|
const objectToString = Object.prototype.toString;
|
|
4
3
|
const isError = (value) => objectToString.call(value) === "[object Error]";
|
|
@@ -20,7 +19,7 @@ function isNetworkError(error) {
|
|
|
20
19
|
if (message.startsWith("error sending request for url")) return true;
|
|
21
20
|
return errorMessages.has(message);
|
|
22
21
|
}
|
|
23
|
-
|
|
24
22
|
//#endregion
|
|
25
23
|
exports.default = isNetworkError;
|
|
24
|
+
|
|
26
25
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/utils/is-network-error/index.js"],"sourcesContent":["/* eslint-disable */\nconst objectToString = Object.prototype.toString;\n\nconst isError = (value) => objectToString.call(value) === \"[object Error]\";\n\nconst errorMessages = new Set([\n \"network error\", // Chrome\n \"Failed to fetch\", // Chrome\n \"NetworkError when attempting to fetch resource.\", // Firefox\n \"The Internet connection appears to be offline.\", // Safari 16\n \"Network request failed\", // `cross-fetch`\n \"fetch failed\", // Undici (Node.js)\n \"terminated\", // Undici (Node.js)\n \" A network error occurred.\", // Bun (WebKit)\n \"Network connection lost\", // Cloudflare Workers (fetch)\n]);\n\nexport default function isNetworkError(error) {\n const isValid =\n error &&\n isError(error) &&\n error.name === \"TypeError\" &&\n typeof error.message === \"string\";\n\n if (!isValid) {\n return false;\n }\n\n const { message, stack } = error;\n\n // Safari 17+ has generic message but no stack for network errors\n if (message === \"Load failed\") {\n return (\n stack === undefined ||\n // Sentry adds its own stack trace to the fetch error, so also check for that\n \"__sentry_captured__\" in error\n );\n }\n\n // Deno network errors start with specific text\n if (message.startsWith(\"error sending request for url\")) {\n return true;\n }\n\n // Standard network error messages\n return errorMessages.has(message);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","names":[],"sources":["../../../src/utils/is-network-error/index.js"],"sourcesContent":["/* eslint-disable */\nconst objectToString = Object.prototype.toString;\n\nconst isError = (value) => objectToString.call(value) === \"[object Error]\";\n\nconst errorMessages = new Set([\n \"network error\", // Chrome\n \"Failed to fetch\", // Chrome\n \"NetworkError when attempting to fetch resource.\", // Firefox\n \"The Internet connection appears to be offline.\", // Safari 16\n \"Network request failed\", // `cross-fetch`\n \"fetch failed\", // Undici (Node.js)\n \"terminated\", // Undici (Node.js)\n \" A network error occurred.\", // Bun (WebKit)\n \"Network connection lost\", // Cloudflare Workers (fetch)\n]);\n\nexport default function isNetworkError(error) {\n const isValid =\n error &&\n isError(error) &&\n error.name === \"TypeError\" &&\n typeof error.message === \"string\";\n\n if (!isValid) {\n return false;\n }\n\n const { message, stack } = error;\n\n // Safari 17+ has generic message but no stack for network errors\n if (message === \"Load failed\") {\n return (\n stack === undefined ||\n // Sentry adds its own stack trace to the fetch error, so also check for that\n \"__sentry_captured__\" in error\n );\n }\n\n // Deno network errors start with specific text\n if (message.startsWith(\"error sending request for url\")) {\n return true;\n }\n\n // Standard network error messages\n return errorMessages.has(message);\n}\n"],"mappings":";AACA,MAAM,iBAAiB,OAAO,UAAU;AAExC,MAAM,WAAW,UAAU,eAAe,KAAK,MAAM,KAAK;AAE1D,MAAM,gBAAgB,IAAI,IAAI;CAC5B;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACD,CAAC;AAEF,SAAwB,eAAe,OAAO;AAO5C,KAAI,EALF,SACA,QAAQ,MAAM,IACd,MAAM,SAAS,eACf,OAAO,MAAM,YAAY,UAGzB,QAAO;CAGT,MAAM,EAAE,SAAS,UAAU;AAG3B,KAAI,YAAY,cACd,QACE,UAAU,KAAA,KAEV,yBAAyB;AAK7B,KAAI,QAAQ,WAAW,gCAAgC,CACrD,QAAO;AAIT,QAAO,cAAc,IAAI,QAAQ"}
|