@drincs/nqtr 0.7.0 → 0.7.1

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.
package/dist/ink.cjs CHANGED
@@ -1 +1 @@
1
- 'use strict';
1
+ 'use strict';var handlers=require('@drincs/nqtr/handlers'),registries=require('@drincs/nqtr/registries');var n;(e=>(e.log=(o,...r)=>console.log(`[NQTR] ${o}`,...r),e.warn=(o,...r)=>console.warn(`[NQTR] ${o}`,...r),e.error=(o,...r)=>console.error(`[NQTR] ${o}`,...r),e.info=(o,...r)=>console.info(`[NQTR] ${o}`,...r)))(n||(n={}));function v(a){a||(a={hours:handlers.timeTracker.defaultTimeSpent}),typeof a=="number"&&(a={hours:a});let{hours:i,days:u}=a;u&&handlers.timeTracker.increaseDate(u,handlers.timeTracker.dayStartTime),i&&handlers.timeTracker.increaseTime(i);}var b=(a={})=>{let{timeConverter:i=e=>Number(e.replace(":",".")),dateConverter:u=e=>Number(e),wait:d=v}=a;return (e,o,r)=>{switch(e[1]){case "room":switch(e[0]){case "enter":if(e.length>2){let t=registries.RegisteredRooms.get(e[2]);return t?handlers.navigator.currentRoom=t:n.warn(`Room ${e[2]} not found`),true}break}break;case "time":switch(e[0]){case "set":if(e.length>2){let t=i("01:00".replace(":","."));return isNaN(t)?n.warn(`Invalid time format: ${e[2]}`):handlers.timeTracker.currentTime=t,true}break}break;case "date":switch(e[0]){case "set":if(e.length>2){let t=u(e[2]);return isNaN(t)?n.warn(`Invalid date format: ${e[2]}`):handlers.timeTracker.currentDate=t,true}break}break;case "activity":switch(e[0]){case "add":if(e.length==5){let t=registries.RegisteredActivities.get(e[2]);if(!t)return n.warn(`Activity ${e[2]} not found`),true;let{in:m}=r(e.slice(3)),f=registries.RegisteredRooms.get(m);return f?f.addActivity(t):n.warn(`Room ${m} not found`),true}case "remove":if(e.length==5){let t=registries.RegisteredActivities.get(e[2]);if(!t)return n.warn(`Activity ${e[2]} not found`),true;let{from:m}=r(e.slice(3)),f=registries.RegisteredRooms.get(m);return f?f.removeActivity(t):n.warn(`Room ${m} not found`),true}}break;case "routine":switch(e[0]){case "add":if(e.length==3){let t=registries.RegisteredCommitments.get(e[2]);return t?(handlers.routine.add(t),true):(n.warn(`Commitment ${e[2]} not found`),true)}case "remove":if(e.length==3){let t=registries.RegisteredCommitments.get(e[2]);return t?(handlers.routine.remove(t),true):(n.warn(`Commitment ${e[2]} not found`),true)}}break;case "quest":switch(e[0]){case "start":if(e.length==3){let t=registries.RegisteredQuests.get(e[2]);return t?(t.start(o),true):(n.warn(`Quest ${e[2]} not found`),true)}case "continue":if(e.length==3){let t=registries.RegisteredQuests.get(e[2]);return t?(t.continue(o),true):(n.warn(`Quest ${e[2]} not found`),true)}}break}switch(e[0]){case "wait":if(e.length==1)return d(),true;if(e.length==2){let t=i(e[1]);return isNaN(t)?n.warn(`Invalid time format: ${e[1]}`):d(t),true}else if(e.length>2){let t=r(e.slice(1));return t.hours!==void 0&&typeof t.hours=="string"&&(t.hours=i(t.hours)),t.days!==void 0&&typeof t.days=="string"&&(t.days=u(t.days)),d(t),true}break}return false}};exports.nqtrHandler=b;
package/dist/ink.d.mts ADDED
@@ -0,0 +1,17 @@
1
+ import { HashtagHandler } from '@drincs/pixi-vn-ink';
2
+
3
+ /**
4
+ * This function returns a HashtagHandler that can be used in a Ink script to handle NQTR-specific commands for managing rooms, time, date, activities, routines, and quests. The handler supports commands like "enter room", "set time", "set date", "add/remove activity", "add/remove routine", "start/continue quest", and "wait". The function accepts an optional configuration object that allows you to provide custom implementations for time conversion, date conversion, and waiting logic. If no custom implementations are provided, default ones will be used.
5
+ * @example
6
+ * ```ts
7
+ * import { nqtrHandler } from '@drincs/nqtr/ink';
8
+ * import { HashtagCommands } from '@drincs/pixi-vn-ink';
9
+ *
10
+ * HashtagCommands.add(nqtrHandler());
11
+ * ```
12
+ * @param options An object containing optional custom implementations for time conversion, date conversion, and waiting logic. If not provided, default implementations will be used.
13
+ * @returns A HashtagHandler function that can be used in a Ink script to handle NQTR-specific commands for managing rooms, time, date, activities, routines, and quests.
14
+ */
15
+ declare const nqtrHandler: () => HashtagHandler;
16
+
17
+ export { nqtrHandler };
package/dist/ink.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ import { HashtagHandler } from '@drincs/pixi-vn-ink';
2
+
3
+ /**
4
+ * This function returns a HashtagHandler that can be used in a Ink script to handle NQTR-specific commands for managing rooms, time, date, activities, routines, and quests. The handler supports commands like "enter room", "set time", "set date", "add/remove activity", "add/remove routine", "start/continue quest", and "wait". The function accepts an optional configuration object that allows you to provide custom implementations for time conversion, date conversion, and waiting logic. If no custom implementations are provided, default ones will be used.
5
+ * @example
6
+ * ```ts
7
+ * import { nqtrHandler } from '@drincs/nqtr/ink';
8
+ * import { HashtagCommands } from '@drincs/pixi-vn-ink';
9
+ *
10
+ * HashtagCommands.add(nqtrHandler());
11
+ * ```
12
+ * @param options An object containing optional custom implementations for time conversion, date conversion, and waiting logic. If not provided, default implementations will be used.
13
+ * @returns A HashtagHandler function that can be used in a Ink script to handle NQTR-specific commands for managing rooms, time, date, activities, routines, and quests.
14
+ */
15
+ declare const nqtrHandler: () => HashtagHandler;
16
+
17
+ export { nqtrHandler };
package/dist/ink.mjs CHANGED
@@ -0,0 +1 @@
1
+ import {routine,timeTracker,navigator}from'@drincs/nqtr/handlers';import {RegisteredQuests,RegisteredCommitments,RegisteredActivities,RegisteredRooms}from'@drincs/nqtr/registries';var n;(e=>(e.log=(o,...r)=>console.log(`[NQTR] ${o}`,...r),e.warn=(o,...r)=>console.warn(`[NQTR] ${o}`,...r),e.error=(o,...r)=>console.error(`[NQTR] ${o}`,...r),e.info=(o,...r)=>console.info(`[NQTR] ${o}`,...r)))(n||(n={}));function v(a){a||(a={hours:timeTracker.defaultTimeSpent}),typeof a=="number"&&(a={hours:a});let{hours:i,days:u}=a;u&&timeTracker.increaseDate(u,timeTracker.dayStartTime),i&&timeTracker.increaseTime(i);}var b=(a={})=>{let{timeConverter:i=e=>Number(e.replace(":",".")),dateConverter:u=e=>Number(e),wait:d=v}=a;return (e,o,r)=>{switch(e[1]){case "room":switch(e[0]){case "enter":if(e.length>2){let t=RegisteredRooms.get(e[2]);return t?navigator.currentRoom=t:n.warn(`Room ${e[2]} not found`),true}break}break;case "time":switch(e[0]){case "set":if(e.length>2){let t=i("01:00".replace(":","."));return isNaN(t)?n.warn(`Invalid time format: ${e[2]}`):timeTracker.currentTime=t,true}break}break;case "date":switch(e[0]){case "set":if(e.length>2){let t=u(e[2]);return isNaN(t)?n.warn(`Invalid date format: ${e[2]}`):timeTracker.currentDate=t,true}break}break;case "activity":switch(e[0]){case "add":if(e.length==5){let t=RegisteredActivities.get(e[2]);if(!t)return n.warn(`Activity ${e[2]} not found`),true;let{in:m}=r(e.slice(3)),f=RegisteredRooms.get(m);return f?f.addActivity(t):n.warn(`Room ${m} not found`),true}case "remove":if(e.length==5){let t=RegisteredActivities.get(e[2]);if(!t)return n.warn(`Activity ${e[2]} not found`),true;let{from:m}=r(e.slice(3)),f=RegisteredRooms.get(m);return f?f.removeActivity(t):n.warn(`Room ${m} not found`),true}}break;case "routine":switch(e[0]){case "add":if(e.length==3){let t=RegisteredCommitments.get(e[2]);return t?(routine.add(t),true):(n.warn(`Commitment ${e[2]} not found`),true)}case "remove":if(e.length==3){let t=RegisteredCommitments.get(e[2]);return t?(routine.remove(t),true):(n.warn(`Commitment ${e[2]} not found`),true)}}break;case "quest":switch(e[0]){case "start":if(e.length==3){let t=RegisteredQuests.get(e[2]);return t?(t.start(o),true):(n.warn(`Quest ${e[2]} not found`),true)}case "continue":if(e.length==3){let t=RegisteredQuests.get(e[2]);return t?(t.continue(o),true):(n.warn(`Quest ${e[2]} not found`),true)}}break}switch(e[0]){case "wait":if(e.length==1)return d(),true;if(e.length==2){let t=i(e[1]);return isNaN(t)?n.warn(`Invalid time format: ${e[1]}`):d(t),true}else if(e.length>2){let t=r(e.slice(1));return t.hours!==void 0&&typeof t.hours=="string"&&(t.hours=i(t.hours)),t.days!==void 0&&typeof t.days=="string"&&(t.days=u(t.days)),d(t),true}break}return false}};export{b as nqtrHandler};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@drincs/nqtr",
3
- "version": "0.7.0",
3
+ "version": "0.7.1",
4
4
  "description": "A complete system introducing the concepts of location, time and event, producing the framework of a not-quite-point-and-click adventure game.",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",