@drincs/pixi-vn-json
Version:
Pixi'VN can be integrated with JSON files to create a visual novel.
2 lines • 3.37 kB
JavaScript
;var actions=require('@drincs/pixi-vn-json/actions'),core=require('@drincs/pixi-vn-json/core'),translator=require('@drincs/pixi-vn-json/translator'),characters=require('@drincs/pixi-vn/characters'),zod=require('zod'),interpreter=require('@drincs/pixi-vn-json/interpreter');exports.VariableGetter=void 0;(v=>{let o=new Set;function n(d){o.add(d);}v.add=n;function m(){o.clear();}v.clear=m;function f(d,u={}){let p=e=>actions.getLogichValue(e,u)??void 0,c=actions.getValueFromConditionalStatements(d,u);if(o.size===0)return p(c);let a=p;for(let e of o){let r=a;a=t=>e(t,r)??void 0;}return a(c)}v.getLogichValue=f;})(exports.VariableGetter||(exports.VariableGetter={}));var y={version:"1.13.2"};var P="___param___",S=`https://pixi-vn.web.app/schemas/${y.version}/schema.json`,_=["==","!=","<","<=",">",">=","CONTAINS"];exports.TextReplaces=void 0;(a=>{a.options={replaceRegex:/\[([^\]]+)\]/};let n=[],m=false,f=false;function v(e,r){n.push({fn:e,opts:r});let t=r.type??"before-translation";t==="before-translation"&&!m?(translator.translator.beforeToTranslate=s=>p(s,{type:"before-translation"}),m=true):t==="after-translation"&&!f&&(translator.translator.afterToTranslate=s=>p(s,{type:"after-translation"}),f=true);}a.add=v;function d(e){let r=n.findIndex(t=>t.fn===e);r!==-1&&n.splice(r,1);}a.remove=d;function u(){return n.map(e=>e.opts)}a.info=u;function p(e,r){let t=n.filter(s=>(s.opts.type??"before-translation")===r.type);for(let s of t)e=c(e,s.fn,s.opts.validation);return e}a.replace=p;function c(e,r,t){let s=new RegExp(a.options.replaceRegex.source,"g"),V=[...e.matchAll(s)],h=new Set,g=[];for(let i of V)h.has(i[1])||(h.add(i[1]),g.push(i[1]));for(let i of g){if(t==="characterId"){if(!characters.RegisteredCharacters.has(i))continue}else if(t!=="all"){if(t instanceof RegExp){if(!t.test(i))continue}else if(t instanceof zod.ZodType&&!t.safeParse(i).success)continue}let x=r(i);x!==void 0&&(e=e.replaceAll(`[${i}]`,x));}return e}})(exports.TextReplaces||(exports.TextReplaces={}));function ae(){core.JsonUnifier.init({animateOperation:actions.animateOperation,canvasElementOperation:actions.canvasElementOperation,effectOperation:actions.effectOperation,imageContainerOperation:actions.imageContainerOperation,imageOperation:actions.imageOperation,textOperation:actions.textOperation,narrationOperation:actions.narrationOperation,loadAssets:actions.loadAssets,soundOperation:actions.soundOperation,videoOperation:actions.videoOperation,setStorageValue:actions.setStorageValue,setInitialStorageValue:actions.setInitialStorageValue,getLogichValue:exports.VariableGetter.getLogichValue,getConditionalStep:actions.getConditionalStep});}
exports.PIXIVNJSON_PARAM_ID=P;exports.PIXIVNJSON_SCHEMA_URL=S;exports.PixiVNJsonComparationOperators=_;exports.init=ae;Object.keys(core).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return core[k]}})});Object.keys(translator).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return translator[k]}})});Object.keys(interpreter).forEach(function(k){if(k!=='default'&&!Object.prototype.hasOwnProperty.call(exports,k))Object.defineProperty(exports,k,{enumerable:true,get:function(){return interpreter[k]}})});