@cloudcare/browser-core 3.2.13 → 3.2.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/cjs/dataMap.js +1 -1
  2. package/cjs/dataMap.js.map +1 -1
  3. package/cjs/helper/lifeCycle.js +1 -0
  4. package/cjs/helper/lifeCycle.js.map +1 -1
  5. package/cjs/helper/limitModification.js +39 -38
  6. package/cjs/helper/limitModification.js.map +1 -1
  7. package/cjs/helper/serialisation/const.js +18 -0
  8. package/cjs/helper/serialisation/const.js.map +1 -0
  9. package/cjs/helper/serialisation/contextManager.js +45 -50
  10. package/cjs/helper/serialisation/contextManager.js.map +1 -1
  11. package/cjs/helper/serialisation/customerDataTracker.js +127 -0
  12. package/cjs/helper/serialisation/customerDataTracker.js.map +1 -0
  13. package/cjs/helper/tools.js +2 -116
  14. package/cjs/helper/tools.js.map +1 -1
  15. package/cjs/index.js +16 -4
  16. package/cjs/index.js.map +1 -1
  17. package/esm/dataMap.js +1 -1
  18. package/esm/dataMap.js.map +1 -1
  19. package/esm/helper/lifeCycle.js +1 -0
  20. package/esm/helper/lifeCycle.js.map +1 -1
  21. package/esm/helper/limitModification.js +40 -40
  22. package/esm/helper/limitModification.js.map +1 -1
  23. package/esm/helper/serialisation/const.js +11 -0
  24. package/esm/helper/serialisation/const.js.map +1 -0
  25. package/esm/helper/serialisation/contextManager.js +46 -49
  26. package/esm/helper/serialisation/contextManager.js.map +1 -1
  27. package/esm/helper/serialisation/customerDataTracker.js +116 -0
  28. package/esm/helper/serialisation/customerDataTracker.js.map +1 -0
  29. package/esm/helper/tools.js +0 -108
  30. package/esm/helper/tools.js.map +1 -1
  31. package/esm/index.js +2 -1
  32. package/esm/index.js.map +1 -1
  33. package/package.json +2 -2
  34. package/src/dataMap.js +1 -1
  35. package/src/helper/lifeCycle.js +1 -0
  36. package/src/helper/limitModification.js +43 -48
  37. package/src/helper/serialisation/const.js +10 -0
  38. package/src/helper/serialisation/contextManager.js +41 -64
  39. package/src/helper/serialisation/customerDataTracker.js +139 -0
  40. package/src/helper/tools.js +2 -138
  41. package/src/index.js +2 -1
  42. package/cjs/helper/serialisation/heavyCustomerDataWarning.js +0 -29
  43. package/cjs/helper/serialisation/heavyCustomerDataWarning.js.map +0 -1
  44. package/esm/helper/serialisation/heavyCustomerDataWarning.js +0 -21
  45. package/esm/helper/serialisation/heavyCustomerDataWarning.js.map +0 -1
  46. package/src/helper/serialisation/heavyCustomerDataWarning.js +0 -28
package/cjs/dataMap.js CHANGED
@@ -34,7 +34,7 @@ var commonTags = {
34
34
  view_url: 'view.url',
35
35
  view_host: 'view.host',
36
36
  view_path: 'view.path',
37
- view_name: 'view.path',
37
+ view_name: 'view.name',
38
38
  // 冗余一个字段
39
39
  view_path_group: 'view.path_group'
40
40
  };
