UNPKG

@drincs/pixi-vn-json

Version:

Pixi'VN can be integrated with JSON files to create a visual novel.

2 lines 2.87 kB
import {getValueFromConditionalStatements,getLogichValue,getConditionalStep,setInitialStorageValue,setStorageValue,videoOperation,soundOperation,loadAssets,narrationOperation,textOperation,imageOperation,imageContainerOperation,effectOperation,canvasElementOperation,animateOperation}from'@drincs/pixi-vn-json/actions';import {JsonUnifier}from'@drincs/pixi-vn-json/core';export*from'@drincs/pixi-vn-json/core';import {translator as translator$1}from'@drincs/pixi-vn-json/translator';export*from'@drincs/pixi-vn-json/translator';import {RegisteredCharacters}from'@drincs/pixi-vn/characters';import {ZodType}from'zod';export*from'@drincs/pixi-vn-json/interpreter';var l;(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=>getLogichValue(e,u)??void 0,c=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;})(l||(l={}));var y={version:"1.13.2"};var P="___param___",S=`https://pixi-vn.web.app/schemas/${y.version}/schema.json`,_=["==","!=","<","<=",">",">=","CONTAINS"];var b;(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$1.beforeToTranslate=s=>p(s,{type:"before-translation"}),m=true):t==="after-translation"&&!f&&(translator$1.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(!RegisteredCharacters.has(i))continue}else if(t!=="all"){if(t instanceof RegExp){if(!t.test(i))continue}else if(t instanceof ZodType&&!t.safeParse(i).success)continue}let x=r(i);x!==void 0&&(e=e.replaceAll(`[${i}]`,x));}return e}})(b||(b={}));function ae(){JsonUnifier.init({animateOperation:animateOperation,canvasElementOperation:canvasElementOperation,effectOperation:effectOperation,imageContainerOperation:imageContainerOperation,imageOperation:imageOperation,textOperation:textOperation,narrationOperation:narrationOperation,loadAssets:loadAssets,soundOperation:soundOperation,videoOperation:videoOperation,setStorageValue:setStorageValue,setInitialStorageValue:setInitialStorageValue,getLogichValue:l.getLogichValue,getConditionalStep:getConditionalStep});} export{P as PIXIVNJSON_PARAM_ID,S as PIXIVNJSON_SCHEMA_URL,_ as PixiVNJsonComparationOperators,b as TextReplaces,l as VariableGetter,ae as init};