@drincs/pixi-vn 0.4.8 → 0.4.10

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.
Files changed (83) hide show
  1. package/dist/classes/CharacterBaseModel.js.map +1 -1
  2. package/dist/classes/CharacterBaseModel.mjs.map +1 -1
  3. package/dist/classes/ChoiceMenuOptionLabel.d.mts +1 -2
  4. package/dist/classes/ChoiceMenuOptionLabel.d.ts +1 -2
  5. package/dist/classes/Label.d.mts +3 -4
  6. package/dist/classes/Label.d.ts +3 -4
  7. package/dist/classes/Label.js.map +1 -1
  8. package/dist/classes/Label.mjs.map +1 -1
  9. package/dist/classes/StoredClassModel.js.map +1 -1
  10. package/dist/classes/StoredClassModel.mjs.map +1 -1
  11. package/dist/classes/index.d.mts +1 -2
  12. package/dist/classes/index.d.ts +1 -2
  13. package/dist/classes/index.js.map +1 -1
  14. package/dist/classes/index.mjs.map +1 -1
  15. package/dist/classes/ticker/TickerFadeAlpha.js.map +1 -1
  16. package/dist/classes/ticker/TickerFadeAlpha.mjs.map +1 -1
  17. package/dist/classes/ticker/TickerMove.js.map +1 -1
  18. package/dist/classes/ticker/TickerMove.mjs.map +1 -1
  19. package/dist/classes/ticker/TickerRotate.js.map +1 -1
  20. package/dist/classes/ticker/TickerRotate.mjs.map +1 -1
  21. package/dist/classes/ticker/index.js.map +1 -1
  22. package/dist/classes/ticker/index.mjs.map +1 -1
  23. package/dist/decorators/LabelDecorator.d.mts +1 -2
  24. package/dist/decorators/LabelDecorator.d.ts +1 -2
  25. package/dist/decorators/index.d.mts +1 -2
  26. package/dist/decorators/index.d.ts +1 -2
  27. package/dist/functions/DialogueUtility.d.mts +1 -2
  28. package/dist/functions/DialogueUtility.d.ts +1 -2
  29. package/dist/functions/DialogueUtility.js.map +1 -1
  30. package/dist/functions/DialogueUtility.mjs.map +1 -1
  31. package/dist/functions/FlagsUtility.js.map +1 -1
  32. package/dist/functions/FlagsUtility.mjs.map +1 -1
  33. package/dist/functions/GameUtility.js.map +1 -1
  34. package/dist/functions/GameUtility.mjs.map +1 -1
  35. package/dist/functions/ImageUtility.js.map +1 -1
  36. package/dist/functions/ImageUtility.mjs.map +1 -1
  37. package/dist/functions/SavesUtility.d.mts +1 -2
  38. package/dist/functions/SavesUtility.d.ts +1 -2
  39. package/dist/functions/SavesUtility.js.map +1 -1
  40. package/dist/functions/SavesUtility.mjs.map +1 -1
  41. package/dist/functions/StepLabelUtility.d.mts +2 -3
  42. package/dist/functions/StepLabelUtility.d.ts +2 -3
  43. package/dist/functions/StepLabelUtility.js.map +1 -1
  44. package/dist/functions/StepLabelUtility.mjs.map +1 -1
  45. package/dist/functions/index.d.mts +1 -2
  46. package/dist/functions/index.d.ts +1 -2
  47. package/dist/functions/index.js.map +1 -1
  48. package/dist/functions/index.mjs.map +1 -1
  49. package/dist/index.d.mts +1 -2
  50. package/dist/index.d.ts +1 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs.map +1 -1
  53. package/dist/interface/IDialogueHistory.d.mts +1 -2
  54. package/dist/interface/IDialogueHistory.d.ts +1 -2
  55. package/dist/interface/IHistoryStep.d.mts +1 -2
  56. package/dist/interface/IHistoryStep.d.ts +1 -2
  57. package/dist/interface/ISaveData.d.mts +1 -2
  58. package/dist/interface/ISaveData.d.ts +1 -2
  59. package/dist/interface/export/ExportedStep.d.mts +1 -2
  60. package/dist/interface/export/ExportedStep.d.ts +1 -2
  61. package/dist/interface/export/index.d.mts +1 -2
  62. package/dist/interface/export/index.d.ts +1 -2
  63. package/dist/interface/index.d.mts +1 -2
  64. package/dist/interface/index.d.ts +1 -2
  65. package/dist/managers/StepManager.d.mts +3 -4
  66. package/dist/managers/StepManager.d.ts +3 -4
  67. package/dist/managers/StepManager.js.map +1 -1
  68. package/dist/managers/StepManager.mjs.map +1 -1
  69. package/dist/managers/index.d.mts +1 -2
  70. package/dist/managers/index.d.ts +1 -2
  71. package/dist/managers/index.js.map +1 -1
  72. package/dist/managers/index.mjs.map +1 -1
  73. package/dist/override/StepLabelProps.d.mts +2 -1
  74. package/dist/override/StepLabelProps.d.ts +2 -1
  75. package/dist/override/StepLabelResult.d.mts +2 -1
  76. package/dist/override/StepLabelResult.d.ts +2 -1
  77. package/dist/types/ChoiceMenuOptionsType.d.mts +1 -2
  78. package/dist/types/ChoiceMenuOptionsType.d.ts +1 -2
  79. package/dist/types/StepLabelType.d.mts +3 -4
  80. package/dist/types/StepLabelType.d.ts +3 -4
  81. package/dist/types/index.d.mts +1 -2
  82. package/dist/types/index.d.ts +1 -2
  83. package/package.json +2 -2