@@ -1 +1 @@
1
- {"version":3,"file":"dataMap.js","names":["_enums","require","commonTags","sdk_name","sdk_version","app_id","env","service","version","source","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","exports","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","drift","dataMap","view","type","RumEventType","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_time","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_id","resource_status","resource_status_group","resource_method","duration","resource_size","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_delivery_type","resource_type","resource_protocol","resource_encode_size","resource_decode_size","resource_transfer_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","error_handling_stack","long_task","LONG_TASK","long_task_id","blocking_duration","first_ui_event_timestamp","render_start","style_and_layout_start","long_task_start_time","scripts","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","connectivity","runtime_env","usage","configuration","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n source: 'source',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.path', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate',\n drift: '_gc.drift'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_time: 'view.cumulative_layout_shift_time',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_id: 'resource.id',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_delivery_type: 'resource.delivery_type',\n resource_type: 'resource.type',\n resource_protocol: 'resource.protocol',\n resource_encode_size: 'resource.encoded_body_size',\n resource_decode_size: 'resource.decoded_body_size',\n resource_transfer_size: 'resource.transfer_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes'],\n error_handling_stack: ['string', 'error.handling_stack']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration',\n blocking_duration: 'long_task.blocking_duration',\n first_ui_event_timestamp: 'long_task.first_ui_event_timestamp',\n render_start: 'long_task.render_start',\n style_and_layout_start: 'long_task.style_and_layout_start',\n long_task_start_time: 'long_task.start_time',\n scripts: ['string', 'long_task.scripts']\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind'],\n connectivity: ['string', 'telemetry.connectivity'],\n runtime_env: ['string', 'telemetry.runtime_env'],\n usage: ['string', 'telemetry.usage'],\n configuration: ['string', 'telemetry.configuration']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message'],\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack']\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"dataMap.js","names":["_enums","require","commonTags","sdk_name","sdk_version","app_id","env","service","version","source","userid","user_email","user_name","session_id","session_type","session_sampling","is_signin","os","os_version","os_version_major","browser","browser_version","browser_version_major","screen_size","network_type","device","view_id","view_referrer","view_url","view_host","view_path","view_name","view_path_group","exports","commonFields","view_url_query","action_id","action_ids","view_in_foreground","display","session_has_replay","is_login","page_states","session_sample_rate","session_replay_sample_rate","drift","dataMap","view","type","RumEventType","VIEW","tags","view_loading_type","view_apdex_level","view_privacy_replay_level","fields","sampled_for_replay","is_active","session_replay_stats","session_is_active","view_error_count","view_resource_count","view_long_task_count","view_action_count","first_contentful_paint","largest_contentful_paint","largest_contentful_paint_element_selector","cumulative_layout_shift","cumulative_layout_shift_time","cumulative_layout_shift_target_selector","first_input_delay","loading_time","dom_interactive","dom_content_loaded","dom_complete","load_event","first_input_time","first_input_target_selector","first_paint_time","interaction_to_next_paint","interaction_to_next_paint_target_selector","resource_load_time","time_to_interactive","dom","dom_ready","time_spent","first_byte","frustration_count","custom_timings","resource","RESOURCE","trace_id","span_id","resource_id","resource_status","resource_status_group","resource_method","duration","resource_size","resource_url","resource_url_host","resource_url_path","resource_url_path_group","resource_url_query","resource_delivery_type","resource_type","resource_protocol","resource_encode_size","resource_decode_size","resource_transfer_size","resource_render_blocking_status","resource_dns","resource_tcp","resource_ssl","resource_ttfb","resource_trans","resource_redirect","resource_first_byte","resource_dns_time","resource_download_time","resource_first_byte_time","resource_connect_time","resource_ssl_time","resource_redirect_time","error","ERROR","error_id","error_source","error_type","error_handling","error_message","error_stack","error_causes","error_handling_stack","long_task","LONG_TASK","long_task_id","blocking_duration","first_ui_event_timestamp","render_start","style_and_layout_start","long_task_start_time","scripts","action","ACTION","action_type","action_name","action_error_count","action_resource_count","action_frustration_types","action_long_task_count","action_target","action_position","telemetry","status","message","error_kind","connectivity","runtime_env","usage","configuration","browser_log","LOGGER","error_resource_url","error_resource_url_host","error_resource_url_path","error_resource_url_path_group","error_resource_status","error_resource_status_group","error_resource_method"],"sources":["../src/dataMap.js"],"sourcesContent":["import { RumEventType } from './helper/enums'\nexport var commonTags = {\n sdk_name: '_gc.sdk_name',\n sdk_version: '_gc.sdk_version',\n app_id: 'application.id',\n env: 'env',\n service: 'service',\n version: 'version',\n source: 'source',\n userid: 'user.id',\n user_email: 'user.email',\n user_name: 'user.name',\n session_id: 'session.id',\n session_type: 'session.type',\n session_sampling: 'session.is_sampling',\n is_signin: 'user.is_signin',\n os: 'device.os',\n os_version: 'device.os_version',\n os_version_major: 'device.os_version_major',\n browser: 'device.browser',\n browser_version: 'device.browser_version',\n browser_version_major: 'device.browser_version_major',\n screen_size: 'device.screen_size',\n network_type: 'device.network_type',\n device: 'device.device',\n view_id: 'view.id',\n view_referrer: 'view.referrer',\n view_url: 'view.url',\n view_host: 'view.host',\n view_path: 'view.path',\n view_name: 'view.name', // 冗余一个字段\n view_path_group: 'view.path_group'\n}\nexport var commonFields = {\n view_url_query: 'view.url_query',\n action_id: 'action.id',\n action_ids: 'action.ids',\n view_in_foreground: 'view.in_foreground',\n display: 'display',\n session_has_replay: 'session.has_replay',\n is_login: 'user.is_login',\n page_states: '_gc.page_states',\n session_sample_rate: '_gc.configuration.session_sample_rate',\n session_replay_sample_rate: '_gc.configuration.session_replay_sample_rate',\n drift: '_gc.drift'\n}\n// 需要用双引号将字符串类型的field value括起来, 这里有数组标示[string, path]\nexport var dataMap = {\n view: {\n type: RumEventType.VIEW,\n tags: {\n view_loading_type: 'view.loading_type',\n view_apdex_level: 'view.apdex_level',\n view_privacy_replay_level: 'privacy.replay_level'\n },\n fields: {\n sampled_for_replay: 'session.sampled_for_replay',\n is_active: 'view.is_active',\n session_replay_stats: '_gc.replay_stats',\n session_is_active: 'session.is_active',\n view_error_count: 'view.error.count',\n view_resource_count: 'view.resource.count',\n view_long_task_count: 'view.long_task.count',\n view_action_count: 'view.action.count',\n first_contentful_paint: 'view.first_contentful_paint',\n largest_contentful_paint: 'view.largest_contentful_paint',\n largest_contentful_paint_element_selector:\n 'view.largest_contentful_paint_element_selector',\n cumulative_layout_shift: 'view.cumulative_layout_shift',\n cumulative_layout_shift_time: 'view.cumulative_layout_shift_time',\n cumulative_layout_shift_target_selector:\n 'view.cumulative_layout_shift_target_selector',\n first_input_delay: 'view.first_input_delay',\n loading_time: 'view.loading_time',\n dom_interactive: 'view.dom_interactive',\n dom_content_loaded: 'view.dom_content_loaded',\n dom_complete: 'view.dom_complete',\n load_event: 'view.load_event',\n first_input_time: 'view.first_input_time',\n first_input_target_selector: 'view.first_input_target_selector',\n first_paint_time: 'view.fpt',\n interaction_to_next_paint: 'view.interaction_to_next_paint',\n interaction_to_next_paint_target_selector:\n 'view.interaction_to_next_paint_target_selector',\n resource_load_time: 'view.resource_load_time',\n time_to_interactive: 'view.tti',\n dom: 'view.dom',\n dom_ready: 'view.dom_ready',\n time_spent: 'view.time_spent',\n first_byte: 'view.first_byte',\n frustration_count: 'view.frustration.count',\n custom_timings: 'view.custom_timings'\n }\n },\n resource: {\n type: RumEventType.RESOURCE,\n tags: {\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n resource_id: 'resource.id',\n resource_status: 'resource.status',\n resource_status_group: 'resource.status_group',\n resource_method: 'resource.method'\n },\n fields: {\n duration: 'resource.duration',\n resource_size: 'resource.size',\n resource_url: 'resource.url',\n resource_url_host: 'resource.url_host',\n resource_url_path: 'resource.url_path',\n resource_url_path_group: 'resource.url_path_group',\n resource_url_query: 'resource.url_query',\n resource_delivery_type: 'resource.delivery_type',\n resource_type: 'resource.type',\n resource_protocol: 'resource.protocol',\n resource_encode_size: 'resource.encoded_body_size',\n resource_decode_size: 'resource.decoded_body_size',\n resource_transfer_size: 'resource.transfer_size',\n resource_render_blocking_status: 'resource.render_blocking_status',\n resource_dns: 'resource.dns',\n resource_tcp: 'resource.tcp',\n resource_ssl: 'resource.ssl',\n resource_ttfb: 'resource.ttfb',\n resource_trans: 'resource.trans',\n resource_redirect: 'resource.redirect',\n resource_first_byte: 'resource.firstbyte',\n resource_dns_time: 'resource.dns_time',\n resource_download_time: 'resource.download_time',\n resource_first_byte_time: 'resource.first_byte_time',\n resource_connect_time: 'resource.connect_time',\n resource_ssl_time: 'resource.ssl_time',\n resource_redirect_time: 'resource.redirect_time'\n }\n },\n error: {\n type: RumEventType.ERROR,\n tags: {\n error_id: 'error.id',\n trace_id: '_gc.trace_id',\n span_id: '_gc.span_id',\n error_source: 'error.source',\n error_type: 'error.type',\n error_handling: 'error.handling'\n // resource_url: 'error.resource.url',\n // resource_url_host: 'error.resource.url_host',\n // resource_url_path: 'error.resource.url_path',\n // resource_url_path_group: 'error.resource.url_path_group',\n // resource_status: 'error.resource.status',\n // resource_status_group: 'error.resource.status_group',\n // resource_method: 'error.resource.method'\n },\n fields: {\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack'],\n error_causes: ['string', 'error.causes'],\n error_handling_stack: ['string', 'error.handling_stack']\n }\n },\n long_task: {\n type: RumEventType.LONG_TASK,\n tags: {\n long_task_id: 'long_task.id'\n },\n fields: {\n duration: 'long_task.duration',\n blocking_duration: 'long_task.blocking_duration',\n first_ui_event_timestamp: 'long_task.first_ui_event_timestamp',\n render_start: 'long_task.render_start',\n style_and_layout_start: 'long_task.style_and_layout_start',\n long_task_start_time: 'long_task.start_time',\n scripts: ['string', 'long_task.scripts']\n }\n },\n action: {\n type: RumEventType.ACTION,\n tags: {\n action_type: 'action.type'\n },\n fields: {\n action_name: 'action.target.name',\n duration: 'action.loading_time',\n action_error_count: 'action.error.count',\n action_resource_count: 'action.resource.count',\n action_frustration_types: 'action.frustration.type',\n action_long_task_count: 'action.long_task.count',\n action_target: '_gc.action.target',\n action_position: '_gc.action.position'\n }\n },\n telemetry: {\n type: 'telemetry',\n fields: {\n status: 'telemetry.status',\n message: ['string', 'telemetry.message'],\n type: 'telemetry.type',\n error_stack: ['string', 'telemetry.error.stack'],\n error_kind: ['string', 'telemetry.error.kind'],\n connectivity: ['string', 'telemetry.connectivity'],\n runtime_env: ['string', 'telemetry.runtime_env'],\n usage: ['string', 'telemetry.usage'],\n configuration: ['string', 'telemetry.configuration']\n }\n },\n browser_log: {\n type: RumEventType.LOGGER,\n tags: {\n error_source: 'error.source',\n error_type: 'error.type',\n error_resource_url: 'http.url',\n error_resource_url_host: 'http.url_host',\n error_resource_url_path: 'http.url_path',\n error_resource_url_path_group: 'http.url_path_group',\n error_resource_status: 'http.status_code',\n error_resource_status_group: 'http.status_group',\n error_resource_method: 'http.method',\n action_id: 'user_action.id',\n service: 'service',\n status: 'status'\n },\n fields: {\n message: ['string', 'message'],\n error_message: ['string', 'error.message'],\n error_stack: ['string', 'error.stack']\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -11,6 +11,7 @@ var LifeCycleEventType = {
11
11
  BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',
12
12
  VIEW_CREATED: 'VIEW_CREATED',
13
13
  VIEW_UPDATED: 'VIEW_UPDATED',
14
+ BEFORE_VIEW_UPDATED: 'BEFORE_VIEW_UPDATED',
14
15
  VIEW_ENDED: 'VIEW_ENDED',
15
16
  AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',
16
17
  SESSION_RENEWED: 'SESSION_RENEWED',
@@ -1 +1 @@
1
- {"version":3,"file":"lifeCycle.js","names":["_tools","require","LifeCycleEventType","AUTO_ACTION_COMPLETED","BEFORE_VIEW_CREATED","VIEW_CREATED","VIEW_UPDATED","VIEW_ENDED","AFTER_VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","exports","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","each","callback","subscribe","push","_this","unsubscribe","filter","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACO,IAAIC,kBAAkB,GAAG;EAC9BC,qBAAqB,EAAE,uBAAuB;EAC9CC,mBAAmB,EAAE,qBAAqB;EAC1CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AAAAC,OAAA,CAAAjB,kBAAA,GAAAA,kBAAA;AACM,SAASkB,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAAAA,OAAUC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClB,IAAAC,WAAI,EAACD,cAAc,EAAE,UAAUE,QAAQ,EAAE;QACvCA,QAAQ,CAACH,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDI,SAAS,EAAE,SAAAA,UAAUL,SAAS,EAAEI,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACP,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACM,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,GAAG,IAAAS,aAAM,EACjCF,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUU,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKN,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"lifeCycle.js","names":["_tools","require","LifeCycleEventType","AUTO_ACTION_COMPLETED","BEFORE_VIEW_CREATED","VIEW_CREATED","VIEW_UPDATED","BEFORE_VIEW_UPDATED","VIEW_ENDED","AFTER_VIEW_ENDED","SESSION_RENEWED","SESSION_EXPIRED","PAGE_EXITED","REQUEST_STARTED","REQUEST_COMPLETED","RAW_RUM_EVENT_COLLECTED","RUM_EVENT_COLLECTED","RAW_ERROR_COLLECTED","RAW_LOG_COLLECTED","LOG_COLLECTED","exports","LifeCycle","callbacks","prototype","notify","eventType","data","eventCallbacks","each","callback","subscribe","push","_this","unsubscribe","filter","other"],"sources":["../../src/helper/lifeCycle.js"],"sourcesContent":["import { each, filter } from './tools'\nexport var LifeCycleEventType = {\n AUTO_ACTION_COMPLETED: 'AUTO_ACTION_COMPLETED',\n BEFORE_VIEW_CREATED: 'BEFORE_VIEW_CREATED',\n VIEW_CREATED: 'VIEW_CREATED',\n VIEW_UPDATED: 'VIEW_UPDATED',\n BEFORE_VIEW_UPDATED: 'BEFORE_VIEW_UPDATED',\n VIEW_ENDED: 'VIEW_ENDED',\n AFTER_VIEW_ENDED: 'AFTER_VIEW_ENDED',\n SESSION_RENEWED: 'SESSION_RENEWED',\n SESSION_EXPIRED: 'SESSION_EXPIRED',\n PAGE_EXITED: 'PAGE_EXITED',\n REQUEST_STARTED: 'REQUEST_STARTED',\n REQUEST_COMPLETED: 'REQUEST_COMPLETED',\n RAW_RUM_EVENT_COLLECTED: 'RAW_RUM_EVENT_COLLECTED',\n RUM_EVENT_COLLECTED: 'RUM_EVENT_COLLECTED',\n RAW_ERROR_COLLECTED: 'RAW_ERROR_COLLECTED',\n RAW_LOG_COLLECTED: 'RAW_LOG_COLLECTED',\n LOG_COLLECTED: 'LOG_COLLECTED'\n}\nexport function LifeCycle() {\n this.callbacks = {}\n}\nLifeCycle.prototype = {\n notify: function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType]\n if (eventCallbacks) {\n each(eventCallbacks, function (callback) {\n callback(data)\n })\n }\n },\n subscribe: function (eventType, callback) {\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = []\n }\n this.callbacks[eventType].push(callback)\n var _this = this\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = filter(\n _this.callbacks[eventType],\n function (other) {\n return other !== callback\n }\n )\n }\n }\n }\n}\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACO,IAAIC,kBAAkB,GAAG;EAC9BC,qBAAqB,EAAE,uBAAuB;EAC9CC,mBAAmB,EAAE,qBAAqB;EAC1CC,YAAY,EAAE,cAAc;EAC5BC,YAAY,EAAE,cAAc;EAC5BC,mBAAmB,EAAE,qBAAqB;EAC1CC,UAAU,EAAE,YAAY;EACxBC,gBAAgB,EAAE,kBAAkB;EACpCC,eAAe,EAAE,iBAAiB;EAClCC,eAAe,EAAE,iBAAiB;EAClCC,WAAW,EAAE,aAAa;EAC1BC,eAAe,EAAE,iBAAiB;EAClCC,iBAAiB,EAAE,mBAAmB;EACtCC,uBAAuB,EAAE,yBAAyB;EAClDC,mBAAmB,EAAE,qBAAqB;EAC1CC,mBAAmB,EAAE,qBAAqB;EAC1CC,iBAAiB,EAAE,mBAAmB;EACtCC,aAAa,EAAE;AACjB,CAAC;AAAAC,OAAA,CAAAlB,kBAAA,GAAAA,kBAAA;AACM,SAASmB,SAASA,CAAA,EAAG;EAC1B,IAAI,CAACC,SAAS,GAAG,CAAC,CAAC;AACrB;AACAD,SAAS,CAACE,SAAS,GAAG;EACpBC,MAAM,EAAE,SAAAA,OAAUC,SAAS,EAAEC,IAAI,EAAE;IACjC,IAAIC,cAAc,GAAG,IAAI,CAACL,SAAS,CAACG,SAAS,CAAC;IAC9C,IAAIE,cAAc,EAAE;MAClB,IAAAC,WAAI,EAACD,cAAc,EAAE,UAAUE,QAAQ,EAAE;QACvCA,QAAQ,CAACH,IAAI,CAAC;MAChB,CAAC,CAAC;IACJ;EACF,CAAC;EACDI,SAAS,EAAE,SAAAA,UAAUL,SAAS,EAAEI,QAAQ,EAAE;IACxC,IAAI,CAAC,IAAI,CAACP,SAAS,CAACG,SAAS,CAAC,EAAE;MAC9B,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,GAAG,EAAE;IAChC;IACA,IAAI,CAACH,SAAS,CAACG,SAAS,CAAC,CAACM,IAAI,CAACF,QAAQ,CAAC;IACxC,IAAIG,KAAK,GAAG,IAAI;IAChB,OAAO;MACLC,WAAW,EAAE,SAAAA,YAAA,EAAY;QACvBD,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,GAAG,IAAAS,aAAM,EACjCF,KAAK,CAACV,SAAS,CAACG,SAAS,CAAC,EAC1B,UAAUU,KAAK,EAAE;UACf,OAAOA,KAAK,KAAKN,QAAQ;QAC3B,CACF,CAAC;MACH;IACF,CAAC;EACH;AACF,CAAC","ignoreList":[]}
@@ -6,56 +6,57 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.limitModification = limitModification;
7
7
  var _tools = require("./tools");
