@yagisan-reports/sdk
Version:
yagisan-reports SDK
10 lines (9 loc) • 16.9 kB
JavaScript
/**
* yagisan-reports
* Copyright © DenkiYagi Inc.
* Licensed under the commercial license.
**/
(()=>{var pe=(m,l)=>()=>(l||m((l={exports:{}}).exports,l),l.exports);var Q=pe(K=>{(function(m){"use strict";var l=function(){return f.__string_rec(this,"")},y=y||{},a;class z{static substr(e,r,n){if(n==null)n=e.length;else if(n<0)if(r==0)n=e.length+n;else return"";return e.substr(r,n)}static now(){return Date.now()}}z.__name__=!0;class B{static array(e){let r=[],n=x(e);for(;n.hasNext();)r.push(n.next());return r}}B.__name__=!0,Math.__name__=!0;class ${static deleteField(e,r){return Object.prototype.hasOwnProperty.call(e,r)?(delete e[r],!0):!1}}$.__name__=!0;class Y{static replace(e,r,n){return e.split(r).join(n)}}Y.__name__=!0;var u=y.ValueType={__ename__:!0,__constructs__:null,TNull:{_hx_name:"TNull",_hx_index:0,__enum__:"ValueType",toString:l},TInt:{_hx_name:"TInt",_hx_index:1,__enum__:"ValueType",toString:l},TFloat:{_hx_name:"TFloat",_hx_index:2,__enum__:"ValueType",toString:l},TBool:{_hx_name:"TBool",_hx_index:3,__enum__:"ValueType",toString:l},TObject:{_hx_name:"TObject",_hx_index:4,__enum__:"ValueType",toString:l},TFunction:{_hx_name:"TFunction",_hx_index:5,__enum__:"ValueType",toString:l},TClass:(a=function(t){return{_hx_index:6,c:t,__enum__:"ValueType",toString:l}},a._hx_name="TClass",a.__params__=["c"],a),TEnum:(a=function(t){return{_hx_index:7,e:t,__enum__:"ValueType",toString:l}},a._hx_name="TEnum",a.__params__=["e"],a),TUnknown:{_hx_name:"TUnknown",_hx_index:8,__enum__:"ValueType",toString:l}};u.__constructs__=[u.TNull,u.TInt,u.TFloat,u.TBool,u.TObject,u.TFunction,u.TClass,u.TEnum,u.TUnknown];class D{static typeof(e){switch(typeof e){case"boolean":return u.TBool;case"function":return e.__name__||e.__ename__?u.TObject:u.TFunction;case"number":return Math.ceil(e)==e%2147483648?u.TInt:u.TFloat;case"object":if(e==null)return u.TNull;let r=e.__enum__;if(r!=null)return u.TEnum(y[r]);let n=f.getClass(e);return n!=null?u.TClass(n):u.TObject;case"string":return u.TClass(String);case"undefined":return u.TNull;default:return u.TUnknown}}static enumParameters(e){let n=y[e.__enum__].__constructs__[e._hx_index].__params__;if(n!=null){let _=[],s=0;for(;s<n.length;){let o=n[s];++s,_.push(e[o])}return _}else return[]}}D.__name__=!0;class E{constructor(e){this.value=w.Uninitialized(e)}}E.__name__=!0,Object.assign(E.prototype,{__class__:E});var w=y["extype._Lazy.LazyValue"]={__ename__:!0,__constructs__:null,Uninitialized:(a=function(t){return{_hx_index:0,fn:t,__enum__:"extype._Lazy.LazyValue",toString:l}},a._hx_name="Uninitialized",a.__params__=["fn"],a),Initialized:(a=function(t){return{_hx_index:1,x:t,__enum__:"extype._Lazy.LazyValue",toString:l}},a._hx_name="Initialized",a.__params__=["x"],a)};w.__constructs__=[w.Uninitialized,w.Initialized];class d extends Error{constructor(e,r,n){super(e),this.message=e,this.__previousException=r,this.__nativeException=n??this}unwrap(){return this.__nativeException}static caught(e){return e instanceof d?e:e instanceof Error?new d(e.message,null,e):new S(e,null,e)}}d.__name__=!0,Object.assign(d.prototype,{__class__:d});class T{constructor(){this.map=new Map}}T.__name__=!0,Object.assign(T.prototype,{__class__:T});class R{constructor(){this.map=new Map}iterator(){return new L(this.map.values())}}R.__name__=!0,Object.assign(R.prototype,{__class__:R});class S extends d{constructor(e,r,n){super(String(e),r,n),this.value=e}unwrap(){return this.value}}S.__name__=!0,Object.assign(S.prototype,{__class__:S});class v{constructor(e){this.current=0,this.array=e}hasNext(){return this.current<this.array.length}next(){return this.array[this.current++]}}v.__name__=!0,Object.assign(v.prototype,{__class__:v});class f{static getClass(e){if(e==null)return null;if(e instanceof Array)return Array;{let r=e.__class__;if(r!=null)return r;let n=f.__nativeClassName(e);return n!=null?f.__resolveNativeClass(n):null}}static __string_rec(e,r){if(e==null)return"null";if(r.length>=5)return"<...>";let n=typeof e;switch(n=="function"&&(e.__name__||e.__ename__)&&(n="object"),n){case"function":return"<function>";case"object":if(e.__enum__){let g=y[e.__enum__].__constructs__[e._hx_index],C=g._hx_name;return g.__params__?(r=r+" ",C+"("+(function(M){var H;let X=[];{let P=0,J=g.__params__;for(;P<J.length;){let ce=J[P];P=P+1,X.push(f.__string_rec(e[ce],r))}}return H=X,H})(this).join(",")+")"):C}if(e instanceof Array){let c="[";r+=" ";let g=0,C=e.length;for(;g<C;){let M=g++;c+=(M>0?",":"")+f.__string_rec(e[M],r)}return c+="]",c}let _;try{_=e.toString}catch{return"???"}if(_!=null&&_!=Object.toString&&typeof _=="function"){let c=e.toString();if(c!="[object Object]")return c}let s=`{
`;r+=" ";let o=e.hasOwnProperty!=null,i=null;for(i in e)o&&!e.hasOwnProperty(i)||i=="prototype"||i=="__class__"||i=="__super__"||i=="__interfaces__"||i=="__properties__"||(s.length!=2&&(s+=`,
`),s+=r+i+" : "+f.__string_rec(e[i],r));return r=r.substring(1),s+=`
`+r+"}",s;case"string":return e;default:return String(e)}}static __nativeClassName(e){let r=f.__toStr.call(e).slice(8,-1);return r=="Object"||r=="Function"||r=="Math"||r=="JSON"?null:r}static __resolveNativeClass(e){return m[e]}}f.__name__=!0;class L{constructor(e){this.jsIterator=e,this.lastStep=e.next()}hasNext(){return!this.lastStep.done}next(){let e=this.lastStep.value;return this.lastStep=this.jsIterator.next(),e}}L.__name__=!0,Object.assign(L.prototype,{__class__:L});class h extends Error{constructor(e,r){super(r),this.name=e}}h.__name__=!0,Object.assign(h.prototype,{__class__:h});class Z{static fromString(e){let r;switch(e){case"AlreadyDisposedError":r=!0;break;case"BadInputError":r=!0;break;case"FatalError":r=!0;break;case"FontAlreadyDetachedError":r=!0;break;case"FontLoadFailedError":r=!0;break;case"GlyphDataLoadFailedError":r=!0;break;case"InvalidFontDataError":r=!0;break;case"InvalidGlyphDataError":r=!0;break;case"InvalidLayoutError":r=!0;break;case"InvalidPasswordError":r=!0;break;case"InvalidServiceKeyError":r=!0;break;case"InvalidYrtFormatError":r=!0;break;case"LayoutXmlSyntaxError":r=!0;break;case"NotAllowedDomainError":r=!0;break;case"NotSecureContextError":r=!0;break;case"ReportWorkerAleadyInitializedError":r=!0;break;case"ReportWorkerAlreadyTerminatedError":r=!0;break;case"ReportWorkerLoadFailedError":r=!0;break;case"ReportWorkerVersionMismatchError":r=!0;break;case"ReportWrokerUninitilizedError":r=!0;break;case"StyleXmlSyntaxError":r=!0;break;case"UnauthorizedError":r=!0;break;case"UnregisteredFontError":r=!0;break;case"YrtAlreadyDetachedError":r=!0;break;default:r=!1}if(r)return e}}function ee(t){return new O(t)}function re(){let t=K;t.globalOptions=G,t.createEngine=ee,t.YagisanReportsError=h}var p=y["yagisan.reports.sdk.web.ReportWorkerArgument"]={__ename__:!0,__constructs__:null,Initialize:(a=function(t){return{_hx_index:0,serviceKey:t,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="Initialize",a.__params__=["serviceKey"],a),RegisterUserFonts:(a=function(t){return{_hx_index:1,userFonts:t,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="RegisterUserFonts",a.__params__=["userFonts"],a),LoadTemplate:(a=function(t){return{_hx_index:2,yrt:t,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="LoadTemplate",a.__params__=["yrt"],a),DisposeTemplate:(a=function(t){return{_hx_index:3,templateId:t,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="DisposeTemplate",a.__params__=["templateId"],a),CreatePdfGenerator:(a=function(t,e){return{_hx_index:4,templateId:t,fontUrl:e,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="CreatePdfGenerator",a.__params__=["templateId","fontUrl"],a),DisposePdfGenerator:(a=function(t){return{_hx_index:5,generatorId:t,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="DisposePdfGenerator",a.__params__=["generatorId"],a),CallPdfGenerator:(a=function(t,e,r){return{_hx_index:6,generatorId:t,data:e,options:r,__enum__:"yagisan.reports.sdk.web.ReportWorkerArgument",toString:l}},a._hx_name="CallPdfGenerator",a.__params__=["generatorId","data","options"],a)};p.__constructs__=[p.Initialize,p.RegisterUserFonts,p.LoadTemplate,p.DisposeTemplate,p.CreatePdfGenerator,p.DisposePdfGenerator,p.CallPdfGenerator];class W{constructor(e){this.isTerminated=!1,this.userFonts=new R,this.rpcWorker=new E(function(){return te(G.workerUrl).then(function(r){return le.set(r,e.serviceKey),r.dispatch(p.Initialize(e.serviceKey)).catch(b).then(function(n){if((n!=null?n.workerVersion:null)=="1.0.1")return r;throw new h("ReportWorkerVersionMismatchError",'SDKとReportWorkerのバージョンが一致していません。 SDK="1.0.1" ReportWorker="'+(n!=null?n.workerVersion:null)+'"')}).catch(function(n){return m.console.error(n),r.terminate(),Promise.reject(n)})})})}registerUserFont(e){if(this.isTerminated)throw new h("ReportWorkerAlreadyTerminatedError","ReportWorkerは既に終了しています。");let r,n=e.normal.buffer;if(n!=null&&(n instanceof ArrayBuffer?n:n.buffer).detached)r=!0;else{let _=e.bold,s=_!=null?_.buffer:null;r=s!=null&&(s instanceof ArrayBuffer?s:s.buffer).detached}if(r)throw new h("FontAlreadyDetachedError","既に所有権が移譲されているため読み取りできないフォントデータが指定されています。");this.userFonts.map.set(e.name,e)}loadTemplate(e){if(this.isTerminated)return Promise.reject(new h("ReportWorkerAlreadyTerminatedError","ReportWorkerは既に終了しています。"));if(e!=null&&(e instanceof ArrayBuffer?e:e.buffer).detached)return Promise.reject(new h("YrtAlreadyDetachedError","既に所有権が移譲されているため読み取りできないテンプレートデータが指定されています。"));let r=this,n=this.rpcWorker,_,s=n.value;switch(s._hx_index){case 0:let o=s.fn();n.value=w.Initialized(o),_=o;break;case 1:_=s.x;break}return _.then(function(o){return o.dispatch(p.LoadTemplate(e)).then(function(i){return new U(o,i,r.userFonts)})}).catch(b)}terminate(){if(!this.isTerminated){this.isTerminated=!0,this.userFonts.map.clear();let e;switch(this.rpcWorker.value._hx_index){case 0:e=!1;break;case 1:e=!0;break}if(e){let r=this.rpcWorker,n,_=r.value;switch(_._hx_index){case 0:let s=_.fn();r.value=w.Initialized(s),n=s;break;case 1:n=_.x;break}n.then(function(s){s.terminate()})}}}}W.__name__=!0,Object.assign(W.prototype,{__class__:W});class U{constructor(e,r,n){this.worker=e,this.templateId=r,this.userFonts=n}createPdfReportGenerator(e){let r=this.userFonts.map.size>0?this.worker.dispatch(p.RegisterUserFonts(B.array(this.userFonts))).catch(function(_){return _.name=="DataCloneError"?Promise.reject(new h("FontAlreadyDetachedError","既に所有権が移譲されているため読み取りできないフォントデータが指定されています。")):Promise.reject(_)}):Promise.resolve(void 0),n=this;return r.then(function(_){n.userFonts.map.clear();let s=G.fontUrl;return n.worker.dispatch(p.CreatePdfGenerator(n.templateId,ne(s)?V(q):V(z.substr(s,-1,null)=="/"?s:s+"/"))).then(function(o){return new j(n.worker,o)})}).catch(b)}dispose(){return this.worker.dispatch(p.DisposeTemplate(this.templateId)).catch(b)}}U.__name__=!0,Object.assign(U.prototype,{__class__:U});class j{constructor(e,r){this.worker=e,this.generatorId=r}generate(e,r){return this.worker.dispatch(p.CallPdfGenerator(this.generatorId,e,r)).then(function(n){return{type:"PDF",pageCount:n.pageCount,pageCountPerLayout:n.pageCountPerLayout,getContent:function(){return Promise.resolve(n.content)}}}).catch(b)}dispose(){return this.worker.dispatch(p.DisposePdfGenerator(this.generatorId)).catch(b)}}j.__name__=!0,Object.assign(j.prototype,{__class__:j});function te(t){return se(V(t)).catch(function(e){return Promise.reject(new h("ReportWorkerLoadFailedError",'ReportWorkerの読み込みに失敗しました。 URL="'+t+'"'))})}function b(t){let e=Z.fromString(t.name);return Promise.reject(new h(e??"FatalError",t.message))}class O{constructor(e){let r=e;e=r??{},this.reportWorkerClient=new W({serviceKey:e.serviceKey})}registerUserFont(e){this.reportWorkerClient.registerUserFont(e)}loadTemplate(e){let r;if(e instanceof ArrayBuffer||e instanceof Uint8Array)r=e;else throw typeof e=="string"?new h("BadInputError","テンプレートIDの入力は未実装です。"):new h("BadInputError","不正な値が入力されています");return this.reportWorkerClient.loadTemplate(r)}dispose(){this.reportWorkerClient.terminate()}}O.__name__=!0,Object.assign(O.prototype,{__class__:O});class I{constructor(){let e=this;this.promise=new Promise(function(r,n){e.resolveFn=r,e.rejectFn=n})}resolve(e){this.resolveFn(e)}reject(e){this.rejectFn(e)}}I.__name__=!0,Object.assign(I.prototype,{__class__:I});function ne(t){return t!=null?t==="":!0}function V(t){try{return new URL(t).toString()}catch{return new URL(t,window.location.href).toString()}}class F{constructor(e,r){this.isTerminated=!1,this.callCounter=0,this.resultEmitters=new T,this.worker=e,this.onTerminate=r,e.addEventListener("message",k(this,this.onMessage))}dispatch(e){if(this.isTerminated)return Promise.reject(new Error("already terminated"));let r=this.callCounter++;ae(e);let n={id:r,argument:e};try{let _=new I;return this.resultEmitters.map.set(r,_),this.worker.postMessage(n,N(e)),_.promise}catch(_){let s=d.caught(_).unwrap();if(s instanceof Error)return Promise.reject(s);throw _}}onMessage(e){let r=e.data,n=this.resultEmitters.map.get(r.id);n!=null&&(r.isError?n.reject(r.error):n.resolve(r.result),this.resultEmitters.map.delete(r.id))}terminate(){this.isTerminated||(this.isTerminated=!0,this.worker.terminate(),this.worker.removeEventListener("message",k(this,this.onMessage)),this.onTerminate())}}F.__name__=!0,Object.assign(F.prototype,{__class__:F});function se(t){return new Promise(function(e,r){let n;try{n=new URL(t).toString()}catch{n=new URL(t,window.location.href).toString()}let _=URL.createObjectURL(new Blob([Y.replace(ue,"%URL%",n)],{type:"text/javascript"})),s=new Worker(_),o=null;o=function(i){s.removeEventListener("message",o);let c=i.data;switch(c.length){case 1:c[0]=="__WORKER_LOAD_SUCCESS__"?e(new F(s,function(){s.removeEventListener("error",(a=m.console,k(a,a.error))),s.removeEventListener("messageerror",(a=m.console,k(a,a.warn))),URL.revokeObjectURL(_)})):(s.terminate(),URL.revokeObjectURL(_),r(A(c)));break;case 2:let g=c[1];c[0]=="__WORKER_LOAD_ERROR__"?(s.terminate(),URL.revokeObjectURL(_),r(A(g))):(s.terminate(),URL.revokeObjectURL(_),r(A(c)));break;default:s.terminate(),URL.revokeObjectURL(_),r(A(c))}},s.addEventListener("message",o),s.addEventListener("error",(a=m.console,k(a,a.error))),s.addEventListener("messageerror",(a=m.console,k(a,a.warn)))})}function N(t){if(!t||typeof t!="object")return[];if(t instanceof ArrayBuffer)return[t];if(ArrayBuffer.isView(t))return[t.buffer];if(t instanceof Array){let e=t,r=new Array(e.length),n=0,_=e.length;for(;n<_;){let i=n++;r[i]=N(e[i])}let s=[],o=x(r);for(;o.hasNext();){let i=x(o.next());for(;i.hasNext();)s.push(i.next())}return s}else{let e=Object.entries(t),r=new Array(e.length),n=0,_=e.length;for(;n<_;){let i=n++;r[i]=N(e[i][1])}let s=[],o=x(r);for(;o.hasNext();){let i=x(o.next());for(;i.hasNext();)s.push(i.next())}return s}}function A(t){let e=new Error;return e.message=t.message,e.name=t.name,e}function ae(t){let e=[],r=function(n){_e(n)&&e.push(n)};for(r(t);e.length>0;){let n=e.pop();if(ie(n)){$.deleteField(n,"toString");let _=0,s=D.enumParameters(n);for(;_<s.length;)r(s[_++])}else if(n instanceof Array){let _=0,s=n;for(;_<s.length;)r(s[_++])}else if(n instanceof Map){let _=n.entries(),s=_.next();for(;!s.done;){let o=s.value;s=_.next();let i=o[1];r(o[0]),r(i)}}else if(n instanceof Set){let _=n.values(),s=_.next();for(;!s.done;){let o=s.value;s=_.next(),r(o)}}else{let _=0,s=Object.values(n);for(;_<s.length;)r(s[_++])}}return t}function _e(t){return t&&typeof t=="object"&&!ArrayBuffer.isView(t)}function ie(t){return D.typeof(t)._hx_index==7}function x(t){return t instanceof Array?new v(t):t.iterator()}function k(t,e){if(e==null)return null;e.__id__==null&&(e.__id__=m.$haxeUID++);var r;return t.hx__closures__==null?t.hx__closures__={}:r=t.hx__closures__[e.__id__],r==null&&(r=e.bind(t),t.hx__closures__[e.__id__]=r),r}m.$haxeUID|=0,typeof performance<"u"&&typeof performance.now=="function"&&(z.now=performance.now.bind(performance)),Object.defineProperty(String.prototype,"__class__",{value:String,enumerable:!1,writable:!0}),String.__name__=!0,Array.__name__=!0,f.__toStr={}.toString;var oe="./reportworker.js",q="./",G={workerUrl:oe,fontUrl:q},le=new WeakMap,ue='try {importScripts("%URL%");self.postMessage(["__WORKER_LOAD_SUCCESS__"]);} catch (err) {console.error("%URL% の起動に失敗しました。");self.postMessage(["__WORKER_LOAD_ERROR__", err]);throw err;}';re()})(typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:K)});window.YagisanReports=Q();})();