UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

5 lines 3.39 kB
/* @license */ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`kendo.core.min.js`)):typeof define==`function`&&define.amd?define([`exports`,`kendo.core.min`],t):(e=typeof globalThis<`u`?globalThis:e||self,t((e.kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Csv={}),e.kendo._globals.Core))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function n(e,t){let n=(e??``).split(`.`),r=t;for(let e of n){if(e===`__proto__`||e===`constructor`||e===`prototype`)return;r=r?r[e]:void 0}return r}function r(e,t,n=`,`,r){let i=e.data;if(i.length>0&&typeof i[0]==`object`&&`field`in i[0]&&`value`in i[0]&&`items`in i[0]){let e=[];return{rows:s(i,t,0,e,[],n,r),groupedFields:e}}return{rows:i,groupedFields:[]}}function i(e){return typeof e==`object`&&`field`in e&&`items`in e}function a(e,t,n,r,i){let a={},o=i?i(t,e):t.join(`/`);if(i&&typeof o==`string`&&o.includes(r))throw Error(`groupValueFormatter returned a string containing the CSV delimiter '${r}'. Formatted value: "${o}"`);a.__group__=o;for(let e of n)a[e]=``;return a}function o(e,t){if(t&&typeof e==`object`&&!Array.isArray(e)){let t={...e};return t.__group__=``,t}return e}function s(e,t,n=0,r=[],c=[],l=`,`,u){let d=[];for(let f of e){n===r.length&&r.push(f.field);let e=[...c,f.value];if(f.items.length>0){let c=f.items[0];i(c)?d.push(...s(f.items,t,n+1,r,e,l,u)):(t&&d.push(a(r,e,t,l,u)),f.items.forEach(e=>{d.push(o(e,t))}))}}return d}function c(e,t,n,r,i){let a=e.map(e=>{let r=n.indexOf(e);return r>=0?t[r]:e}),o=i?i(a):a.join(`/`);if(i&&o.includes(r))throw Error(`groupHeaderFormatter returned a string containing the CSV delimiter '${r}'. Formatted value: "${o}"`);return[o,...t]}function l({data:e,names:t=null,keys:i=t,delimiter:a=`,`,lineSeparator:o=`\r `,preventFormulaInjection:s=!0,maxCellLength:l=32767,maxRows:u=1e6,maxColumns:d=1e3,includeUTF8BOM:f=!1,groupHeaderFormatter:p,groupValueFormatter:m}){let h,g=t,_=i;if((!a||/[\r\n]/.test(a)||a.length>1&&a!==` `)&&(a=`,`),e&&typeof e==`object`&&`data`in e&&`total`in e){let t=r(e,i,a,m);h=t.rows,t.groupedFields.length>0&&i&&(g&&=c(t.groupedFields,g,i,a,p),_=[`__group__`,...i])}else h=e;if(i&&!Array.isArray(i))throw Error(`toCSV: keys must be an array`);_&&_.length>d&&(_=_.slice(0,d),g&&g.length>d&&(g=g.slice(0,d))),h.length>u&&(h=h.slice(0,u));let v=f?``:``;return g&&y(g),h.forEach(y),v;function y(e){if(Array.isArray(e))v+=e.map(b).join(a);else{if(!_)throw Error("toCSV: `keys` argument is mandatory for non-array data rows");e instanceof Map?v+=_.map(t=>b(e.get(t))).join(a):v+=_.map(t=>b(n(t,e))).join(a)}v+=o}function b(e){if(e==null)return``;if(e instanceof Date)return e.toISOString();let t=String(e);return s&&(/^\s*[=+\-@\t\r]/.test(t)||/[\n\r]\s*[=+\-@\t\r]/.test(t))&&(typeof e==`number`||(t=`'`+t)),t.length>l&&(t=t.substring(0,l)),[a,` `,`\r`,`"`].some(e=>t.includes(e))&&(t=`"${t.replace(/"/g,`""`)}"`),t}}function u(e){let t=`text/csv; charset=UTF-8`;return e.names&&(t+=`; header=present`),t}function d(e){let t=l(e);return new Blob([t],{type:u(e)})}(function(e){window.kendo.csv=window.kendo.csv||{},window.kendo.csv.toCSV=l,window.kendo.csv.toCSVBlob=d,window.kendo.csv.getCSVMimeType=u})(window.kendo.jQuery),e.__meta__={id:`csv`,name:`CSV generation`,category:`framework`,advanced:!0,mixin:!0,depends:[`core`]}}); //# sourceMappingURL=kendo.csv.min.js.map