@@ -3,8 +3,7 @@ import { LabelIdType } from '../types/LabelIdType.mjs';
3
3
  import Label from './Label.mjs';
4
4
  import '../types/StepHistoryDataType.mjs';
5
5
  import '../types/StepLabelType.mjs';
6
- import '../override/StepLabelProps.mjs';
7
- import '../override/StepLabelResult.mjs';
6
+ import '@drincs/pixi-vn/dist/override';
8
7
 
9
8
  /**
10
9
  * ChoiceMenuOptionLabel is a class that contains a Label and a text that will be displayed in the menu.
@@ -3,8 +3,7 @@ import { LabelIdType } from '../types/LabelIdType.js';
3
3
  import Label from './Label.js';
4
4
  import '../types/StepHistoryDataType.js';
5
5
  import '../types/StepLabelType.js';
6
- import '../override/StepLabelProps.js';
7
- import '../override/StepLabelResult.js';
6
+ import '@drincs/pixi-vn/dist/override';
8
7
 
9
8
  /**
10
9
  * ChoiceMenuOptionLabel is a class that contains a Label and a text that will be displayed in the menu.
@@ -1,7 +1,6 @@
1
1
  import { StepHistoryDataType } from '../types/StepHistoryDataType.mjs';
2
2
  import { StepLabelType } from '../types/StepLabelType.mjs';
3
- import '../override/StepLabelProps.mjs';
4
- import '../override/StepLabelResult.mjs';
3
+ import '@drincs/pixi-vn/dist/override';
5
4
 
6
5
  /**
7
6
  * Label is a class that contains a list of steps, which will be performed as the game continues.
@@ -28,13 +27,13 @@ import '../override/StepLabelResult.mjs';
28
27
  * GameStepManager.callLabel(StartLabel)
29
28
  * ```
30
29
  */
