ttpg-darrell 1.0.25 → 1.0.26
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/build/cjs/event/on-card-became-singleton-or-deck.d.ts +4 -1
- package/build/cjs/event/on-card-became-singleton-or-deck.js +58 -15
- package/build/cjs/event/on-card-became-singleton-or-deck.js.map +1 -1
- package/build/cjs/index.d.ts +1 -0
- package/build/cjs/index.js +1 -0
- package/build/cjs/index.js.map +1 -1
- package/build/esm/event/on-card-became-singleton-or-deck.d.ts +4 -1
- package/build/esm/event/on-card-became-singleton-or-deck.js +59 -16
- package/build/esm/event/on-card-became-singleton-or-deck.js.map +1 -1
- package/build/esm/index.d.ts +1 -0
- package/build/esm/index.js +1 -0
- package/build/esm/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Scripts may wish to offer content menu items for singleton cards, but
|
|
11
11
|
* not when they become a deck (or vice versa).
|
|
12
|
+
*
|
|
13
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
14
|
+
* with in-game singleton cards and decks.
|
|
12
15
|
*/
|
|
13
16
|
import { Card, GameObject, Player } from "@tabletop-playground/api";
|
|
14
17
|
import { TriggerableMulticastDelegate } from "../triggerable-multicast-delegate/triggerable-multicast-delegate";
|
|
15
18
|
import { AbstractGlobal } from "../global/abstract-global";
|
|
16
19
|
export declare class OnCardBecameSingletonOrDeck implements AbstractGlobal {
|
|
17
20
|
static readonly onSingletonCardCreated: TriggerableMulticastDelegate<(card: Card) => void>;
|
|
18
|
-
static readonly onSingletonCardMadeDeck: TriggerableMulticastDelegate<(card: Card) => void>;
|
|
21
|
+
static readonly onSingletonCardMadeDeck: TriggerableMulticastDelegate<(card: Card, oldNsid: string) => void>;
|
|
19
22
|
private static readonly _onInsertedHandler;
|
|
20
23
|
static _onRemovedHandler: (deck: Card, removedCard: Card, position: number, player?: Player) => void;
|
|
21
24
|
static _onCreatedHandler: (obj: GameObject) => void;
|
|
@@ -10,14 +10,22 @@
|
|
|
10
10
|
*
|
|
11
11
|
* Scripts may wish to offer content menu items for singleton cards, but
|
|
12
12
|
* not when they become a deck (or vice versa).
|
|
13
|
+
*
|
|
14
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
15
|
+
* with in-game singleton cards and decks.
|
|
13
16
|
*/
|
|
14
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
18
|
exports.OnCardBecameSingletonOrDeck = void 0;
|
|
16
19
|
const api_1 = require("@tabletop-playground/api");
|
|
17
20
|
const triggerable_multicast_delegate_1 = require("../triggerable-multicast-delegate/triggerable-multicast-delegate");
|
|
21
|
+
const nsid_1 = require("../nsid/nsid");
|
|
18
22
|
class OnCardBecameSingletonOrDeck {
|
|
19
23
|
init() {
|
|
20
24
|
api_1.globalEvents.onObjectCreated.add(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
25
|
+
const skipContained = false;
|
|
26
|
+
for (const obj of api_1.world.getAllObjects(skipContained)) {
|
|
27
|
+
OnCardBecameSingletonOrDeck._onCreatedHandler(obj);
|
|
28
|
+
}
|
|
21
29
|
}
|
|
22
30
|
_reset() {
|
|
23
31
|
api_1.globalEvents.onObjectCreated.remove(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
@@ -26,25 +34,43 @@ class OnCardBecameSingletonOrDeck {
|
|
|
26
34
|
exports.OnCardBecameSingletonOrDeck = OnCardBecameSingletonOrDeck;
|
|
27
35
|
OnCardBecameSingletonOrDeck.onSingletonCardCreated = new triggerable_multicast_delegate_1.TriggerableMulticastDelegate();
|
|
28
36
|
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck = new triggerable_multicast_delegate_1.TriggerableMulticastDelegate();
|
|
29
|
-
OnCardBecameSingletonOrDeck._onInsertedHandler = (deck,
|
|
37
|
+
OnCardBecameSingletonOrDeck._onInsertedHandler = (deck,
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
|
+
insertedCard,
|
|
40
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
41
|
+
position,
|
|
42
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
43
|
+
player) => {
|
|
30
44
|
// This handler is only installed on singleton cards, and other card(s)
|
|
31
45
|
// have already been added to deck before calling this. So remove
|
|
32
46
|
// this handler, and signal the card is now a deck.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
deck.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
47
|
+
const oldNsid = nsid_1.NSID.get(deck);
|
|
48
|
+
process.nextTick(() => {
|
|
49
|
+
if (deck.isValid() && deck.getStackSize() > 1) {
|
|
50
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
51
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
52
|
+
deck.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
53
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(deck, oldNsid);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
39
56
|
};
|
|
40
|
-
OnCardBecameSingletonOrDeck._onRemovedHandler = (deck,
|
|
57
|
+
OnCardBecameSingletonOrDeck._onRemovedHandler = (deck,
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
+
removedCard,
|
|
60
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
61
|
+
position,
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
63
|
+
player) => {
|
|
41
64
|
// Called after card is removed.
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
deck.
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
65
|
+
// Removed card get seen by the onCreated handler.
|
|
66
|
+
process.nextTick(() => {
|
|
67
|
+
if (deck.getStackSize() === 1) {
|
|
68
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
69
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
70
|
+
deck.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
71
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.trigger(deck);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
48
74
|
};
|
|
49
75
|
OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
50
76
|
if (!(obj instanceof api_1.Card)) {
|
|
@@ -52,12 +78,16 @@ OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
|
52
78
|
}
|
|
53
79
|
// Strange things happen when making a deck. Wait a frame then see.
|
|
54
80
|
process.nextTick(() => {
|
|
81
|
+
if (!obj.isValid()) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
55
84
|
if (obj.getStackSize() > 1) {
|
|
56
85
|
// deck
|
|
57
86
|
obj.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
58
87
|
obj.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
88
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(obj);
|
|
59
89
|
}
|
|
60
|
-
else {
|
|
90
|
+
else if (obj.getStackSize() === 1) {
|
|
61
91
|
// singleton card
|
|
62
92
|
obj.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
63
93
|
obj.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
@@ -65,4 +95,17 @@ OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
|
65
95
|
}
|
|
66
96
|
});
|
|
67
97
|
};
|
|
98
|
+
/*
|
|
99
|
+
|
|
100
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.add((card: Card) => {
|
|
101
|
+
const nsid: string = NSID.get(card);
|
|
102
|
+
console.log(`onSingletonCardCreated: [${nsid}]`);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.add((card: Card) => {
|
|
106
|
+
const nsids: string[] = NSID.getDeck(card);
|
|
107
|
+
console.log(`onSingletonCardMadeDeck: [${nsids.join(", ")}]`);
|
|
108
|
+
});
|
|
109
|
+
|
|
110
|
+
*/
|
|
68
111
|
//# sourceMappingURL=on-card-became-singleton-or-deck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-card-became-singleton-or-deck.js","sourceRoot":"","sources":["../../../src/event/on-card-became-singleton-or-deck.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"on-card-became-singleton-or-deck.js","sourceRoot":"","sources":["../../../src/event/on-card-became-singleton-or-deck.ts"],"names":[],"mappings":"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"}
|
package/build/cjs/index.d.ts
CHANGED
package/build/cjs/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./error-handler/error-handler"), exports);
|
|
18
|
+
__exportStar(require("./event/on-card-became-singleton-or-deck"), exports);
|
|
18
19
|
__exportStar(require("./facing/facing"), exports);
|
|
19
20
|
__exportStar(require("./garbage/garbage-container"), exports);
|
|
20
21
|
__exportStar(require("./garbage/simple-card-garbage-handler"), exports);
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,kDAAgC;AAChC,8DAA4C;AAC5C,wEAAsD;AACtD,wEAAsD;AACtD,yEAAuD;AACvD,2DAAyC;AACzC,mEAAiD;AACjD,kDAAgC;AAChC,8CAA4B;AAC5B,yDAAuC;AACvC,gEAA8C;AAC9C,sDAAoC;AACpC,oDAAkC;AAClC,kGAAgF;AAChF,0FAAwE;AACxE,gEAA8C"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gEAA8C;AAC9C,2EAAyD;AACzD,kDAAgC;AAChC,8DAA4C;AAC5C,wEAAsD;AACtD,wEAAsD;AACtD,yEAAuD;AACvD,2DAAyC;AACzC,mEAAiD;AACjD,kDAAgC;AAChC,8CAA4B;AAC5B,yDAAuC;AACvC,gEAA8C;AAC9C,sDAAoC;AACpC,oDAAkC;AAClC,kGAAgF;AAChF,0FAAwE;AACxE,gEAA8C"}
|
|
@@ -9,13 +9,16 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Scripts may wish to offer content menu items for singleton cards, but
|
|
11
11
|
* not when they become a deck (or vice versa).
|
|
12
|
+
*
|
|
13
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
14
|
+
* with in-game singleton cards and decks.
|
|
12
15
|
*/
|
|
13
16
|
import { Card, GameObject, Player } from "@tabletop-playground/api";
|
|
14
17
|
import { TriggerableMulticastDelegate } from "../triggerable-multicast-delegate/triggerable-multicast-delegate";
|
|
15
18
|
import { AbstractGlobal } from "../global/abstract-global";
|
|
16
19
|
export declare class OnCardBecameSingletonOrDeck implements AbstractGlobal {
|
|
17
20
|
static readonly onSingletonCardCreated: TriggerableMulticastDelegate<(card: Card) => void>;
|
|
18
|
-
static readonly onSingletonCardMadeDeck: TriggerableMulticastDelegate<(card: Card) => void>;
|
|
21
|
+
static readonly onSingletonCardMadeDeck: TriggerableMulticastDelegate<(card: Card, oldNsid: string) => void>;
|
|
19
22
|
private static readonly _onInsertedHandler;
|
|
20
23
|
static _onRemovedHandler: (deck: Card, removedCard: Card, position: number, player?: Player) => void;
|
|
21
24
|
static _onCreatedHandler: (obj: GameObject) => void;
|
|
@@ -9,12 +9,20 @@
|
|
|
9
9
|
*
|
|
10
10
|
* Scripts may wish to offer content menu items for singleton cards, but
|
|
11
11
|
* not when they become a deck (or vice versa).
|
|
12
|
+
*
|
|
13
|
+
* If one adds a listener during global init, it will be called next frame with
|
|
14
|
+
* with in-game singleton cards and decks.
|
|
12
15
|
*/
|
|
13
|
-
import { Card, globalEvents, } from "@tabletop-playground/api";
|
|
16
|
+
import { Card, globalEvents, world, } from "@tabletop-playground/api";
|
|
14
17
|
import { TriggerableMulticastDelegate } from "../triggerable-multicast-delegate/triggerable-multicast-delegate";
|
|
18
|
+
import { NSID } from "../nsid/nsid";
|
|
15
19
|
export class OnCardBecameSingletonOrDeck {
|
|
16
20
|
init() {
|
|
17
21
|
globalEvents.onObjectCreated.add(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
22
|
+
const skipContained = false;
|
|
23
|
+
for (const obj of world.getAllObjects(skipContained)) {
|
|
24
|
+
OnCardBecameSingletonOrDeck._onCreatedHandler(obj);
|
|
25
|
+
}
|
|
18
26
|
}
|
|
19
27
|
_reset() {
|
|
20
28
|
globalEvents.onObjectCreated.remove(OnCardBecameSingletonOrDeck._onCreatedHandler);
|
|
@@ -22,25 +30,43 @@ export class OnCardBecameSingletonOrDeck {
|
|
|
22
30
|
}
|
|
23
31
|
OnCardBecameSingletonOrDeck.onSingletonCardCreated = new TriggerableMulticastDelegate();
|
|
24
32
|
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck = new TriggerableMulticastDelegate();
|
|
25
|
-
OnCardBecameSingletonOrDeck._onInsertedHandler = (deck,
|
|
33
|
+
OnCardBecameSingletonOrDeck._onInsertedHandler = (deck,
|
|
34
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
35
|
+
insertedCard,
|
|
36
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
37
|
+
position,
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
39
|
+
player) => {
|
|
26
40
|
// This handler is only installed on singleton cards, and other card(s)
|
|
27
41
|
// have already been added to deck before calling this. So remove
|
|
28
42
|
// this handler, and signal the card is now a deck.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
deck.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
43
|
+
const oldNsid = NSID.get(deck);
|
|
44
|
+
process.nextTick(() => {
|
|
45
|
+
if (deck.isValid() && deck.getStackSize() > 1) {
|
|
46
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
47
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
48
|
+
deck.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
49
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(deck, oldNsid);
|
|
50
|
+
}
|
|
51
|
+
});
|
|
35
52
|
};
|
|
36
|
-
OnCardBecameSingletonOrDeck._onRemovedHandler = (deck,
|
|
53
|
+
OnCardBecameSingletonOrDeck._onRemovedHandler = (deck,
|
|
54
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
55
|
+
removedCard,
|
|
56
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
57
|
+
position,
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
+
player) => {
|
|
37
60
|
// Called after card is removed.
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
deck.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
61
|
+
// Removed card get seen by the onCreated handler.
|
|
62
|
+
process.nextTick(() => {
|
|
63
|
+
if (deck.getStackSize() === 1) {
|
|
64
|
+
deck.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
65
|
+
deck.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
66
|
+
deck.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
67
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.trigger(deck);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
44
70
|
};
|
|
45
71
|
OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
46
72
|
if (!(obj instanceof Card)) {
|
|
@@ -48,12 +74,16 @@ OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
|
48
74
|
}
|
|
49
75
|
// Strange things happen when making a deck. Wait a frame then see.
|
|
50
76
|
process.nextTick(() => {
|
|
77
|
+
if (!obj.isValid()) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
51
80
|
if (obj.getStackSize() > 1) {
|
|
52
81
|
// deck
|
|
53
82
|
obj.onRemoved.remove(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
54
83
|
obj.onRemoved.add(OnCardBecameSingletonOrDeck._onRemovedHandler);
|
|
84
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.trigger(obj);
|
|
55
85
|
}
|
|
56
|
-
else {
|
|
86
|
+
else if (obj.getStackSize() === 1) {
|
|
57
87
|
// singleton card
|
|
58
88
|
obj.onInserted.remove(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
59
89
|
obj.onInserted.add(OnCardBecameSingletonOrDeck._onInsertedHandler);
|
|
@@ -61,4 +91,17 @@ OnCardBecameSingletonOrDeck._onCreatedHandler = (obj) => {
|
|
|
61
91
|
}
|
|
62
92
|
});
|
|
63
93
|
};
|
|
94
|
+
/*
|
|
95
|
+
|
|
96
|
+
OnCardBecameSingletonOrDeck.onSingletonCardCreated.add((card: Card) => {
|
|
97
|
+
const nsid: string = NSID.get(card);
|
|
98
|
+
console.log(`onSingletonCardCreated: [${nsid}]`);
|
|
99
|
+
});
|
|
100
|
+
|
|
101
|
+
OnCardBecameSingletonOrDeck.onSingletonCardMadeDeck.add((card: Card) => {
|
|
102
|
+
const nsids: string[] = NSID.getDeck(card);
|
|
103
|
+
console.log(`onSingletonCardMadeDeck: [${nsids.join(", ")}]`);
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
*/
|
|
64
107
|
//# sourceMappingURL=on-card-became-singleton-or-deck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"on-card-became-singleton-or-deck.js","sourceRoot":"","sources":["../../../src/event/on-card-became-singleton-or-deck.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"on-card-became-singleton-or-deck.js","sourceRoot":"","sources":["../../../src/event/on-card-became-singleton-or-deck.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACH,IAAI,EAGJ,YAAY,EACZ,KAAK,GACR,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,4BAA4B,EAAE,MAAM,kEAAkE,CAAC;AAEhH,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,MAAM,OAAO,2BAA2B;IAsGpC,IAAI;QACA,YAAY,CAAC,eAAe,CAAC,GAAG,CAC5B,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;QACF,MAAM,aAAa,GAAG,KAAK,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YACnD,2BAA2B,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACvD,CAAC;IACL,CAAC;IAED,MAAM;QACF,YAAY,CAAC,eAAe,CAAC,MAAM,CAC/B,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;IACN,CAAC;;AAnHsB,kDAAsB,GACzC,IAAI,4BAA4B,EAAwB,CAAC;AACtC,mDAAuB,GAC1C,IAAI,4BAA4B,EAE7B,CAAC;AAEgB,8CAAkB,GAAG,CACzC,IAAU;AACV,6DAA6D;AAC7D,YAAkB;AAClB,6DAA6D;AAC7D,QAAgB;AAChB,6DAA6D;AAC7D,MAAe,EACjB,EAAE;IACA,uEAAuE;IACvE,kEAAkE;IAClE,mDAAmD;IACnD,MAAM,OAAO,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QAClB,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,UAAU,CAAC,MAAM,CAClB,2BAA2B,CAAC,kBAAkB,CACjD,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,MAAM,CACjB,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CACd,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;YACF,2BAA2B,CAAC,uBAAuB,CAAC,OAAO,CACvD,IAAI,EACJ,OAAO,CACV,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEK,6CAAiB,GAAG,CACvB,IAAU;AACV,6DAA6D;AAC7D,WAAiB;AACjB,6DAA6D;AAC7D,QAAgB;AAChB,6DAA6D;AAC7D,MAAe,EACjB,EAAE;IACA,gCAAgC;IAChC,kDAAkD;IAClD,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QAClB,IAAI,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CACjB,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,MAAM,CAClB,2BAA2B,CAAC,kBAAkB,CACjD,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,2BAA2B,CAAC,kBAAkB,CACjD,CAAC;YACF,2BAA2B,CAAC,sBAAsB,CAAC,OAAO,CACtD,IAAI,CACP,CAAC;QACN,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEK,6CAAiB,GAAG,CAAC,GAAe,EAAE,EAAE;IAC3C,IAAI,CAAC,CAAC,GAAG,YAAY,IAAI,CAAC,EAAE,CAAC;QACzB,OAAO;IACX,CAAC;IACD,oEAAoE;IACpE,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,IAAI,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;YACzB,OAAO;YACP,GAAG,CAAC,SAAS,CAAC,MAAM,CAChB,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,GAAG,CACb,2BAA2B,CAAC,iBAAiB,CAChD,CAAC;YACF,2BAA2B,CAAC,uBAAuB,CAAC,OAAO,CACvD,GAAG,CACN,CAAC;QACN,CAAC;aAAM,IAAI,GAAG,CAAC,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC;YAClC,iBAAiB;YACjB,GAAG,CAAC,UAAU,CAAC,MAAM,CACjB,2BAA2B,CAAC,kBAAkB,CACjD,CAAC;YACF,GAAG,CAAC,UAAU,CAAC,GAAG,CACd,2BAA2B,CAAC,kBAAkB,CACjD,CAAC;YACF,2BAA2B,CAAC,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpE,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAmBN;;;;;;;;;;;;EAYE"}
|
package/build/esm/index.d.ts
CHANGED
package/build/esm/index.js
CHANGED
package/build/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iEAAiE,CAAC;AAChF,cAAc,yDAAyD,CAAC;AACxE,cAAc,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAC9C,cAAc,0CAA0C,CAAC;AACzD,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,uCAAuC,CAAC;AACtD,cAAc,wCAAwC,CAAC;AACvD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iEAAiE,CAAC;AAChF,cAAc,yDAAyD,CAAC;AACxE,cAAc,+BAA+B,CAAC"}
|