8
8
  var _sanitize = require("./sanitize");
9
- /**
10
- * Current limitation:
11
- * - field path do not support array, 'a.b.c' only
12
- */
9
+ function _toArray(arr) { return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest(); }
10
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
13
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
14
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
16
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
17
  function limitModification(object, modifiableFieldPaths, modifier) {
14
18
  var clone = (0, _tools.deepClone)(object);
15
19
  var result = modifier(clone);
16
- (0, _tools.each)((0, _tools.objectEntries)(modifiableFieldPaths), function (filedPaths) {
17
- var fieldPath = filedPaths[0];
18
- var fieldType = filedPaths[1];
19
- var newValue = get(clone, fieldPath);
20
- var newType = (0, _tools.getType)(newValue);
21
- if (newType === fieldType) {
22
- set(object, fieldPath, (0, _sanitize.sanitize)(newValue));
23
- } else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {
24
- set(object, fieldPath, {});
25
- }
20
+ (0, _tools.objectEntries)(modifiableFieldPaths).forEach(function (_ref) {
21
+ var _ref2 = _slicedToArray(_ref, 2),
22
+ fieldPath = _ref2[0],
23
+ fieldType = _ref2[1];
24
+ return (
25
+ // Traverse both object and clone simultaneously up to the path and apply the modification from the clone to the original object when the type is valid
26
+ setValueAtPath(object, clone, fieldPath.split(/\.|(?=\[\])/), fieldType)
27
+ );
26
28
  });
27
29
  return result;
28
30
  }
29
- function get(object, path) {
30
- var current = object;
31
- for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {
32
- var field = _a[_i];
33
- if (!isValidObjectContaining(current, field)) {
34
- return;
31
+ function setValueAtPath(object, clone, pathSegments, fieldType) {
32
+ var _pathSegments = _toArray(pathSegments),
33
+ field = _pathSegments[0],
34
+ restPathSegments = _pathSegments.slice(1);
35
+ if (field === '[]') {
36
+ if (Array.isArray(object) && Array.isArray(clone)) {
37
+ object.forEach(function (item, i) {
38
+ return setValueAtPath(item, clone[i], restPathSegments, fieldType);
39
+ });
35
40
  }
36
- current = current[field];
41
+ return;
42
+ }
43
+ if (!isValidObject(object) || !isValidObject(clone)) {
44
+ return;
45
+ }
46
+ if (restPathSegments.length > 0) {
47
+ return setValueAtPath(object[field], clone[field], restPathSegments, fieldType);
37
48
  }
38
- return current;
49
+ setNestedValue(object, field, clone[field], fieldType);
39
50
  }
40
- function set(object, path, value) {
41
- var current = object;
42
- var fields = path.split('.');
43
- for (var i = 0; i < fields.length; i += 1) {
44
- var field = fields[i];
45
- if (!isValidObject(current)) {
46
- return;
47
- }
48
- if (i !== fields.length - 1) {
49
- current = current[field];
50
- } else {
51
- current[field] = value;
52
- }
51
+ function setNestedValue(object, field, value, fieldType) {
52
+ var newType = (0, _tools.getType)(value);
53
+ if (newType === fieldType) {
54
+ object[field] = (0, _sanitize.sanitize)(value);
55
+ } else if (fieldType === 'object' && (newType === 'undefined' || newType === 'null')) {
56
+ object[field] = {};
53
57
  }
54
58
  }
55
59
  function isValidObject(object) {
56
60
  return (0, _tools.getType)(object) === 'object';
57
61
  }
58
- function isValidObjectContaining(object, field) {
59
- return isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field);
60
- }
61
62
  //# sourceMappingURL=limitModification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"limitModification.js","names":["_tools","require","_sanitize","limitModification","object","modifiableFieldPaths","modifier","clone","deepClone","result","each","objectEntries","filedPaths","fieldPath","fieldType","newValue","get","newType","getType","set","sanitize","path","current","_i","_a","split","length","field","isValidObjectContaining","value","fields","i","isValidObject","Object","prototype","hasOwnProperty","call"],"sources":["../../src/helper/limitModification.js"],"sourcesContent":["import { extend2Lev, each, objectEntries, getType, deepClone } from './tools'\nimport { sanitize } from './sanitize'\n\n/**\n * Current limitation:\n * - field path do not support array, 'a.b.c' only\n */\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n var clone = deepClone(object)\n var result = modifier(clone)\n each(objectEntries(modifiableFieldPaths), function (filedPaths) {\n var fieldPath = filedPaths[0]\n var fieldType = filedPaths[1]\n var newValue = get(clone, fieldPath)\n var newType = getType(newValue)\n if (newType === fieldType) {\n set(object, fieldPath, sanitize(newValue))\n } else if (\n fieldType === 'object' &&\n (newType === 'undefined' || newType === 'null')\n ) {\n set(object, fieldPath, {})\n }\n })\n\n return result\n}\n\nfunction get(object, path) {\n var current = object\n for (var _i = 0, _a = path.split('.'); _i < _a.length; _i++) {\n var field = _a[_i]\n if (!isValidObjectContaining(current, field)) {\n return\n }\n current = current[field]\n }\n return current\n}\n\nfunction set(object, path, value) {\n var current = object\n var fields = path.split('.')\n for (var i = 0; i < fields.length; i += 1) {\n var field = fields[i]\n if (!isValidObject(current)) {\n return\n }\n if (i !== fields.length - 1) {\n current = current[field]\n } else {\n current[field] = value\n }\n }\n}\n\nfunction isValidObject(object) {\n return getType(object) === 'object'\n}\n\nfunction isValidObjectContaining(object, field) {\n return (\n isValidObject(object) && Object.prototype.hasOwnProperty.call(object, field)\n )\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACO,SAASE,iBAAiBA,CAACC,MAAM,EAAEC,oBAAoB,EAAEC,QAAQ,EAAE;EACxE,IAAIC,KAAK,GAAG,IAAAC,gBAAS,EAACJ,MAAM,CAAC;EAC7B,IAAIK,MAAM,GAAGH,QAAQ,CAACC,KAAK,CAAC;EAC5B,IAAAG,WAAI,EAAC,IAAAC,oBAAa,EAACN,oBAAoB,CAAC,EAAE,UAAUO,UAAU,EAAE;IAC9D,IAAIC,SAAS,GAAGD,UAAU,CAAC,CAAC,CAAC;IAC7B,IAAIE,SAAS,GAAGF,UAAU,CAAC,CAAC,CAAC;IAC7B,IAAIG,QAAQ,GAAGC,GAAG,CAACT,KAAK,EAAEM,SAAS,CAAC;IACpC,IAAII,OAAO,GAAG,IAAAC,cAAO,EAACH,QAAQ,CAAC;IAC/B,IAAIE,OAAO,KAAKH,SAAS,EAAE;MACzBK,GAAG,CAACf,MAAM,EAAES,SAAS,EAAE,IAAAO,kBAAQ,EAACL,QAAQ,CAAC,CAAC;IAC5C,CAAC,MAAM,IACLD,SAAS,KAAK,QAAQ,KACrBG,OAAO,KAAK,WAAW,IAAIA,OAAO,KAAK,MAAM,CAAC,EAC/C;MACAE,GAAG,CAACf,MAAM,EAAES,SAAS,EAAE,CAAC,CAAC,CAAC;IAC5B;EACF,CAAC,CAAC;EAEF,OAAOJ,MAAM;AACf;AAEA,SAASO,GAAGA,CAACZ,MAAM,EAAEiB,IAAI,EAAE;EACzB,IAAIC,OAAO,GAAGlB,MAAM;EACpB,KAAK,IAAImB,EAAE,GAAG,CAAC,EAAEC,EAAE,GAAGH,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC,EAAEF,EAAE,GAAGC,EAAE,CAACE,MAAM,EAAEH,EAAE,EAAE,EAAE;IAC3D,IAAII,KAAK,GAAGH,EAAE,CAACD,EAAE,CAAC;IAClB,IAAI,CAACK,uBAAuB,CAACN,OAAO,EAAEK,KAAK,CAAC,EAAE;MAC5C;IACF;IACAL,OAAO,GAAGA,OAAO,CAACK,KAAK,CAAC;EAC1B;EACA,OAAOL,OAAO;AAChB;AAEA,SAASH,GAAGA,CAACf,MAAM,EAAEiB,IAAI,EAAEQ,KAAK,EAAE;EAChC,IAAIP,OAAO,GAAGlB,MAAM;EACpB,IAAI0B,MAAM,GAAGT,IAAI,CAACI,KAAK,CAAC,GAAG,CAAC;EAC5B,KAAK,IAAIM,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,MAAM,CAACJ,MAAM,EAAEK,CAAC,IAAI,CAAC,EAAE;IACzC,IAAIJ,KAAK,GAAGG,MAAM,CAACC,CAAC,CAAC;IACrB,IAAI,CAACC,aAAa,CAACV,OAAO,CAAC,EAAE;MAC3B;IACF;IACA,IAAIS,CAAC,KAAKD,MAAM,CAACJ,MAAM,GAAG,CAAC,EAAE;MAC3BJ,OAAO,GAAGA,OAAO,CAACK,KAAK,CAAC;IAC1B,CAAC,MAAM;MACLL,OAAO,CAACK,KAAK,CAAC,GAAGE,KAAK;IACxB;EACF;AACF;AAEA,SAASG,aAAaA,CAAC5B,MAAM,EAAE;EAC7B,OAAO,IAAAc,cAAO,EAACd,MAAM,CAAC,KAAK,QAAQ;AACrC;AAEA,SAASwB,uBAAuBA,CAACxB,MAAM,EAAEuB,KAAK,EAAE;EAC9C,OACEK,aAAa,CAAC5B,MAAM,CAAC,IAAI6B,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAChC,MAAM,EAAEuB,KAAK,CAAC;AAEhF","ignoreList":[]}
1
+ {"version":3,"file":"limitModification.js","names":["_tools","require","_sanitize","_toArray","arr","_arrayWithHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableRest","iter","Symbol","iterator","Array","from","_slicedToArray","i","_iterableToArrayLimit","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","call","slice","constructor","name","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","limitModification","object","modifiableFieldPaths","modifier","clone","deepClone","result","objectEntries","forEach","_ref","_ref2","fieldPath","fieldType","setValueAtPath","split","pathSegments","_pathSegments","field","restPathSegments","item","isValidObject","setNestedValue","newType","getType","sanitize"],"sources":["../../src/helper/limitModification.js"],"sourcesContent":["import { objectEntries, getType, deepClone } from './tools'\nimport { sanitize } from './sanitize'\n\nexport function limitModification(object, modifiableFieldPaths, modifier) {\n const clone = deepClone(object)\n const result = modifier(clone)\n\n objectEntries(modifiableFieldPaths).forEach(([fieldPath, fieldType]) =>\n // Traverse both object and clone simultaneously up to the path and apply the modification from the clone to the original object when the type is valid\n setValueAtPath(object, clone, fieldPath.split(/\\.|(?=\\[\\])/), fieldType)\n )\n\n return result\n}\n\nfunction setValueAtPath(object, clone, pathSegments, fieldType) {\n const [field, ...restPathSegments] = pathSegments\n\n if (field === '[]') {\n if (Array.isArray(object) && Array.isArray(clone)) {\n object.forEach((item, i) =>\n setValueAtPath(item, clone[i], restPathSegments, fieldType)\n )\n }\n\n return\n }\n\n if (!isValidObject(object) || !isValidObject(clone)) {\n return\n }\n\n if (restPathSegments.length > 0) {\n return setValueAtPath(\n object[field],\n clone[field],\n restPathSegments,\n fieldType\n )\n }\n\n setNestedValue(object, field, clone[field], fieldType)\n}\n\nfunction setNestedValue(object, field, value, fieldType) {\n const newType = getType(value)\n\n if (newType === fieldType) {\n object[field] = sanitize(value)\n } else if (\n fieldType === 'object' &&\n (newType === 'undefined' || newType === 'null')\n ) {\n object[field] = {}\n }\n}\n\nfunction isValidObject(object) {\n return getType(object) === 'object'\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CustomerDataType = void 0;
7
+ // RUM and logs batch bytes limit is 16KB
8
+ // ensure that we leave room for other event attributes and maintain a decent amount of event per batch
9
+ // (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB
10
+
11
+ var CustomerDataType = {
12
+ FeatureFlag: 'feature flag evaluation',
13
+ User: 'user',
14
+ GlobalContext: 'global context',
15
+ View: 'view'
16
+ };
17
+ exports.CustomerDataType = CustomerDataType;
18
+ //# sourceMappingURL=const.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"const.js","names":["CustomerDataType","FeatureFlag","User","GlobalContext","View","exports"],"sources":["../../../src/helper/serialisation/const.js"],"sourcesContent":["// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\n\nexport var CustomerDataType = {\n FeatureFlag: 'feature flag evaluation',\n User: 'user',\n GlobalContext: 'global context',\n View: 'view'\n}\n"],"mappings":";;;;;;AAAA;AACA;AACA;;AAEO,IAAIA,gBAAgB,GAAG;EAC5BC,WAAW,EAAE,yBAAyB;EACtCC,IAAI,EAAE,MAAM;EACZC,aAAa,EAAE,gBAAgB;EAC/BC,IAAI,EAAE;AACR,CAAC;AAAAC,OAAA,CAAAL,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -3,83 +3,78 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.BYTES_COMPUTATION_THROTTLING_DELAY = void 0;
7
6
  exports.createContextManager = createContextManager;
8
- var _byteUtils = require("../byteUtils");
9
7
  var _tools = require("../tools");
10
8
  var _sanitize = require("../sanitize");
11
- var _jsonStringify = require("./jsonStringify");
12
9
  var _observable = require("../observable");
13
- var _heavyCustomerDataWarning = require("./heavyCustomerDataWarning");
14
- var BYTES_COMPUTATION_THROTTLING_DELAY = 200;
15
- exports.BYTES_COMPUTATION_THROTTLING_DELAY = BYTES_COMPUTATION_THROTTLING_DELAY;
16
- function createContextManager(customerDataType, computeBytesCountImpl) {
17
- if (typeof computeBytesCountImpl === 'undefined') {
18
- computeBytesCountImpl = _byteUtils.computeBytesCount;
10
+ var _display = require("../display");
11
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
12
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
13
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
14
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
15
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
16
+ function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
17
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
20
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
21
+ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
22
+ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
23
+ function ensureProperties(context, propertiesConfig, name) {
24
+ var newContext = _objectSpread({}, context);
25
+ for (var _i = 0, _Object$entries = Object.entries(propertiesConfig); _i < _Object$entries.length; _i++) {
26
+ var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2),
27
+ key = _Object$entries$_i[0],
28
+ _Object$entries$_i$ = _Object$entries$_i[1],
29
+ required = _Object$entries$_i$.required,
30
+ type = _Object$entries$_i$.type;
31
+ /**
32
+ * Ensure specified properties are strings as defined here:
33
+ */
34
+ if (type === 'string' && key in newContext) {
35
+ newContext[key] = String(newContext[key]);
36
+ }
37
+ if (required && !(key in context)) {
38
+ _display.display.warn("The property ".concat(key, " of ").concat(name, " context is required; context will not be sent to the intake."));
39
+ }
19
40
  }
41
+ return newContext;
42
+ }
43
+ function createContextManager() {
44
+ var name = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
45
+ var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
46
+ customerDataTracker = _ref.customerDataTracker,
47
+ _ref$propertiesConfig = _ref.propertiesConfig,
48
+ propertiesConfig = _ref$propertiesConfig === void 0 ? {} : _ref$propertiesConfig;
20
49
  var context = {};
21
- var bytesCountCache;
22
- var alreadyWarned = false;
23
50
  var changeObservable = new _observable.Observable();
24
- // Throttle the bytes computation to minimize the impact on performance.
25
- // Especially useful if the user call context APIs synchronously multiple times in a row
26
- var computeBytesCountThrottled = (0, _tools.throttle)(function (context) {
27
- bytesCountCache = computeBytesCountImpl((0, _jsonStringify.jsonStringify)(context));
28
- if (!alreadyWarned) {
29
- alreadyWarned = (0, _heavyCustomerDataWarning.warnIfCustomerDataLimitReached)(bytesCountCache, customerDataType);
30
- }
31
- }, BYTES_COMPUTATION_THROTTLING_DELAY).throttled;
32
51
  var contextManager = {
33
- getBytesCount: function getBytesCount() {
34
- return bytesCountCache;
35
- },
36
- /** @deprecated use getContext instead */
37
- get: function get() {
38
- return context;
39
- },
40
- /** @deprecated use setContextProperty instead */
41
- add: function add(key, value) {
42
- context[key] = value;
43
- computeBytesCountThrottled(context);
44
- changeObservable.notify();
45
- },
46
- /** @deprecated renamed to removeContextProperty */
47
- remove: function remove(key) {
48
- delete context[key];
49
- computeBytesCountThrottled(context);
50
- changeObservable.notify();
51
- },
52
- /** @deprecated use setContext instead */
53
- set: function set(newContext) {
54
- context = newContext;
55
- computeBytesCountThrottled(context);
56
- changeObservable.notify();
57
- },
58
52
  getContext: function getContext() {
59
53
  return (0, _tools.deepClone)(context);
60
54
  },
61
55
  setContext: function setContext(newContext) {
62
56
  if ((0, _tools.getType)(newContext) === 'object') {
63
- context = (0, _sanitize.sanitize)(newContext);
64
- computeBytesCountThrottled(context);
57
+ context = (0, _sanitize.sanitize)(ensureProperties(newContext, propertiesConfig, name));
58
+ customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);
65
59
  } else {
66
60
  contextManager.clearContext();
67
61
  }
68
62
  changeObservable.notify();
69
63
  },
70
64
  setContextProperty: function setContextProperty(key, property) {
71
- context[key] = (0, _tools.deepClone)(property);
72
- computeBytesCountThrottled(context);
65
+ context[key] = (0, _sanitize.sanitize)(ensureProperties(_defineProperty({}, key, property), propertiesConfig, name)[key]);
66
+ customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);
73
67
  changeObservable.notify();
74
68
  },
75
69
  removeContextProperty: function removeContextProperty(key) {
76
70
  delete context[key];
77
- computeBytesCountThrottled(context);
71
+ customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.updateCustomerData(context);
72
+ ensureProperties(context, propertiesConfig, name);
78
73
  changeObservable.notify();
79
74
  },
80
75
  clearContext: function clearContext() {
81
76
  context = {};
82
- bytesCountCache = 0;
77
+ customerDataTracker === null || customerDataTracker === void 0 ? void 0 : customerDataTracker.resetCustomerData();
83
78
  changeObservable.notify();
84
79
  },
85
80
  changeObservable: changeObservable
@@ -1 +1 @@
1
- {"version":3,"file":"contextManager.js","names":["_byteUtils","require","_tools","_sanitize","_jsonStringify","_observable","_heavyCustomerDataWarning","BYTES_COMPUTATION_THROTTLING_DELAY","exports","createContextManager","customerDataType","computeBytesCountImpl","computeBytesCount","context","bytesCountCache","alreadyWarned","changeObservable","Observable","computeBytesCountThrottled","throttle","jsonStringify","warnIfCustomerDataLimitReached","throttled","contextManager","getBytesCount","get","add","key","value","notify","remove","set","newContext","getContext","deepClone","setContext","getType","sanitize","clearContext","setContextProperty","property","removeContextProperty"],"sources":["../../../src/helper/serialisation/contextManager.js"],"sourcesContent":["import { computeBytesCount } from '../byteUtils'\nimport { deepClone, throttle, getType } from '../tools'\nimport { sanitize } from '../sanitize'\nimport { jsonStringify } from './jsonStringify'\nimport { Observable } from '../observable'\nimport { warnIfCustomerDataLimitReached } from './heavyCustomerDataWarning'\n\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200\n\nexport function createContextManager(customerDataType, computeBytesCountImpl) {\n if (typeof computeBytesCountImpl === 'undefined') {\n computeBytesCountImpl = computeBytesCount\n }\n var context = {}\n var bytesCountCache\n var alreadyWarned = false\n var changeObservable = new Observable()\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n var computeBytesCountThrottled = throttle(function (context) {\n bytesCountCache = computeBytesCountImpl(jsonStringify(context))\n if (!alreadyWarned) {\n alreadyWarned = warnIfCustomerDataLimitReached(\n bytesCountCache,\n customerDataType\n )\n }\n }, BYTES_COMPUTATION_THROTTLING_DELAY).throttled\n\n var contextManager = {\n getBytesCount: function () {\n return bytesCountCache\n },\n /** @deprecated use getContext instead */\n get: function () {\n return context\n },\n\n /** @deprecated use setContextProperty instead */\n add: function (key, value) {\n context[key] = value\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n /** @deprecated renamed to removeContextProperty */\n remove: function (key) {\n delete context[key]\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n /** @deprecated use setContext instead */\n set: function (newContext) {\n context = newContext\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n getContext: function () {\n return deepClone(context)\n },\n\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext)\n computeBytesCountThrottled(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: function (key, property) {\n context[key] = deepClone(property)\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n removeContextProperty: function (key) {\n delete context[key]\n computeBytesCountThrottled(context)\n changeObservable.notify()\n },\n\n clearContext: function () {\n context = {}\n bytesCountCache = 0\n changeObservable.notify()\n },\n changeObservable: changeObservable\n }\n return contextManager\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"contextManager.js","names":["_tools","require","_sanitize","_observable","_display","_typeof","obj","Symbol","iterator","constructor","prototype","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","Object","toString","call","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","apply","_objectSpread","target","arguments","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","ensureProperties","context","propertiesConfig","newContext","_Object$entries","entries","_Object$entries$_i","_Object$entries$_i$","required","type","display","warn","concat","createContextManager","_ref","customerDataTracker","_ref$propertiesConfig","changeObservable","Observable","contextManager","getContext","deepClone","setContext","getType","sanitize","updateCustomerData","clearContext","notify","setContextProperty","property","removeContextProperty","resetCustomerData"],"sources":["../../../src/helper/serialisation/contextManager.js"],"sourcesContent":["import { deepClone, getType } from '../tools'\nimport { sanitize } from '../sanitize'\nimport { Observable } from '../observable'\nimport { display } from '../display'\n\nfunction ensureProperties(context, propertiesConfig, name) {\n const newContext = { ...context }\n\n for (const [key, { required, type }] of Object.entries(propertiesConfig)) {\n /**\n * Ensure specified properties are strings as defined here:\n */\n if (type === 'string' && key in newContext) {\n newContext[key] = String(newContext[key])\n }\n\n if (required && !(key in context)) {\n display.warn(\n `The property ${key} of ${name} context is required; context will not be sent to the intake.`\n )\n }\n }\n\n return newContext\n}\n\nexport function createContextManager(\n name = '',\n { customerDataTracker, propertiesConfig = {} } = {}\n) {\n let context = {}\n const changeObservable = new Observable()\n\n const contextManager = {\n getContext: () => deepClone(context),\n\n setContext: (newContext) => {\n if (getType(newContext) === 'object') {\n context = sanitize(ensureProperties(newContext, propertiesConfig, name))\n customerDataTracker?.updateCustomerData(context)\n } else {\n contextManager.clearContext()\n }\n changeObservable.notify()\n },\n\n setContextProperty: (key, property) => {\n context[key] = sanitize(\n ensureProperties({ [key]: property }, propertiesConfig, name)[key]\n )\n customerDataTracker?.updateCustomerData(context)\n changeObservable.notify()\n },\n\n removeContextProperty: (key) => {\n delete context[key]\n customerDataTracker?.updateCustomerData(context)\n ensureProperties(context, propertiesConfig, name)\n changeObservable.notify()\n },\n\n clearContext: () => {\n context = {}\n customerDataTracker?.resetCustomerData()\n changeObservable.notify()\n },\n\n changeObservable\n }\n return contextManager\n}\n"],"mappings":"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","ignoreList":[]}