31
- declare class Label {
30
+ declare class Label<T extends {} = {}> {
32
31
  /**
33
32
  * Get the steps of the label.
34
33
  * This class should be extended and the steps method should be overridden.
35
34
  * Every time you update this list will also be updated when the other game versions load.
36
35
  */
37
- get steps(): StepLabelType[];
36
+ get steps(): StepLabelType<T>[];
38
37
  /**
39
38
  * Get the corresponding steps number
40
39
  * @param externalSteps
@@ -1,7 +1,6 @@
1
1
  import { StepHistoryDataType } from '../types/StepHistoryDataType.js';
2
2
  import { StepLabelType } from '../types/StepLabelType.js';
3
- import '../override/StepLabelProps.js';
4
- import '../override/StepLabelResult.js';
3
+ import '@drincs/pixi-vn/dist/override';
5
4
 
6
5
  /**
7
6
  * Label is a class that contains a list of steps, which will be performed as the game continues.
@@ -28,13 +27,13 @@ import '../override/StepLabelResult.js';
28
27
  * GameStepManager.callLabel(StartLabel)
29
28
  * ```
30
29
  */
31
- declare class Label {
30
+ declare class Label<T extends {} = {}> {
32
31
  /**
33
32
  * Get the steps of the label.
34
33
  * This class should be extended and the steps method should be overridden.
35
34
  * Every time you update this list will also be updated when the other game versions load.
36
35
  */
37
- get steps(): StepLabelType[];
36
+ get steps(): StepLabelType<T>[];
38
37
  /**
39
38
  * Get the corresponding steps number
40
39
  * @param externalSteps
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/functions/StepLabelUtility.ts","../../src/classes/Label.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU;AAmBV,SAAS,oBAAoB,OAA4C,OAAqD;AACjI,SAAO,UAAU;AACrB;;;ACQA,IAAqB,QAArB,MAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvB,IAAW,QAAyB;AAAE,UAAM,IAAI,MAAM,qDAAqD;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtG,4BAA4B,eAAgE;AAC/F,QAAI,cAAc,WAAW,GAAG;AAC5B,aAAO;AAAA,IACX;AACA,QAAI,MAAc;AAClB,kBAAc,QAAQ,CAAC,MAAM,UAAU;AACnC,UAAI,oBAAoB,MAAM,KAAK,MAAM,KAAK,CAAC,GAAG;AAC9C,cAAM;AAAA,MACV;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AACJ","sourcesContent":["import sha1 from 'crypto-js/sha1';\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\";\nimport { StepLabelType } from \"../types/StepLabelType\";\n\n/**\n * Convert StepLabel to StepHistoryData\n * @param step\n * @returns\n */\nexport function getStepSha1(step: StepLabelType): StepHistoryDataType {\n let sha1String = sha1(step.toString().toLocaleLowerCase())\n return sha1String.toString()\n}\n/**\n * Check if two steps are equal\n * @param step1\n * @param step2\n * @returns\n */\nexport function checkIfStepsIsEqual(step1: StepHistoryDataType | StepLabelType, step2: StepHistoryDataType | StepLabelType): boolean {\n return step1 === step2\n}\n","import { checkIfStepsIsEqual } from \"../functions/StepLabelUtility\"\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\"\nimport { StepLabelType } from \"../types/StepLabelType\"\n\n/**\n * Label is a class that contains a list of steps, which will be performed as the game continues.\n * You must use the labelDecorator to register the label in the game.\n * For Ren'py this is the equivalent of a label.\n * @example\n * ```typescript\n * \\@labelDecorator() // this is equivalent to labelDecorator(\"StartLabel\")\n * export class StartLabel extends Label {\n * override get steps(): StepLabelType[] {\n * return [\n * () => {\n * GameWindowManager.clear()\n * setDialogue({ character: liam, text: \"Which test do you want to perform?\" })\n * setChoiceMenuOptions([\n * new ChoiceMenuOptionLabel(\"Events Test\", EventsTestLabel),\n * new ChoiceMenuOptionLabel(\"Show Image Test\", ShowImageTest),\n * ])\n * },\n * () => GameStepManager.jumpLabel(StartLabel),\n * ]\n * }\n * }\n * GameStepManager.callLabel(StartLabel)\n * ```\n */\nexport default class Label {\n /**\n * Get the steps of the label.\n * This class should be extended and the steps method should be overridden.\n * Every time you update this list will also be updated when the other game versions load.\n */\n public get steps(): StepLabelType[] { throw new Error(\"[Pixi'VN] The method Label.steps must be overridden\") }\n /**\n * Get the corresponding steps number\n * @param externalSteps\n * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1\n */\n public getCorrespondingStepsNumber(externalSteps: StepHistoryDataType[] | StepLabelType[]): number {\n if (externalSteps.length === 0) {\n return 0\n }\n let res: number = 0\n externalSteps.forEach((step, index) => {\n if (checkIfStepsIsEqual(step, this.steps[index])) {\n res = index\n }\n })\n return res\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/functions/StepLabelUtility.ts","../../src/classes/Label.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU;AAmBV,SAAS,oBAAoB,OAAiD,OAA0D;AAC3I,SAAO,UAAU;AACrB;;;ACQA,IAAqB,QAArB,MAA8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1C,IAAW,QAA4B;AAAE,UAAM,IAAI,MAAM,qDAAqD;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMzG,4BAA4B,eAAgE;AAC/F,QAAI,cAAc,WAAW,GAAG;AAC5B,aAAO;AAAA,IACX;AACA,QAAI,MAAc;AAClB,kBAAc,QAAQ,CAAC,MAAM,UAAU;AACnC,UAAI,oBAAoB,MAAM,KAAK,MAAM,KAAK,CAAC,GAAG;AAC9C,cAAM;AAAA,MACV;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AACJ","sourcesContent":["import sha1 from 'crypto-js/sha1';\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\";\nimport { StepLabelType } from \"../types/StepLabelType\";\n\n/**\n * Convert StepLabel to StepHistoryData\n * @param step\n * @returns\n */\nexport function getStepSha1(step: StepLabelType): StepHistoryDataType {\n let sha1String = sha1(step.toString().toLocaleLowerCase())\n return sha1String.toString()\n}\n/**\n * Check if two steps are equal\n * @param step1\n * @param step2\n * @returns\n */\nexport function checkIfStepsIsEqual(step1: StepHistoryDataType | StepLabelType<any>, step2: StepHistoryDataType | StepLabelType<any>): boolean {\n return step1 === step2\n}\n","import { checkIfStepsIsEqual } from \"../functions/StepLabelUtility\"\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\"\nimport { StepLabelType } from \"../types/StepLabelType\"\n\n/**\n * Label is a class that contains a list of steps, which will be performed as the game continues.\n * You must use the labelDecorator to register the label in the game.\n * For Ren'py this is the equivalent of a label.\n * @example\n * ```typescript\n * \\@labelDecorator() // this is equivalent to labelDecorator(\"StartLabel\")\n * export class StartLabel extends Label {\n * override get steps(): StepLabelType[] {\n * return [\n * () => {\n * GameWindowManager.clear()\n * setDialogue({ character: liam, text: \"Which test do you want to perform?\" })\n * setChoiceMenuOptions([\n * new ChoiceMenuOptionLabel(\"Events Test\", EventsTestLabel),\n * new ChoiceMenuOptionLabel(\"Show Image Test\", ShowImageTest),\n * ])\n * },\n * () => GameStepManager.jumpLabel(StartLabel),\n * ]\n * }\n * }\n * GameStepManager.callLabel(StartLabel)\n * ```\n */\nexport default class Label<T extends {} = {}> {\n /**\n * Get the steps of the label.\n * This class should be extended and the steps method should be overridden.\n * Every time you update this list will also be updated when the other game versions load.\n */\n public get steps(): StepLabelType<T>[] { throw new Error(\"[Pixi'VN] The method Label.steps must be overridden\") }\n /**\n * Get the corresponding steps number\n * @param externalSteps\n * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1\n */\n public getCorrespondingStepsNumber(externalSteps: StepHistoryDataType[] | StepLabelType[]): number {\n if (externalSteps.length === 0) {\n return 0\n }\n let res: number = 0\n externalSteps.forEach((step, index) => {\n if (checkIfStepsIsEqual(step, this.steps[index])) {\n res = index\n }\n })\n return res\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/functions/StepLabelUtility.ts","../../src/classes/Label.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU;AAmBV,SAAS,oBAAoB,OAA4C,OAAqD;AACjI,SAAO,UAAU;AACrB;;;ACQA,IAAqB,QAArB,MAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvB,IAAW,QAAyB;AAAE,UAAM,IAAI,MAAM,qDAAqD;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtG,4BAA4B,eAAgE;AAC/F,QAAI,cAAc,WAAW,GAAG;AAC5B,aAAO;AAAA,IACX;AACA,QAAI,MAAc;AAClB,kBAAc,QAAQ,CAAC,MAAM,UAAU;AACnC,UAAI,oBAAoB,MAAM,KAAK,MAAM,KAAK,CAAC,GAAG;AAC9C,cAAM;AAAA,MACV;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AACJ","sourcesContent":["import sha1 from 'crypto-js/sha1';\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\";\nimport { StepLabelType } from \"../types/StepLabelType\";\n\n/**\n * Convert StepLabel to StepHistoryData\n * @param step\n * @returns\n */\nexport function getStepSha1(step: StepLabelType): StepHistoryDataType {\n let sha1String = sha1(step.toString().toLocaleLowerCase())\n return sha1String.toString()\n}\n/**\n * Check if two steps are equal\n * @param step1\n * @param step2\n * @returns\n */\nexport function checkIfStepsIsEqual(step1: StepHistoryDataType | StepLabelType, step2: StepHistoryDataType | StepLabelType): boolean {\n return step1 === step2\n}\n","import { checkIfStepsIsEqual } from \"../functions/StepLabelUtility\"\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\"\nimport { StepLabelType } from \"../types/StepLabelType\"\n\n/**\n * Label is a class that contains a list of steps, which will be performed as the game continues.\n * You must use the labelDecorator to register the label in the game.\n * For Ren'py this is the equivalent of a label.\n * @example\n * ```typescript\n * \\@labelDecorator() // this is equivalent to labelDecorator(\"StartLabel\")\n * export class StartLabel extends Label {\n * override get steps(): StepLabelType[] {\n * return [\n * () => {\n * GameWindowManager.clear()\n * setDialogue({ character: liam, text: \"Which test do you want to perform?\" })\n * setChoiceMenuOptions([\n * new ChoiceMenuOptionLabel(\"Events Test\", EventsTestLabel),\n * new ChoiceMenuOptionLabel(\"Show Image Test\", ShowImageTest),\n * ])\n * },\n * () => GameStepManager.jumpLabel(StartLabel),\n * ]\n * }\n * }\n * GameStepManager.callLabel(StartLabel)\n * ```\n */\nexport default class Label {\n /**\n * Get the steps of the label.\n * This class should be extended and the steps method should be overridden.\n * Every time you update this list will also be updated when the other game versions load.\n */\n public get steps(): StepLabelType[] { throw new Error(\"[Pixi'VN] The method Label.steps must be overridden\") }\n /**\n * Get the corresponding steps number\n * @param externalSteps\n * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1\n */\n public getCorrespondingStepsNumber(externalSteps: StepHistoryDataType[] | StepLabelType[]): number {\n if (externalSteps.length === 0) {\n return 0\n }\n let res: number = 0\n externalSteps.forEach((step, index) => {\n if (checkIfStepsIsEqual(step, this.steps[index])) {\n res = index\n }\n })\n return res\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/functions/StepLabelUtility.ts","../../src/classes/Label.ts"],"names":[],"mappings":";AAAA,OAAO,UAAU;AAmBV,SAAS,oBAAoB,OAAiD,OAA0D;AAC3I,SAAO,UAAU;AACrB;;;ACQA,IAAqB,QAArB,MAA8C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1C,IAAW,QAA4B;AAAE,UAAM,IAAI,MAAM,qDAAqD;AAAA,EAAE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMzG,4BAA4B,eAAgE;AAC/F,QAAI,cAAc,WAAW,GAAG;AAC5B,aAAO;AAAA,IACX;AACA,QAAI,MAAc;AAClB,kBAAc,QAAQ,CAAC,MAAM,UAAU;AACnC,UAAI,oBAAoB,MAAM,KAAK,MAAM,KAAK,CAAC,GAAG;AAC9C,cAAM;AAAA,MACV;AAAA,IACJ,CAAC;AACD,WAAO;AAAA,EACX;AACJ","sourcesContent":["import sha1 from 'crypto-js/sha1';\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\";\nimport { StepLabelType } from \"../types/StepLabelType\";\n\n/**\n * Convert StepLabel to StepHistoryData\n * @param step\n * @returns\n */\nexport function getStepSha1(step: StepLabelType): StepHistoryDataType {\n let sha1String = sha1(step.toString().toLocaleLowerCase())\n return sha1String.toString()\n}\n/**\n * Check if two steps are equal\n * @param step1\n * @param step2\n * @returns\n */\nexport function checkIfStepsIsEqual(step1: StepHistoryDataType | StepLabelType<any>, step2: StepHistoryDataType | StepLabelType<any>): boolean {\n return step1 === step2\n}\n","import { checkIfStepsIsEqual } from \"../functions/StepLabelUtility\"\nimport { StepHistoryDataType } from \"../types/StepHistoryDataType\"\nimport { StepLabelType } from \"../types/StepLabelType\"\n\n/**\n * Label is a class that contains a list of steps, which will be performed as the game continues.\n * You must use the labelDecorator to register the label in the game.\n * For Ren'py this is the equivalent of a label.\n * @example\n * ```typescript\n * \\@labelDecorator() // this is equivalent to labelDecorator(\"StartLabel\")\n * export class StartLabel extends Label {\n * override get steps(): StepLabelType[] {\n * return [\n * () => {\n * GameWindowManager.clear()\n * setDialogue({ character: liam, text: \"Which test do you want to perform?\" })\n * setChoiceMenuOptions([\n * new ChoiceMenuOptionLabel(\"Events Test\", EventsTestLabel),\n * new ChoiceMenuOptionLabel(\"Show Image Test\", ShowImageTest),\n * ])\n * },\n * () => GameStepManager.jumpLabel(StartLabel),\n * ]\n * }\n * }\n * GameStepManager.callLabel(StartLabel)\n * ```\n */\nexport default class Label<T extends {} = {}> {\n /**\n * Get the steps of the label.\n * This class should be extended and the steps method should be overridden.\n * Every time you update this list will also be updated when the other game versions load.\n */\n public get steps(): StepLabelType<T>[] { throw new Error(\"[Pixi'VN] The method Label.steps must be overridden\") }\n /**\n * Get the corresponding steps number\n * @param externalSteps\n * @returns Numer of corresponding steps, for example, if externalSteps is [ABC, DEF, GHI] and the steps of the label is [ABC, GHT], the result will be 1\n */\n public getCorrespondingStepsNumber(externalSteps: StepHistoryDataType[] | StepLabelType[]): number {\n if (externalSteps.length === 0) {\n return 0\n }\n let res: number = 0\n externalSteps.forEach((step, index) => {\n if (checkIfStepsIsEqual(step, this.steps[index])) {\n res = index\n }\n })\n return res\n }\n}\n"]}