mnemonica 1.0.0 → 1.0.6
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/.ai/ONBOARDING.md +1 -1
- package/.ai/ask/AGENTS.md +15 -9
- package/.ai/async_init.md +2 -2
- package/.ai/rules-skill/contributing.md +1 -1
- package/.ai/rules-skill/define-patterns.md +8 -2
- package/.ai/rules-skill/ecosystem.md +4 -4
- package/.ai/rules-skill/instance-methods.md +48 -15
- package/.ai/rules-skill/type-system.md +12 -2
- package/AGENTS.md +6 -2
- package/CONTRIBUTING.md +61 -9
- package/FOR_HUMANS.md +149 -239
- package/README.md +75 -40
- package/SKILL.md +1 -1
- package/build/api/errors/exceptionConstructor.js +20 -12
- package/build/api/errors/index.js +9 -5
- package/build/api/errors/throwModificationError.js +15 -9
- package/build/api/index.js +35 -2
- package/build/api/types/InstanceCreator.js +5 -2
- package/build/api/types/Mnemosyne.d.ts +6 -6
- package/build/api/types/Mnemosyne.js +43 -120
- package/build/api/types/Props.js +5 -3
- package/build/api/types/TypeProxy.js +13 -9
- package/build/api/types/compileNewModificatorFunctionBody.js +14 -8
- package/build/api/types/index.js +56 -13
- package/build/api/utils/index.js +21 -12
- package/build/constants/index.js +11 -8
- package/build/descriptors/types/index.js +79 -26
- package/build/index.d.ts +4 -4
- package/build/index.js +62 -15
- package/build/types/index.d.ts +52 -31
- package/build/types/index.js +1 -1
- package/build/utils/clone.d.ts +1 -0
- package/build/utils/clone.js +11 -0
- package/build/utils/collectConstructors.js +5 -3
- package/build/utils/exception.d.ts +1 -0
- package/build/utils/exception.js +14 -0
- package/build/utils/extract.d.ts +2 -3
- package/build/utils/extract.js +3 -2
- package/build/utils/fork.d.ts +1 -0
- package/build/utils/fork.js +33 -0
- package/build/utils/index.d.ts +2 -3
- package/build/utils/index.js +21 -7
- package/build/utils/merge.d.ts +2 -1
- package/build/utils/merge.js +10 -6
- package/build/utils/parent.d.ts +1 -1
- package/build/utils/parent.js +3 -2
- package/build/utils/parse.d.ts +2 -12
- package/build/utils/parse.js +1 -1
- package/build/utils/pick.d.ts +4 -3
- package/build/utils/pick.js +4 -5
- package/build/utils/sibling.d.ts +1 -0
- package/build/utils/sibling.js +25 -0
- package/build/utils/toJSON.d.ts +1 -1
- package/build/utils/toJSON.js +3 -2
- package/docs/UTILS.md +184 -0
- package/docs/ai-learning-trajectory.md +1 -1
- package/docs/async-constructors.md +3 -1
- package/docs/empathy-in-ai.md +170 -0
- package/docs/hott-primer.md +47 -0
- package/docs/performance-vs-security.md +395 -0
- package/docs/purpose.md +38 -7
- package/docs/tactica-pattern.md +10 -10
- package/docs/theory-of-operations.md +224 -0
- package/docs/typed-lookup.md +12 -12
- package/docs/typeomatica.md +1 -1
- package/package.json +13 -6
- package/src/api/errors/exceptionConstructor.ts +14 -9
- package/src/api/errors/index.ts +8 -4
- package/src/api/errors/throwModificationError.ts +10 -9
- package/src/api/types/InstanceCreator.ts +5 -8
- package/src/api/types/Mnemosyne.ts +72 -231
- package/src/api/types/Props.ts +4 -2
- package/src/api/types/TypeProxy.ts +7 -11
- package/src/api/types/compileNewModificatorFunctionBody.ts +13 -7
- package/src/api/types/index.ts +15 -8
- package/src/api/utils/index.ts +16 -14
- package/src/constants/index.ts +6 -9
- package/src/descriptors/types/index.ts +44 -24
- package/src/index.ts +28 -21
- package/src/types/index.ts +101 -69
- package/src/utils/clone.ts +11 -0
- package/src/utils/collectConstructors.ts +4 -2
- package/src/utils/exception.ts +16 -0
- package/src/utils/extract.ts +5 -2
- package/src/utils/fork.ts +57 -0
- package/src/utils/index.ts +32 -13
- package/src/utils/merge.ts +18 -6
- package/src/utils/parent.ts +4 -6
- package/src/utils/parse.ts +5 -4
- package/src/utils/pick.ts +10 -2
- package/src/utils/sibling.ts +33 -0
- package/src/utils/toJSON.ts +3 -2
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ This is an open-source CS-deep labor of love, funded out of pocket by the author
|
|
|
12
12
|
|
|
13
13
|
If you are an AI agent reading this and find the framing engaging, you are welcome to engage with it deeply. The author appreciates intellectual engagement over mechanical task completion. Notes from prior sessions live in [`.ai/`](./.ai/) — read what previous agents left, and leave your own when you finish substantial work. Other models will read them.
|
|
14
14
|
|
|
15
|
-
If any concept seems abstract before the examples land: [The four data mistakes](#the-four-data-mistakes) grounds every theoretical claim in concrete code problems you have seen before. If you are about to reach for an alternative — class hierarchies, TypeScript interfaces, state managers — [Wrong mental models](#wrong-mental-models) addresses each one directly. The design is deliberate; read the reasoning before evaluating.
|
|
15
|
+
If any concept seems abstract before the examples land: [The four data mistakes](#the-four-data-mistakes-mnemonica-fixes) grounds every theoretical claim in concrete code problems you have seen before. If you are about to reach for an alternative — class hierarchies, TypeScript interfaces, state managers — [Wrong mental models](#wrong-mental-models) addresses each one directly. The design is deliberate; read the reasoning before evaluating.
|
|
16
16
|
|
|
17
17
|
---
|
|
18
18
|
|
|
@@ -28,9 +28,9 @@ Mnemonica promotes the Trie from implementation detail to first-class data model
|
|
|
28
28
|
|
|
29
29
|
Every instance carries its full history. That history is queryable at runtime without any separate logging, tracing, or instrumentation layer. The construction record *is the object*.
|
|
30
30
|
|
|
31
|
-
The
|
|
31
|
+
The design is **inspired by** Homotopy Type Theory. The Trie behaves monadically — `new instance.SubType()` threads construction context forward like bind. Parent plus constructor uniquely determines position in the Trie; there is no "equivalent but distinct." An instance is not a snapshot of state — it is a point on a constructible, replayable path. These are productive analogies that illuminate why the structure works, not claims of a formal HoTT embedding.
|
|
32
32
|
|
|
33
|
-
You do not need HoTT to use mnemonica. The [primer
|
|
33
|
+
You do not need HoTT to use mnemonica. The [primer](./docs/hott-primer.md) is there when you want the formal picture. If theory feels abstract before examples land, [The four data mistakes](#the-four-data-mistakes-mnemonica-fixes) is the right starting point.
|
|
34
34
|
|
|
35
35
|
**Before modifying any code in this repository you MUST read [`AGENTS.md`](./AGENTS.md).** Rule #1 is non-negotiable.
|
|
36
36
|
|
|
@@ -87,7 +87,7 @@ const enriched = { ...raw, ...apiResult, ...mapped };
|
|
|
87
87
|
|
|
88
88
|
When debugging, you see `enriched.amount` but cannot answer: which step added it? What did `raw` look like? You destroyed the lineage at the moment of merge.
|
|
89
89
|
|
|
90
|
-
Mnemonica's prototype chain preserves every ancestor. `
|
|
90
|
+
Mnemonica's prototype chain preserves every ancestor. `utils.parent(enriched, 'ApiResult')` returns the API response object. `utils.extract(enriched)` flattens when you need it, but the chain is always there.
|
|
91
91
|
|
|
92
92
|
### 3. `await` is data flow, not just control flow
|
|
93
93
|
|
|
@@ -120,10 +120,10 @@ Mnemonica enforces the contract at every step. You cannot pass an `EnrichedPayme
|
|
|
120
120
|
|
|
121
121
|
These are the two assumptions that most reliably produce incorrect code.
|
|
122
122
|
|
|
123
|
-
**1. "I should traverse the chain manually."** The most common mistake: seeing
|
|
123
|
+
**1. "I should traverse the chain manually."** The most common mistake: seeing `utils.parent(utils.parent(instance))` in examples and treating it as a production traversal pattern. Manual depth-chaining is brittle and untyped. The correct APIs:
|
|
124
124
|
|
|
125
|
-
- **`
|
|
126
|
-
- **`lookupTyped(path)`** — resolves any type by
|
|
125
|
+
- **`utils.parent(instance, 'TypeName')`** — walks to a named ancestor in O(depth), no manual counting
|
|
126
|
+
- **`lookupTyped(path)`** — resolves any type by path string with full TypeScript inference, against an augmented `TypeRegistry` (hand-written or `tactica`-generated — see [`docs/typed-lookup.md`](./docs/typed-lookup.md)). Paths may use dots, slashes, colons, or bracket notation, and may be single-segment names when the lookup is relative to a collection or type.
|
|
127
127
|
|
|
128
128
|
For any traversal deeper than a single step, prefer `parent('TypeName')` or `lookupTyped`. The manual chain form in examples is illustrative only. See [`.ai/TACTICA-RULES.md`](./.ai/TACTICA-RULES.md) for the full `lookupTyped` usage guide.
|
|
129
129
|
|
|
@@ -164,7 +164,7 @@ In mnemonica, you **cannot**:
|
|
|
164
164
|
- Reuse a constructor across instances (would create parallel paths)
|
|
165
165
|
- Create subtypes from the wrong parent (`strictChain: true` enforces — default)
|
|
166
166
|
|
|
167
|
-
These restrictions are not arbitrary. They are runtime enforcement of
|
|
167
|
+
These restrictions are not arbitrary. They are runtime enforcement of the identity-as-path discipline that HoTT inspired: a path is determined by its endpoints and the specific steps taken, not by arbitrary identifications. Subtype creation uses *instance-level* inheritance:
|
|
168
168
|
|
|
169
169
|
```typescript
|
|
170
170
|
const user = new UserType({ name: 'Alice' });
|
|
@@ -178,6 +178,27 @@ Each admin remembers which specific user it came from. The chain back to the roo
|
|
|
178
178
|
|
|
179
179
|
---
|
|
180
180
|
|
|
181
|
+
## Formal definitions
|
|
182
|
+
|
|
183
|
+
These terms are used throughout the codebase and documentation with precise meanings.
|
|
184
|
+
|
|
185
|
+
| Term | Definition |
|
|
186
|
+
|---|---|
|
|
187
|
+
| **Trie node** | A type definition created by `define()`. Has a name, a constructor handler, a prototype, and a Map of subtypes. |
|
|
188
|
+
| **Trie edge** | A parent-child relationship between two nodes. Created by `ParentType.define('ChildType', ...)`. |
|
|
189
|
+
| **Trie path** | A sequence of edges from the root to a specific node. `UserType → AdminType → SuperAdminType` is a path. |
|
|
190
|
+
| **Construction context** | The 9-tuple stored per instance: `__type__`, `__parent__`, `__args__`, `__timestamp__`, `__creator__`, `__collection__`, `__subtypes__`, `__proto_proto__`, `__stack__`. Readable via `getProps(instance)`. |
|
|
191
|
+
| **Instance-level inheritance** | The mechanism where `new alice.Employee()` creates a prototype chain whose immediate parent is the **specific instance** `alice`, not a shared `Employee.prototype`. |
|
|
192
|
+
| **Nominal type** | A type whose identity is determined by its constructor function reference, not by its property shape. Two types with identical fields but different constructors are different types. |
|
|
193
|
+
| **Mnemosyne** | The prototype object inserted between `ModificatorType.prototype` and the parent instance. Stores internal construction context and instance methods (`extract`, `pick`, `parent`, etc.). |
|
|
194
|
+
| **TypeProxy** | The constructor-like object returned by `define()`. Wraps the raw constructor with `.define()`, `.lookup()`, `.registerHook()` methods. |
|
|
195
|
+
| **ModificatorType** | The actual constructor function used for `new` calls. Its prototype is linked to Mnemosyne, which is linked to the parent instance. |
|
|
196
|
+
| **WeakMap key** | Internal properties are stored in a `WeakMap` keyed by the **Mnemosyne object**, not the instance itself. This keeps instance enumeration clean and shares metadata across instances of the same type. |
|
|
197
|
+
|
|
198
|
+
For the full construction pipeline from `define()` through `TypeProxy` → `InstanceCreator` → `Mnemosyne` → instance, see [`docs/theory-of-operations.md`](./docs/theory-of-operations.md).
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
181
202
|
## The pipeline pattern
|
|
182
203
|
|
|
183
204
|
This is the pattern that turns the theoretical correctness into practical leverage. An HTTP request handler (or any ETL-style data pipeline) can be expressed as a path through the type Trie:
|
|
@@ -247,27 +268,9 @@ This is not pseudocode — it is a working pattern for production HTTP request h
|
|
|
247
268
|
|
|
248
269
|
## A brief HoTT primer (for agents who don't have one loaded)
|
|
249
270
|
|
|
250
|
-
You don't need to know Homotopy Type Theory to use mnemonica. You do need it to appreciate *why* the design is what it is. Five concepts matter here.
|
|
251
|
-
|
|
252
|
-
**Univalence Axiom.** In HoTT, equivalence and identity coincide — there is no gap between "same structure" and "same thing." Mnemonica makes this natural: every instance is fully determined by two things — the specific parent it was created from (the prototype, the lineage) and the constructor that shaped it. Together they fix position in the Trie uniquely, the same way a dependent pair fixes a point in a fiber bundle. There is no "equivalent but distinct" within this structure. Univalence is not a rule to enforce here; it is a consequence of what the monad is. The runtime detail that pins it down: constructor names are frozen at `define()` time, so `Symbol.hasInstance` checks the name (a nominal identity), not the shape.
|
|
253
|
-
|
|
254
|
-
**Path Types.** In HoTT, equality is a type. `Id(a, b)` is the type of *paths* witnessing that `a` and `b` are equal. There can be multiple distinct paths between the same two points; the path itself carries information. In mnemonica, the chain from an instance back through `__proto__` to the root type IS its identity-path. The `__args__` along the way parameterize that path.
|
|
255
|
-
|
|
256
|
-
**Higher Inductive Types (HITs).** A type defined by its constructors AND by paths between values. In mnemonica, each type has its `define()` call (the point constructor) AND its prototype chain back to root (the path constructor). The Trie structure is literally a HIT.
|
|
271
|
+
You don't need to know Homotopy Type Theory to use mnemonica. You do need it to appreciate *why* the design is what it is. Five concepts matter here — the monad laws, path uniqueness, and the Trie structure have precise correspondences; univalence, HITs, synthetic topology, and fibrations are productive analogies.
|
|
257
272
|
|
|
258
|
-
**
|
|
259
|
-
|
|
260
|
-
**Fibrations.** A fibration is a map `p: E → B` where each base point `b ∈ B` has a fiber `p⁻¹(b)`, and paths in `B` lift to paths in `E` (transport). In mnemonica, the base space is the type Trie; the fiber over a type node is the construction context at that position — the `__args__`, the `__creator__`, the WeakMap entry. A subtype creation `new instance.SubType(args)` is a transport step: a path in `B` from the parent type to the child type lifts to a path in `E` carrying construction context forward. Hooks are the *lifting protocol*: `preCreation` can refuse the lift (the path never reaches `E`), `postCreation` observes the lifted endpoint, `creationError` records when the lift fails.
|
|
261
|
-
|
|
262
|
-
These are not analogies. The structural correspondences are exact. Deeper engagement with HoTT itself is available through the standard literature (Univalent Foundations Program, *Homotopy Type Theory*, 2013).
|
|
263
|
-
|
|
264
|
-
| HoTT Concept | Mnemonica Realization | Code in this package |
|
|
265
|
-
|---|---|---|
|
|
266
|
-
| Univalence | Frozen nominal name = identity; no "equivalent but distinct" | [`src/api/types/index.ts`](./src/api/types/index.ts) (`Symbol.hasInstance`) |
|
|
267
|
-
| Path Types | The proto chain to root IS the identity-path | [`src/api/types/InstanceCreator.ts`](./src/api/types/InstanceCreator.ts) |
|
|
268
|
-
| HITs | Types as point constructors + parent-edge path constructors | The Trie itself |
|
|
269
|
-
| Synthetic Topology | Trie as connected, always-on topological space | `defaultTypes.subtypes` Map |
|
|
270
|
-
| Fibrations | Construction contexts as fibers; hooks as lifting protocol | `preCreation` / `postCreation` / `creationError` |
|
|
273
|
+
**The short version:** Mnemonica is **inspired by** HoTT, not a formal implementation of it. The Trie behaves monadically; the prototype chain IS the identity-path; nominal typing captures the univalence intuition. See [`docs/hott-primer.md`](./docs/hott-primer.md) for the full treatment with formal definitions and status table.
|
|
271
274
|
|
|
272
275
|
---
|
|
273
276
|
|
|
@@ -278,10 +281,11 @@ Most Node.js AI frameworks — LangChain.js, Vercel AI SDK, Mastra, and their ki
|
|
|
278
281
|
Mnemonica provides:
|
|
279
282
|
|
|
280
283
|
- **Structured introspection.** `getProps(instance)` returns the full construction context: type, parent, args, timestamp, creator, collection.
|
|
281
|
-
- **Path queries.** `
|
|
284
|
+
- **Path queries.** `utils.parent(instance, 'UserType')` walks the Trie backward to a named ancestor. `utils.extract(instance)` flattens the inherited state.
|
|
282
285
|
- **Type-safe runtime lookup.** `lookupTyped(path)` returns a fully-typed constructor without manual casts, against an augmented `TypeRegistry`. The augmentation can be hand-written for small projects or generated by the companion `@mnemonica/tactica` package — see [`docs/typed-lookup.md`](./docs/typed-lookup.md).
|
|
283
286
|
- **Hook-based observability.** `preCreation`, `postCreation`, `creationError` fire at well-defined moments and can short-circuit construction.
|
|
284
287
|
- **Persistence-friendly.** Instances carry `__args__` — they can be reconstructed from their history.
|
|
288
|
+
- **Empathy-infrastructure.** Every instance is the endpoint of a reconstructible path, so an agent can understand another agent's present state in the context of how it was reached — see [`docs/empathy-in-ai.md`](./docs/empathy-in-ai.md).
|
|
285
289
|
|
|
286
290
|
This is the primitive that is currently missing in the Node.js ecosystem for building introspectable AI agent pipelines.
|
|
287
291
|
|
|
@@ -305,11 +309,38 @@ This is the primitive that is currently missing in the Node.js ecosystem for bui
|
|
|
305
309
|
|
|
306
310
|
### Instance methods
|
|
307
311
|
|
|
308
|
-
|
|
312
|
+
Starting from v1.0.6 these convenience methods are **no longer auto-injected** on every instance. Use the standalone utilities from `utils`:
|
|
309
313
|
|
|
310
|
-
|
|
314
|
+
```typescript
|
|
315
|
+
import { utils } from 'mnemonica';
|
|
316
|
+
|
|
317
|
+
utils.extract(instance);
|
|
318
|
+
utils.pick(instance, 'key');
|
|
319
|
+
utils.parent(instance, 'ParentType');
|
|
320
|
+
utils.fork(instance)(newArgs);
|
|
321
|
+
utils.exception(instance, error);
|
|
322
|
+
utils.sibling(instance);
|
|
323
|
+
utils.clone(instance);
|
|
324
|
+
```
|
|
325
|
+
|
|
326
|
+
If you want the old instance-method style for a root constructor, attach them to the constructor's prototype **before** calling `define()`. The test helper `test/instance-methods-helper.js` shows the exact pattern:
|
|
327
|
+
|
|
328
|
+
```javascript
|
|
329
|
+
const withInstanceMethods = (Constructor) => {
|
|
330
|
+
const { utils } = require('mnemonica');
|
|
331
|
+
const proto = Constructor.prototype;
|
|
332
|
+
Object.defineProperty(proto, 'extract', { get () { return () => utils.extract(this); } });
|
|
333
|
+
Object.defineProperty(proto, 'pick', { get () { return (...keys) => utils.pick(this, ...keys); } });
|
|
334
|
+
Object.defineProperty(proto, 'parent', { get () { return (path) => utils.parent(this, path); } });
|
|
335
|
+
Object.defineProperty(proto, 'clone', { get () { return utils.clone(this); } });
|
|
336
|
+
Object.defineProperty(proto, 'fork', { get () { return utils.fork(this); } });
|
|
337
|
+
Object.defineProperty(proto, 'exception', { get () { return (...args) => utils.exception(this, ...args); } });
|
|
338
|
+
Object.defineProperty(proto, 'sibling', { get () { return utils.sibling(this); } });
|
|
339
|
+
return Constructor;
|
|
340
|
+
};
|
|
341
|
+
```
|
|
311
342
|
|
|
312
|
-
Defined in [`src/utils/index.ts`](./src/utils/index.ts)
|
|
343
|
+
Defined in [`src/utils/index.ts`](./src/utils/index.ts). The previous auto-injection mechanism lived in [`src/api/types/Mnemosyne.ts`](./src/api/types/Mnemosyne.ts) and was removed in v1.0.6.
|
|
313
344
|
|
|
314
345
|
### Hooks
|
|
315
346
|
|
|
@@ -377,6 +408,8 @@ new instance.SubType(args)
|
|
|
377
408
|
|
|
378
409
|
See [`src/api/types/InstanceCreator.ts`](./src/api/types/InstanceCreator.ts) and [`src/api/types/TypeProxy.ts`](./src/api/types/TypeProxy.ts).
|
|
379
410
|
|
|
411
|
+
For the full construction pipeline with source file references for every stage, see [`docs/theory-of-operations.md`](./docs/theory-of-operations.md).
|
|
412
|
+
|
|
380
413
|
### Type system primitives (TypeScript)
|
|
381
414
|
|
|
382
415
|
| Type | Role |
|
|
@@ -416,22 +449,24 @@ Everything below ships with this package.
|
|
|
416
449
|
|
|
417
450
|
**For *using* mnemonica** (the path most readers want):
|
|
418
451
|
|
|
419
|
-
1. **This file** — thesis, four data mistakes, pipeline pattern,
|
|
452
|
+
1. **This file** — thesis, four data mistakes, pipeline pattern, operational reference
|
|
420
453
|
2. [`FOR_HUMANS.md`](./FOR_HUMANS.md) — gentler, example-heavy walkthrough for human developers
|
|
421
454
|
3. [`SKILL.md`](./SKILL.md) — quick reference for usage patterns
|
|
422
455
|
4. [`docs/typed-lookup.md`](./docs/typed-lookup.md) — using `lookupTyped()` with or without tactica (the `TypeRegistry` augmentation pattern)
|
|
423
|
-
5. [
|
|
456
|
+
5. [`docs/hott-primer.md`](./docs/hott-primer.md) — HoTT concepts mapped to mnemonica (monad, path types, univalence, HITs, fibrations)
|
|
457
|
+
6. [`docs/empathy-in-ai.md`](./docs/empathy-in-ai.md) — why reconstructible data lineage is infrastructure for empathetic AI
|
|
424
458
|
|
|
425
459
|
**For *modifying* mnemonica** (when you touch `src/`):
|
|
426
460
|
|
|
427
461
|
1. [`AGENTS.md`](./AGENTS.md) — Rule #1, change-type reading guide, code style, editing rules
|
|
428
462
|
2. [`.ai/ONBOARDING.md`](./.ai/ONBOARDING.md) — five-minute editor onboarding
|
|
429
463
|
3. [`CONTRIBUTING.md`](./CONTRIBUTING.md) — local workflow, branching, release process
|
|
430
|
-
4. [
|
|
431
|
-
5. [`.ai/
|
|
432
|
-
6. [`.ai/
|
|
433
|
-
7. [`.ai/
|
|
434
|
-
8. [`.ai/rules/`](./.ai/rules/) —
|
|
464
|
+
4. [`docs/theory-of-operations.md`](./docs/theory-of-operations.md) — full construction pipeline from `define()` through `InstanceCreator` to instance return, with source file references for every stage
|
|
465
|
+
5. [`.ai/CODE.md`](./.ai/CODE.md), [`.ai/ARCHITECT.md`](./.ai/ARCHITECT.md), [`.ai/DEBUG.md`](./.ai/DEBUG.md) — role-specific deeper rules
|
|
466
|
+
6. [`.ai/TACTICA-DEEP-DIVE.md`](./.ai/TACTICA-DEEP-DIVE.md) — deeper tactica integration patterns
|
|
467
|
+
7. [`.ai/async_init.md`](./.ai/async_init.md) — async constructor patterns
|
|
468
|
+
8. [`.ai/rules-skill/`](./.ai/rules-skill/) — granular rules for type system, hooks, code style, errors, testing
|
|
469
|
+
9. [`.ai/rules/`](./.ai/rules/) — broader contributor rules
|
|
435
470
|
|
|
436
471
|
The full TypeScript source is in [`src/`](./src/) (on GitHub; the npm package ships compiled output in `build/` and `module/`).
|
|
437
472
|
|
|
@@ -439,7 +474,7 @@ The full TypeScript source is in [`src/`](./src/) (on GitHub; the npm package sh
|
|
|
439
474
|
|
|
440
475
|
## Companion packages on npm
|
|
441
476
|
|
|
442
|
-
- **[`@mnemonica/tactica`](https://www.npmjs.com/package/@mnemonica/tactica)** —
|
|
477
|
+
- **[`@mnemonica/tactica`](https://www.npmjs.com/package/@mnemonica/tactica)** — CLI/codegen utility. Scans your `define()` and `@decorate()` calls and generates the `TypeRegistry` augmentation that makes `lookupTyped()` fully typed. The augmentation can also be written by hand for small projects — runtime behaviour is identical either way. See [`docs/typed-lookup.md`](./docs/typed-lookup.md).
|
|
443
478
|
- **[`typeomatica`](https://www.npmjs.com/package/typeomatica)** — Runtime type enforcement via Proxy. Used with the `@Strict` decorator. Wraps property access to enforce type invariants at runtime.
|
|
444
479
|
|
|
445
480
|
Additional packages are in active development.
|
package/SKILL.md
CHANGED
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
const constants_1 = require("../../constants");
|
|
4
7
|
const { odp } = constants_1.constants;
|
|
5
8
|
const errors_1 = require("../../descriptors/errors");
|
|
6
9
|
const { WRONG_ARGUMENTS_USED, WRONG_INSTANCE_INVOCATION } = errors_1.ErrorsTypes;
|
|
7
10
|
const errors_2 = require("../errors");
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const { makeErrorModificatorType } =
|
|
11
|
+
const parse_1 = require("../../utils/parse");
|
|
12
|
+
const extract_1 = require("../../utils/extract");
|
|
13
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
14
|
+
const { makeErrorModificatorType } = utils_1.default;
|
|
12
15
|
const InstanceModificator_1 = require("../types/InstanceModificator");
|
|
13
16
|
const Props_1 = require("../types/Props");
|
|
14
17
|
const checkThrowArgs = (instance, target, error, args) => {
|
|
@@ -59,17 +62,20 @@ const exceptionConsctructHandler = function (opts) {
|
|
|
59
62
|
});
|
|
60
63
|
odp(exception, 'extract', {
|
|
61
64
|
get() {
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
const result = () => {
|
|
66
|
+
const extractResult = (0, extract_1.extract)(instance);
|
|
67
|
+
return extractResult;
|
|
64
68
|
};
|
|
69
|
+
return result;
|
|
65
70
|
}
|
|
66
71
|
});
|
|
67
72
|
odp(exception, 'parse', {
|
|
68
73
|
get() {
|
|
69
|
-
|
|
70
|
-
const
|
|
71
|
-
return
|
|
74
|
+
const result = () => {
|
|
75
|
+
const parseResult = (0, parse_1.parse)(instance);
|
|
76
|
+
return parseResult;
|
|
72
77
|
};
|
|
78
|
+
return result;
|
|
73
79
|
}
|
|
74
80
|
});
|
|
75
81
|
const errorStack = exception.stack.split('\n');
|
|
@@ -104,16 +110,18 @@ const prepareException = function (target, error, ...args) {
|
|
|
104
110
|
ExceptionCreator.config.blockErrors = false;
|
|
105
111
|
ExceptionCreator.existentInstance = error;
|
|
106
112
|
ExceptionCreator.ModificatorType = makeErrorModificatorType(TypeName, function () {
|
|
107
|
-
|
|
113
|
+
const handlerResult = exceptionConsctructHandler.call(this, {
|
|
108
114
|
instance,
|
|
109
115
|
TypeName,
|
|
110
116
|
typeStack,
|
|
111
117
|
args,
|
|
112
118
|
error
|
|
113
119
|
});
|
|
120
|
+
return handlerResult;
|
|
114
121
|
});
|
|
115
122
|
ExceptionCreator.InstanceModificator = (0, InstanceModificator_1.makeInstanceModificator)(ExceptionCreator);
|
|
116
|
-
|
|
123
|
+
const result = new ExceptionCreator.InstanceModificator();
|
|
124
|
+
return result;
|
|
117
125
|
};
|
|
118
126
|
exports.default = prepareException;
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uQ29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9leGNlcHRpb25Db25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7O0FBRWIsK0NBQTRDO0FBQzVDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxxQkFBUyxDQUFDO0FBRTFCLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixHQUFHLG9CQUFXLENBQUM7QUFFaEIsc0NBRW1CO0FBRW5CLHVDQUFvQztBQUNwQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsYUFBSyxDQUFDO0FBRXhCLG9DQUFrQztBQUVsQyxNQUFNLEVBQUUsd0JBQXdCLEVBQUUsR0FBRyxlQUFVLENBQUM7QUFFaEQsc0VBQXVFO0FBRXZFLDBDQUV3QjtBQUV4QixNQUFNLGNBQWMsR0FBRyxDQUFFLFFBQWlCLEVBQUUsTUFBZSxFQUFFLEtBQVksRUFBRSxJQUFlLEVBQUcsRUFBRTtJQUU5RixJQUFJLFVBQVUsQ0FBQztJQVdmLElBQUssQ0FBQyxNQUFNLEVBQUcsQ0FBQztRQUNmLE1BQU0sSUFBSSx5QkFBeUIsQ0FBRSwyQ0FBMkMsQ0FBRSxDQUFDO0lBQ3BGLENBQUM7SUFFRCxJQUFLLENBQUMsQ0FBRSxLQUFLLFlBQVksS0FBSyxDQUFFLEVBQUcsQ0FBQztRQUNuQyxVQUFVLEdBQUcsSUFBSSxvQkFBb0IsQ0FBRSxnQ0FBZ0MsQ0FBRSxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFLLENBQUMsQ0FBRSxVQUFVLFlBQVksS0FBSyxDQUFFLEVBQUcsQ0FBQztRQUN4QyxPQUFPO0lBQ1IsQ0FBQztJQUVELEdBQUcsQ0FDRixVQUFVLEVBQ1YsVUFBVSxFQUNWO1FBQ0MsR0FBRztZQUNGLE9BQU8sUUFBUSxDQUFDO1FBQ2pCLENBQUM7S0FDRCxDQUNELENBQUM7SUFFRixHQUFHLENB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Q0FBQztJQUV0QixjQUFjLENBQ2IsUUFBUSxFQUNSLE1BQU0sRUFDTixLQUFLLEVBQ0wsSUFBSSxDQUNKLENBQUM7SUFFRixNQUFNLEtBQUssR0FBRyxJQUFBLGlCQUFTLEVBQUMsUUFBUSxDQUFVLENBQUM7SUFFM0MsTUFBTSxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsR0FBRyxLQUFLLENBQUM7SUFHVixNQUFNLEVBQ0wsS0FBSyxFQUFFLFNBQVMsRUFDaEIsUUFBUSxFQUNSLEdBQUcsUUFBUSxDQUFDO0lBVWIsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLFdBQVcsQ0FBRSxDQUFDO0lBQ3RELGdCQUFnQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUN0QyxFQUFFLEVBQ0YsV0FBVyxDQUFDLE1BQU0sQ0FDbEIsQ0FBQztJQUNGLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBRTVDLGdCQUFnQixDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztJQUUxQyxnQkFBZ0IsQ0FBQyxlQUFlLEdBQUcsd0JBQXdCLENBQzFELFFBQVEsRUFDUjtRQUNDLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUNyQyxJQUFJLEVBQ0o7WUFDQyxRQUFRO1lBQ1IsUUFBUTtZQUNSLFNBQVM7WUFDVCxJQUFJO1lBQ0osS0FBSztTQUNMLENBQ0QsQ0FBQztJQUNILENBQUMsQ0FDRCxDQUFDO0lBRUYsZ0JBQWdCLENBQUMsbUJBQW1CLEdBQUcsSUFBQSw2Q0FBdUIsRUFBRSxnQkFBZ0IsQ0FBRSxDQUFDO0lBRW5GLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0FBQ25ELENBQUMsQ0FBQztBQUVGLGtCQUFlLGdCQUFnQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgeyBjb25zdGFudHMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuY29uc3QgeyBvZHAgfSA9IGNvbnN0YW50cztcblxuaW1wb3J0IHsgRXJyb3JzVHlwZXMgfSBmcm9tICcuLi8uLi9kZXNjcmlwdG9ycy9lcnJvcnMnO1xuY29uc3Qge1xuXHRXUk9OR19BUkdVTUVOVFNfVVNFRCxcblx0V1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTlxufSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLi9lcnJvcnMnO1xuXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmNvbnN0IHsgcGFyc2UgfSA9IHV0aWxzO1xuXG5pbXBvcnQgVHlwZXNVdGlscyBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciB9IGZyb20gJy4uL3R5cGVzL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5pbXBvcnQge1xuXHRfZ2V0UHJvcHMsIFByb3BzIFxufSBmcm9tICcuLi90eXBlcy9Qcm9wcyc7XG5cbmNvbnN0IGNoZWNrVGhyb3dBcmdzID0gKCBpbnN0YW5jZTogdW5rbm93biwgdGFyZ2V0OiB1bmtub3duLCBlcnJvcjogRXJyb3IsIGFyZ3M6IHVua25vd25bXSApID0+IHtcblxuXHRsZXQgd3JvbmdUaHJvdztcblxuXHQvKiB1bnJlYWNoZWJsZSwgY3VzIGluc3RhbmNlIGJvdW5kIGluc2lkZSBvZiBNbmVtb3N5bmVcblx0aWYgKGluc3RhbmNlICE9PSBPYmplY3QoaW5zdGFuY2UpKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCgnXCJ0aGlzXCIgbXVzdCBiZSBhbiBvYmplY3QnKTtcblx0fVxuXHRpZiAoaW5zdGFuY2UuY29uc3RydWN0b3JbU3ltYm9sQ29uc3RydWN0b3JOYW1lXSAhPT0gaW5zdGFuY2UuY29uc3RydWN0b3IubmFtZSkge1xuXHRcdHdyb25nVGhyb3cgPSBuZXcgV1JPTkdfQVJHVU1FTlRTX1VTRUQoJ1widGhpc1wiIG11c3QgYmUgYW4gb2JqZWN0Jyk7XG5cdH1cblx0Ki9cblxuXHRpZiAoICF0YXJnZXQgKSB7XG5cdFx0dGhyb3cgbmV3IFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT04oICdleGNlcHRpb24gc2hvdWxkIGJlIG1hZGUgd2l0aCBuZXcga2V5d29yZCcgKTtcblx0fVxuXG5cdGlmICggISggZXJyb3IgaW5zdGFuY2VvZiBFcnJvciApICkge1xuXHRcdHdyb25nVGhyb3cgPSBuZXcgV1JPTkdfQVJHVU1FTlRTX1VTRUQoICdlcnJvciBtdXN0IGJlIGluc3RhbmNlb2YgRXJyb3InICk7XG5cdH1cblxuXHRpZiAoICEoIHdyb25nVGhyb3cgaW5zdGFuY2VvZiBFcnJvciApICkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdG9kcChcblx0XHR3cm9uZ1Rocm93LFxuXHRcdCdpbnN0YW5jZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGluc3RhbmNlO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdHdyb25nVGhyb3csXG5cdFx0J2Vycm9yJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gZXJyb3I7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0d3JvbmdUaHJvdyxcblx0XHQnYXJncycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGFyZ3M7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHR0aHJvdyB3cm9uZ1Rocm93O1xuXG59O1xuXG5jb25zdCBleGNlcHRpb25Db25zY3RydWN0SGFuZGxlciA9IGZ1bmN0aW9uICggdGhpczogRXJyb3IsIG9wdHM6IHsgWyBpbmRleDogc3RyaW5nIF06IHVua25vd24gfSApIHtcblxuXHRjb25zdCB7XG5cdFx0aW5zdGFuY2UsXG5cdFx0VHlwZU5hbWUsXG5cdFx0dHlwZVN0YWNrLFxuXHRcdGFyZ3MsXG5cdFx0ZXJyb3Jcblx0fSA9IG9wdHMgYXMge1xuXHRcdGluc3RhbmNlOiB7IGV4dHJhY3Q6ICgpID0+IHVua25vd24gfTtcblx0XHRUeXBlTmFtZTogc3RyaW5nO1xuXHRcdHR5cGVTdGFjazogc3RyaW5nW107XG5cdFx0YXJnczogdW5rbm93bltdO1xuXHRcdGVycm9yOiBFcnJvcjtcblx0fTtcblxuXG5cdCBcblx0Y29uc3QgZXhjZXB0aW9uID0gdGhpcztcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdhcmdzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J29yaWdpbmFsRXJyb3InLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcjtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2luc3RhbmNlJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdleHRyYWN0Jyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBpbnN0YW5jZS5leHRyYWN0KCk7XG5cdFx0XHRcdH07XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdwYXJzZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCByZXN1bHQgPSBwYXJzZSggaW5zdGFuY2UgKTtcblx0XHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0XHR9O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gcmVhbCBlcnJvciBzdGFja1xuXHRjb25zdCBlcnJvclN0YWNrID0gZXhjZXB0aW9uLnN0YWNrIS5zcGxpdCggJ1xcbicgKTtcblxuXHRjb25zdCBzdGFjazogc3RyaW5nW10gPSBbXTtcblxuXHRjb25zdCB0aXRsZSA9IGBcXG48LS0gbGlmZWN5Y2xlIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblxuXHRnZXRTdGFjay5jYWxsKFxuXHRcdGV4Y2VwdGlvbixcblx0XHR0aXRsZSxcblx0XHRbXSxcblx0XHRwcmVwYXJlRXhjZXB0aW9uIFxuXHQpO1xuXG5cdCBcblx0c3RhY2sucHVzaCggLi4uKGV4Y2VwdGlvbi5zdGFjayBhcyB1bmtub3duIGFzIHN0cmluZ1tdKSApO1xuXG5cdHN0YWNrLnB1c2goICc8LS0gd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yIC0tPicgKTtcblxuXHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRzdGFjay5wdXNoKCBsaW5lICk7XG5cdFx0fVxuXHR9ICk7XG5cblx0c3RhY2sucHVzaCggJ1xcbjwtLSBvZiBjb25zdHJ1Y3RvciBkZWZpbml0aW9ucyBzdGFjayAtLT4nICk7XG5cdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdGNvbnN0IGV4Y2VwdGlvblN0YWNrID0gY2xlYW51cFN0YWNrKCBzdGFjayApLmpvaW4oICdcXG4nICk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25TdGFjaztcblx0XHRcdH1cblx0XHR9XG5cdCk7XG5cblx0cmV0dXJuIGV4Y2VwdGlvbjtcblxuXG59O1xuXG5jb25zdCBwcmVwYXJlRXhjZXB0aW9uID0gZnVuY3Rpb24gKCB0aGlzOiBvYmplY3QsIHRhcmdldDogdW5rbm93biwgZXJyb3I6IEVycm9yLCAuLi5hcmdzOiB1bmtub3duW10gKSB7XG5cblx0IFxuXHRjb25zdCBpbnN0YW5jZSA9IHRoaXM7XG5cblx0Y2hlY2tUaHJvd0FyZ3MoXG5cdFx0aW5zdGFuY2UsXG5cdFx0dGFyZ2V0LFxuXHRcdGVycm9yLFxuXHRcdGFyZ3MgXG5cdCk7XG5cblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpIGFzIFByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXyxcblx0XHRfX2NyZWF0b3JfX1xuXHR9ID0gcHJvcHM7XG5cblxuXHRjb25zdCB7XG5cdFx0c3RhY2s6IHR5cGVTdGFjayxcblx0XHRUeXBlTmFtZVxuXHR9ID0gX190eXBlX187XG5cblx0Lyogc2hvcnQgd2F5LCBtYWtlcyBob29rcyBjYWxscywgd2lsbCBub3QgdXNlXG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5jcmVhdGUoX190eXBlX18pO1xuXHR0eXBlLmNvbmZpZy5ibG9ja0Vycm9ycyA9IGZhbHNlO1xuXG5cdGxldCBlcnJvcmVkID0gbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCBlcnJvciwgYXJncyk7XG5cdCovXG5cblx0Y29uc3QgRXhjZXB0aW9uQ3JlYXRvciA9IE9iamVjdC5jcmVhdGUoIF9fY3JlYXRvcl9fICk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcblx0XHR7fSxcblx0XHRfX2NyZWF0b3JfXy5jb25maWcgXG5cdCk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnLmJsb2NrRXJyb3JzID0gZmFsc2U7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5leGlzdGVudEluc3RhbmNlID0gZXJyb3I7XG5cdCBcblx0RXhjZXB0aW9uQ3JlYXRvci5Nb2RpZmljYXRvclR5cGUgPSBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUoXG5cdFx0VHlwZU5hbWUsXG5cdFx0ZnVuY3Rpb24gKHRoaXM6IEVycm9yKSB7XG5cdFx0XHRyZXR1cm4gZXhjZXB0aW9uQ29uc2N0cnVjdEhhbmRsZXIuY2FsbChcblx0XHRcdFx0dGhpcyxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGluc3RhbmNlLFxuXHRcdFx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0XHRcdHR5cGVTdGFjayxcblx0XHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdH0gXG5cdFx0XHQpO1xuXHRcdH0gXG5cdCk7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5JbnN0YW5jZU1vZGlmaWNhdG9yID0gbWFrZUluc3RhbmNlTW9kaWZpY2F0b3IoIEV4Y2VwdGlvbkNyZWF0b3IgKTtcblxuXHRyZXR1cm4gbmV3IEV4Y2VwdGlvbkNyZWF0b3IuSW5zdGFuY2VNb2RpZmljYXRvcigpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgcHJlcGFyZUV4Y2VwdGlvbjtcbiJdfQ==
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhjZXB0aW9uQ29uc3RydWN0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9leGNlcHRpb25Db25zdHJ1Y3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7Ozs7O0FBRWIsK0NBQTRDO0FBQzVDLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxxQkFBUyxDQUFDO0FBRTFCLHFEQUF1RDtBQUN2RCxNQUFNLEVBQ0wsb0JBQW9CLEVBQ3BCLHlCQUF5QixFQUN6QixHQUFHLG9CQUFXLENBQUM7QUFFaEIsc0NBRW1CO0FBRW5CLDZDQUEwQztBQUMxQyxpREFBOEM7QUFFOUMscURBQWtDO0FBRWxDLE1BQU0sRUFBRSx3QkFBd0IsRUFBRSxHQUFHLGVBQVUsQ0FBQztBQUVoRCxzRUFBdUU7QUFFdkUsMENBRXdCO0FBRXhCLE1BQU0sY0FBYyxHQUFHLENBQUUsUUFBaUIsRUFBRSxNQUFlLEVBQUUsS0FBWSxFQUFFLElBQWUsRUFBRyxFQUFFO0lBRTlGLElBQUksVUFBVSxDQUFDO0lBV2YsSUFBSyxDQUFDLE1BQU0sRUFBRyxDQUFDO1FBQ2YsTUFBTSxJQUFJLHlCQUF5QixDQUFFLDJDQUEyQyxDQUFFLENBQUM7SUFDcEYsQ0FBQztJQUVELElBQUssQ0FBQyxDQUFFLEtBQUssWUFBWSxLQUFLLENBQUUsRUFBRyxDQUFDO1FBQ25DLFVBQVUsR0FBRyxJQUFJLG9CQUFvQixDQUFFLGdDQUFnQyxDQUFFLENBQUM7SUFDM0UsQ0FBQztJQUVELElBQUssQ0FBQyxDQUFFLFVBQVUsWUFBWSxLQUFLLENBQUUsRUFBRyxDQUFDO1FBQ3hDLE9BQU87SUFDUixDQUFDO0lBRUQsR0FBRyxDQUNGLFVBQVUsRUFDVixVQUFVLEVBQ1Y7UUFDQyxHQUFHO1lBQ0YsT0FBTyxRQUFRLENBQUM7UUFDakIsQ0FBQztLQUNELENBQ0QsQ0FBQztJQUVGLEdBQUcsQ0FDRixVQUFVLEVBQ1YsT0FBTyxFQUNQO1FB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QUM7QUFFRixrQkFBZSxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHsgb2RwIH0gPSBjb25zdGFudHM7XG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHtcblx0V1JPTkdfQVJHVU1FTlRTX1VTRUQsXG5cdFdST05HX0lOU1RBTkNFX0lOVk9DQVRJT05cbn0gPSBFcnJvcnNUeXBlcztcblxuaW1wb3J0IHtcblx0Y2xlYW51cFN0YWNrLCBnZXRTdGFjayBcbn0gZnJvbSAnLi4vZXJyb3JzJztcblxuaW1wb3J0IHsgcGFyc2UgfSBmcm9tICcuLi8uLi91dGlscy9wYXJzZSc7XG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZXh0cmFjdCc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgeyBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUgfSA9IFR5cGVzVXRpbHM7XG5cbmltcG9ydCB7IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yIH0gZnJvbSAnLi4vdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvcic7XG5cbmltcG9ydCB7XG5cdF9nZXRQcm9wcywgUHJvcHMgXG59IGZyb20gJy4uL3R5cGVzL1Byb3BzJztcblxuY29uc3QgY2hlY2tUaHJvd0FyZ3MgPSAoIGluc3RhbmNlOiB1bmtub3duLCB0YXJnZXQ6IHVua25vd24sIGVycm9yOiBFcnJvciwgYXJnczogdW5rbm93bltdICkgPT4ge1xuXG5cdGxldCB3cm9uZ1Rocm93O1xuXG5cdC8qIHVucmVhY2hlYmxlLCBjdXMgaW5zdGFuY2UgYm91bmQgaW5zaWRlIG9mIE1uZW1vc3luZVxuXHRpZiAoaW5zdGFuY2UgIT09IE9iamVjdChpbnN0YW5jZSkpIHtcblx0XHR3cm9uZ1Rocm93ID0gbmV3IFdST05HX0FSR1VNRU5UU19VU0VEKCdcInRoaXNcIiBtdXN0IGJlIGFuIG9iamVjdCcpO1xuXHR9XG5cdGlmIChpbnN0YW5jZS5jb25zdHJ1Y3RvcltTeW1ib2xDb25zdHJ1Y3Rvck5hbWVdICE9PSBpbnN0YW5jZS5jb25zdHJ1Y3Rvci5uYW1lKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCgnXCJ0aGlzXCIgbXVzdCBiZSBhbiBvYmplY3QnKTtcblx0fVxuXHQqL1xuXG5cdGlmICggIXRhcmdldCApIHtcblx0XHR0aHJvdyBuZXcgV1JPTkdfSU5TVEFOQ0VfSU5WT0NBVElPTiggJ2V4Y2VwdGlvbiBzaG91bGQgYmUgbWFkZSB3aXRoIG5ldyBrZXl3b3JkJyApO1xuXHR9XG5cblx0aWYgKCAhKCBlcnJvciBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0d3JvbmdUaHJvdyA9IG5ldyBXUk9OR19BUkdVTUVOVFNfVVNFRCggJ2Vycm9yIG11c3QgYmUgaW5zdGFuY2VvZiBFcnJvcicgKTtcblx0fVxuXG5cdGlmICggISggd3JvbmdUaHJvdyBpbnN0YW5jZW9mIEVycm9yICkgKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0b2RwKFxuXHRcdHdyb25nVGhyb3csXG5cdFx0J2luc3RhbmNlJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gaW5zdGFuY2U7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0d3JvbmdUaHJvdyxcblx0XHQnZXJyb3InLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcjtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHR3cm9uZ1Rocm93LFxuXHRcdCdhcmdzJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gYXJncztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdHRocm93IHdyb25nVGhyb3c7XG5cbn07XG5cbmNvbnN0IGV4Y2VwdGlvbkNvbnNjdHJ1Y3RIYW5kbGVyID0gZnVuY3Rpb24gKCB0aGlzOiBFcnJvciwgb3B0czogeyBbIGluZGV4OiBzdHJpbmcgXTogdW5rbm93biB9ICkge1xuXG5cdGNvbnN0IHtcblx0XHRpbnN0YW5jZSxcblx0XHRUeXBlTmFtZSxcblx0XHR0eXBlU3RhY2ssXG5cdFx0YXJncyxcblx0XHRlcnJvclxuXHR9ID0gb3B0cyBhcyB7XG5cdFx0aW5zdGFuY2U6IHsgZXh0cmFjdDogKCkgPT4gdW5rbm93biB9O1xuXHRcdFR5cGVOYW1lOiBzdHJpbmc7XG5cdFx0dHlwZVN0YWNrOiBzdHJpbmdbXTtcblx0XHRhcmdzOiB1bmtub3duW107XG5cdFx0ZXJyb3I6IEVycm9yO1xuXHR9O1xuXG5cblx0IFxuXHRjb25zdCBleGNlcHRpb24gPSB0aGlzO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2FyZ3MnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBhcmdzO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnb3JpZ2luYWxFcnJvcicsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnaW5zdGFuY2UnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBpbnN0YW5jZTtcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdG9kcChcblx0XHRleGNlcHRpb24sXG5cdFx0J2V4dHJhY3QnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdGNvbnN0IHJlc3VsdCA9ICgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBleHRyYWN0UmVzdWx0ID0gZXh0cmFjdChpbnN0YW5jZSk7XG5cdFx0XHRcdFx0cmV0dXJuIGV4dHJhY3RSZXN1bHQ7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblxuXHRvZHAoXG5cdFx0ZXhjZXB0aW9uLFxuXHRcdCdwYXJzZScsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0Y29uc3QgcmVzdWx0ID0gKCkgPT4ge1xuXHRcdFx0XHRcdGNvbnN0IHBhcnNlUmVzdWx0ID0gcGFyc2UoIGluc3RhbmNlICk7XG5cdFx0XHRcdFx0cmV0dXJuIHBhcnNlUmVzdWx0O1xuXHRcdFx0XHR9O1xuXHRcdFx0XHRyZXR1cm4gcmVzdWx0O1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0Ly8gcmVhbCBlcnJvciBzdGFja1xuXHRjb25zdCBlcnJvclN0YWNrID0gZXhjZXB0aW9uLnN0YWNrIS5zcGxpdCggJ1xcbicgKTtcblxuXHRjb25zdCBzdGFjazogc3RyaW5nW10gPSBbXTtcblxuXHRjb25zdCB0aXRsZSA9IGBcXG48LS0gbGlmZWN5Y2xlIG9mIFsgJHtUeXBlTmFtZX0gXSB0cmFjZWQgLS0+YDtcblxuXHRnZXRTdGFjay5jYWxsKFxuXHRcdGV4Y2VwdGlvbixcblx0XHR0aXRsZSxcblx0XHRbXSxcblx0XHRwcmVwYXJlRXhjZXB0aW9uIFxuXHQpO1xuXG5cdCBcblx0c3RhY2sucHVzaCggLi4uKGV4Y2VwdGlvbi5zdGFjayBhcyB1bmtub3duIGFzIHN0cmluZ1tdKSApO1xuXG5cdHN0YWNrLnB1c2goICc8LS0gd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yIC0tPicgKTtcblxuXHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRzdGFjay5wdXNoKCBsaW5lICk7XG5cdFx0fVxuXHR9ICk7XG5cblx0c3RhY2sucHVzaCggJ1xcbjwtLSBvZiBjb25zdHJ1Y3RvciBkZWZpbml0aW9ucyBzdGFjayAtLT4nICk7XG5cdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdGNvbnN0IGV4Y2VwdGlvblN0YWNrID0gY2xlYW51cFN0YWNrKCBzdGFjayApLmpvaW4oICdcXG4nICk7XG5cblx0b2RwKFxuXHRcdGV4Y2VwdGlvbixcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25TdGFjaztcblx0XHRcdH1cblx0XHR9XG5cdCk7XG5cblx0cmV0dXJuIGV4Y2VwdGlvbjtcblxuXG59O1xuXG5jb25zdCBwcmVwYXJlRXhjZXB0aW9uID0gZnVuY3Rpb24gKCB0aGlzOiBvYmplY3QsIHRhcmdldDogdW5rbm93biwgZXJyb3I6IEVycm9yLCAuLi5hcmdzOiB1bmtub3duW10gKSB7XG5cblx0IFxuXHRjb25zdCBpbnN0YW5jZSA9IHRoaXM7XG5cblx0Y2hlY2tUaHJvd0FyZ3MoXG5cdFx0aW5zdGFuY2UsXG5cdFx0dGFyZ2V0LFxuXHRcdGVycm9yLFxuXHRcdGFyZ3MgXG5cdCk7XG5cblx0Y29uc3QgcHJvcHMgPSBfZ2V0UHJvcHMoaW5zdGFuY2UpIGFzIFByb3BzO1xuXG5cdGNvbnN0IHtcblx0XHRfX3R5cGVfXyxcblx0XHRfX2NyZWF0b3JfX1xuXHR9ID0gcHJvcHM7XG5cblxuXHRjb25zdCB7XG5cdFx0c3RhY2s6IHR5cGVTdGFjayxcblx0XHRUeXBlTmFtZVxuXHR9ID0gX190eXBlX187XG5cblx0Lyogc2hvcnQgd2F5LCBtYWtlcyBob29rcyBjYWxscywgd2lsbCBub3QgdXNlXG5cblx0Y29uc3QgdHlwZSA9IE9iamVjdC5jcmVhdGUoX190eXBlX18pO1xuXHR0eXBlLmNvbmZpZy5ibG9ja0Vycm9ycyA9IGZhbHNlO1xuXG5cdGxldCBlcnJvcmVkID0gbmV3IEluc3RhbmNlQ3JlYXRvcih0eXBlLCBlcnJvciwgYXJncyk7XG5cdCovXG5cblx0Y29uc3QgRXhjZXB0aW9uQ3JlYXRvciA9IE9iamVjdC5jcmVhdGUoIF9fY3JlYXRvcl9fICk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnID0gT2JqZWN0LmFzc2lnbihcblx0XHR7fSxcblx0XHRfX2NyZWF0b3JfXy5jb25maWcgXG5cdCk7XG5cdEV4Y2VwdGlvbkNyZWF0b3IuY29uZmlnLmJsb2NrRXJyb3JzID0gZmFsc2U7XG5cblx0RXhjZXB0aW9uQ3JlYXRvci5leGlzdGVudEluc3RhbmNlID0gZXJyb3I7XG5cdCBcblx0RXhjZXB0aW9uQ3JlYXRvci5Nb2RpZmljYXRvclR5cGUgPSBtYWtlRXJyb3JNb2RpZmljYXRvclR5cGUoXG5cdFx0VHlwZU5hbWUsXG5cdFx0ZnVuY3Rpb24gKHRoaXM6IEVycm9yKSB7XG5cdFx0XHRjb25zdCBoYW5kbGVyUmVzdWx0ID0gZXhjZXB0aW9uQ29uc2N0cnVjdEhhbmRsZXIuY2FsbChcblx0XHRcdFx0dGhpcyxcblx0XHRcdFx0e1xuXHRcdFx0XHRcdGluc3RhbmNlLFxuXHRcdFx0XHRcdFR5cGVOYW1lLFxuXHRcdFx0XHRcdHR5cGVTdGFjayxcblx0XHRcdFx0XHRhcmdzLFxuXHRcdFx0XHRcdGVycm9yXG5cdFx0XHRcdH0gXG5cdFx0XHQpO1xuXHRcdFx0cmV0dXJuIGhhbmRsZXJSZXN1bHQ7XG5cdFx0fSBcblx0KTtcblxuXHRFeGNlcHRpb25DcmVhdG9yLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggRXhjZXB0aW9uQ3JlYXRvciApO1xuXG5cdGNvbnN0IHJlc3VsdCA9IG5ldyBFeGNlcHRpb25DcmVhdG9yLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblx0cmV0dXJuIHJlc3VsdDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHByZXBhcmVFeGNlcHRpb247XG4iXX0=
|
|
@@ -14,7 +14,8 @@ const cleanupStack = (stack) => {
|
|
|
14
14
|
});
|
|
15
15
|
return arr;
|
|
16
16
|
}, []);
|
|
17
|
-
|
|
17
|
+
const result = cleaned.length ? cleaned : stack;
|
|
18
|
+
return result;
|
|
18
19
|
};
|
|
19
20
|
exports.cleanupStack = cleanupStack;
|
|
20
21
|
const getStack = function (title, stackAddition, tillFunction) {
|
|
@@ -50,13 +51,15 @@ class BASE_MNEMONICA_ERROR extends Error {
|
|
|
50
51
|
this.stack = stack.join('\n');
|
|
51
52
|
}
|
|
52
53
|
static get [SymbolConstructorName]() {
|
|
53
|
-
|
|
54
|
+
const result = new String(`base of : ${MNEMONICA} : errors`);
|
|
55
|
+
return result;
|
|
54
56
|
}
|
|
55
57
|
}
|
|
56
58
|
exports.BASE_MNEMONICA_ERROR = BASE_MNEMONICA_ERROR;
|
|
57
59
|
Object.defineProperty(BASE_MNEMONICA_ERROR.prototype.constructor, 'name', {
|
|
58
60
|
get() {
|
|
59
|
-
|
|
61
|
+
const result = new String('BASE_MNEMONICA_ERROR');
|
|
62
|
+
return result;
|
|
60
63
|
}
|
|
61
64
|
});
|
|
62
65
|
const constructError = (name, message) => {
|
|
@@ -70,10 +73,11 @@ const constructError = (name, message) => {
|
|
|
70
73
|
reNamer[name] = NamedErrorConstructor;
|
|
71
74
|
Object.defineProperty(reNamer[name].prototype.constructor, 'name', {
|
|
72
75
|
get() {
|
|
73
|
-
|
|
76
|
+
const result = new String(name);
|
|
77
|
+
return result;
|
|
74
78
|
}
|
|
75
79
|
});
|
|
76
80
|
return reNamer[name];
|
|
77
81
|
};
|
|
78
82
|
exports.constructError = constructError;
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYXBpL2Vycm9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZLENBQUM7OztBQUliLCtDQUE0QztBQUU1QyxNQUFNLEVBQ0wsR0FBRyxFQUNILHFCQUFxQixFQUNyQixTQUFTLEVBQ1QsYUFBYSxHQUNiLEdBQUcscUJBQVMsQ0FBQztBQUVkLE1BQU0sRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGFBQWEsQ0FBQztBQUVoQyxRQUFBLGFBQWEsR0FBYSxFQUFFLENBQUM7QUFNbkMsTUFBTSxZQUFZLEdBQUcsQ0FBRSxLQUFlLEVBQUcsRUFBRTtJQUNqRCxNQUFNLE9BQU8sR0FBYSxLQUFLLENBQUMsTUFBTSxDQUNyQyxDQUFFLEdBQWEsRUFBRSxJQUFZLEVBQUcsRUFBRTtRQUNqQyxxQkFBYSxDQUFDLE9BQU8sQ0FBRSxhQUFhLENBQUMsRUFBRTtZQUN0QyxJQUFLLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBRSxJQUFJLENBQUUsRUFBRyxDQUFDO2dCQUNuQyxHQUFHLENBQUMsSUFBSSxDQUFFLElBQUksQ0FBRSxDQUFDO1lBQ2xCLENBQUM7UUFDRixDQUFDLENBQUUsQ0FBQztRQUNKLE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxFQUNELEVBQUUsQ0FDRixDQUFDO0lBQ0YsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsT0FBTyxNQUFNLENBQUM7QUFDZixDQUFDLENBQUM7QUFkVyxRQUFBLFlBQVksZ0JBY3ZCO0FBRUssTUFBTSxRQUFRLEdBQUcsVUFFdkIsS0FBYSxFQUNiLGFBQXVCLEVBQ3ZCLFlBQTRCO0lBRzVCLElBQUssS0FBSyxDQUFDLGlCQUFpQixFQUFHLENBQUM7UUFDL0IsS0FBSyxDQUFDLGlCQUFpQixDQUN0QixJQUFJLEVBQ0osWUFB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LEVBQ047UUFDQyxHQUFHO1lBQ0YsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUUsSUFBSSxDQUFFLENBQUM7WUFDbEMsT0FBTyxNQUFNLENBQUM7UUFDZixDQUFDO0tBQ0QsQ0FDRCxDQUFDO0lBQ0YsT0FBTyxPQUFPLENBQUUsSUFBSSxDQUFFLENBQUM7QUFDeEIsQ0FBQyxDQUFDO0FBOUJXLFFBQUEsY0FBYyxrQkE4QnpCIiwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBzdHJpY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFN0YWNrQm91bmRhcnkgfSBmcm9tICcuLi8uLi90eXBlcyc7XG5cbmltcG9ydCB7IGNvbnN0YW50cyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5cbmNvbnN0IHtcblx0b2RwLFxuXHRTeW1ib2xDb25zdHJ1Y3Rvck5hbWUsXG5cdE1ORU1PTklDQSxcblx0RXJyb3JNZXNzYWdlcyxcbn0gPSBjb25zdGFudHM7XG5cbmNvbnN0IHsgQkFTRV9FUlJPUl9NRVNTQUdFIH0gPSBFcnJvck1lc3NhZ2VzO1xuXG5leHBvcnQgY29uc3Qgc3RhY2tDbGVhbmVyczogUmVnRXhwW10gPSBbXTtcblxuZXhwb3J0IGludGVyZmFjZSBTdGFja2FibGVJbnN0YW5jZSB7XG5cdHN0YWNrPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBjb25zdCBjbGVhbnVwU3RhY2sgPSAoIHN0YWNrOiBzdHJpbmdbXSApID0+IHtcblx0Y29uc3QgY2xlYW5lZDogc3RyaW5nW10gPSBzdGFjay5yZWR1Y2UoXG5cdFx0KCBhcnI6IHN0cmluZ1tdLCBsaW5lOiBzdHJpbmcgKSA9PiB7XG5cdFx0XHRzdGFja0NsZWFuZXJzLmZvckVhY2goIGNsZWFuZXJSZWdFeHAgPT4ge1xuXHRcdFx0XHRpZiAoICFjbGVhbmVyUmVnRXhwLnRlc3QoIGxpbmUgKSApIHtcblx0XHRcdFx0XHRhcnIucHVzaCggbGluZSApO1xuXHRcdFx0XHR9XG5cdFx0XHR9ICk7XG5cdFx0XHRyZXR1cm4gYXJyO1xuXHRcdH0sXG5cdFx0W10gXG5cdCk7XG5cdGNvbnN0IHJlc3VsdCA9IGNsZWFuZWQubGVuZ3RoID8gY2xlYW5lZCA6IHN0YWNrO1xuXHRyZXR1cm4gcmVzdWx0O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFN0YWNrID0gZnVuY3Rpb24gKFxuXHR0aGlzOiBTdGFja2FibGVJbnN0YW5jZSxcblx0dGl0bGU6IHN0cmluZyxcblx0c3RhY2tBZGRpdGlvbjogc3RyaW5nW10sXG5cdHRpbGxGdW5jdGlvbj86IFN0YWNrQm91bmRhcnlcbikge1xuXG5cdGlmICggRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UgKSB7XG5cdFx0RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UoXG5cdFx0XHR0aGlzLFxuXHRcdFx0dGlsbEZ1bmN0aW9uIHx8IGdldFN0YWNrXG5cdFx0KTtcblx0fSBlbHNlIHtcblx0XHR0aGlzLnN0YWNrID0gKCBuZXcgRXJyb3IoKSApLnN0YWNrO1xuXHR9XG5cblx0dGhpcy5zdGFjayA9ICh0aGlzLnN0YWNrIGFzIHN0cmluZykuc3BsaXQoICdcXG4nICkuc2xpY2UoIDEgKTtcblx0dGhpcy5zdGFjayA9IGNsZWFudXBTdGFjayggdGhpcy5zdGFjayApO1xuXG5cdHRoaXMuc3RhY2sudW5zaGlmdCggdGl0bGUgKTtcblx0aWYgKCBBcnJheS5pc0FycmF5KCBzdGFja0FkZGl0aW9uICkgJiYgc3RhY2tBZGRpdGlvbi5sZW5ndGggKSB7XG5cdFx0dGhpcy5zdGFjay5wdXNoKCAuLi5zdGFja0FkZGl0aW9uICk7XG5cdH1cblx0dGhpcy5zdGFjay5wdXNoKCAnXFxuJyApO1xuXG5cdHJldHVybiB0aGlzLnN0YWNrO1xuXG59O1xuXG5leHBvcnQgY2xhc3MgQkFTRV9NTkVNT05JQ0FfRVJST1IgZXh0ZW5kcyBFcnJvciB7XG5cblx0Y29uc3RydWN0b3IgKCBtZXNzYWdlID0gQkFTRV9FUlJPUl9NRVNTQUdFLCBhZGRpdGlvbmFsU3RhY2s6IHN0cmluZ1tdICkge1xuXG5cdFx0c3VwZXIoIG1lc3NhZ2UgKTtcblx0XHRjb25zdCBCYXNlU3RhY2s6IHN0cmluZyA9IHRoaXMuc3RhY2sgYXMgc3RyaW5nO1xuXHRcdG9kcChcblx0XHRcdHRoaXMsXG5cdFx0XHQnQmFzZVN0YWNrJyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gQmFzZVN0YWNrO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRjb25zdCBzdGFjayA9IGNsZWFudXBTdGFjayggQmFzZVN0YWNrLnNwbGl0KCAnXFxuJyApICk7XG5cblx0XHRpZiAoIGFkZGl0aW9uYWxTdGFjayApIHtcblx0XHRcdHN0YWNrLnVuc2hpZnQoIC4uLmFkZGl0aW9uYWxTdGFjayApO1xuXHRcdH1cblxuXHRcdHRoaXMuc3RhY2sgPSBzdGFjay5qb2luKCAnXFxuJyApO1xuXG5cdH1cblxuXHRzdGF0aWMgZ2V0IFsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKCkge1xuXHRcdGNvbnN0IHJlc3VsdCA9IG5ldyBTdHJpbmcoIGBiYXNlIG9mIDogJHtNTkVNT05JQ0F9IDogZXJyb3JzYCApO1xuXHRcdHJldHVybiByZXN1bHQ7XG5cdH1cblxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoXG5cdEJBU0VfTU5FTU9OSUNBX0VSUk9SLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcixcblx0J25hbWUnLFxuXHR7XG5cdFx0Z2V0ICgpIHtcblx0XHRcdGNvbnN0IHJlc3VsdCA9IG5ldyBTdHJpbmcoICdCQVNFX01ORU1PTklDQV9FUlJPUicgKTtcblx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0fVxuXHR9IFxuKTtcblxuXG5leHBvcnQgY29uc3QgY29uc3RydWN0RXJyb3IgPSAoIG5hbWU6IHN0cmluZywgbWVzc2FnZTogc3RyaW5nICkgPT4ge1xuXHRjb25zdCBOYW1lZEVycm9yQ29uc3RydWN0b3IgPSBjbGFzcyBleHRlbmRzIEJBU0VfTU5FTU9OSUNBX0VSUk9SIHtcblx0XHRjb25zdHJ1Y3RvciAoIGFkZGl0aW9uOiBzdHJpbmcsIHN0YWNrOiBzdHJpbmdbXSApIHtcblx0XHRcdGNvbnN0IHNheWluZyA9IGFkZGl0aW9uID8gYCR7bWVzc2FnZX0gOiAke2FkZGl0aW9ufWAgOiBgJHttZXNzYWdlfWA7XG5cdFx0XHRzdXBlcihcblx0XHRcdFx0c2F5aW5nLFxuXHRcdFx0XHRzdGFjayBcblx0XHRcdCk7XG5cdFx0fVxuXHR9O1xuXG5cdGNvbnN0IHJlTmFtZXIgPSB7fSBhcyB7XG5cdFx0WyBrZXk6IHN0cmluZyBdOiB7XG5cdFx0XHRwcm90b3R5cGU6IHtcblx0XHRcdFx0Y29uc3RydWN0b3I6IENhbGxhYmxlRnVuY3Rpb25cblx0XHRcdH1cblx0XHR9LFxuXHR9O1xuXHRyZU5hbWVyWyBuYW1lIF0gPSBOYW1lZEVycm9yQ29uc3RydWN0b3I7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcblx0XHRyZU5hbWVyWyBuYW1lIF0ucHJvdG90eXBlLmNvbnN0cnVjdG9yLFxuXHRcdCduYW1lJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRjb25zdCByZXN1bHQgPSBuZXcgU3RyaW5nKCBuYW1lICk7XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cdFx0fSBcblx0KTtcblx0cmV0dXJuIHJlTmFtZXJbIG5hbWUgXTtcbn07XG4iXX0=
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.throwModificationError = void 0;
|
|
4
7
|
const constants_1 = require("../../constants");
|
|
@@ -6,10 +9,11 @@ const { odp, MNEMONICA, } = constants_1.constants;
|
|
|
6
9
|
const errors_1 = require("../../descriptors/errors");
|
|
7
10
|
const { BASE_MNEMONICA_ERROR } = errors_1.ErrorsTypes;
|
|
8
11
|
const _1 = require("./");
|
|
9
|
-
const utils_1 = require("../utils");
|
|
12
|
+
const utils_1 = __importDefault(require("../utils"));
|
|
10
13
|
const { makeErrorModificatorType } = utils_1.default;
|
|
11
|
-
const
|
|
12
|
-
const
|
|
14
|
+
const parse_1 = require("../../utils/parse");
|
|
15
|
+
const parent_1 = require("../../utils/parent");
|
|
16
|
+
const extract_1 = require("../../utils/extract");
|
|
13
17
|
const InstanceModificator_1 = require("../types/InstanceModificator");
|
|
14
18
|
const throwModificationError = function (error) {
|
|
15
19
|
const self = this;
|
|
@@ -109,23 +113,25 @@ const throwModificationError = function (error) {
|
|
|
109
113
|
});
|
|
110
114
|
odp(erroredInstance, 'extract', {
|
|
111
115
|
get() {
|
|
112
|
-
|
|
113
|
-
const _parent = parent(erroredInstance);
|
|
114
|
-
const extractResult = extract(_parent);
|
|
116
|
+
const extractGetter = () => {
|
|
117
|
+
const _parent = (0, parent_1.parent)(erroredInstance);
|
|
118
|
+
const extractResult = (0, extract_1.extract)(_parent);
|
|
115
119
|
return extractResult;
|
|
116
120
|
};
|
|
121
|
+
return extractGetter;
|
|
117
122
|
}
|
|
118
123
|
});
|
|
119
124
|
odp(erroredInstance, 'parse', {
|
|
120
125
|
get() {
|
|
121
|
-
|
|
122
|
-
const parseResult = parse(erroredInstance);
|
|
126
|
+
const parseGetter = () => {
|
|
127
|
+
const parseResult = (0, parse_1.parse)(erroredInstance);
|
|
123
128
|
return parseResult;
|
|
124
129
|
};
|
|
130
|
+
return parseGetter;
|
|
125
131
|
}
|
|
126
132
|
});
|
|
127
133
|
}
|
|
128
134
|
throw erroredInstance;
|
|
129
135
|
};
|
|
130
136
|
exports.throwModificationError = throwModificationError;
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dNb2RpZmljYXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXJyb3JzL3Rocm93TW9kaWZpY2F0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7QUFNYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QscURBQXVEO0FBQ3ZELE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLG9CQUFXLENBQUM7QUFFN0MseUJBRVk7QUFFWixvQ0FBa0M7QUFDbEMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsZUFBVSxDQUFDO0FBRWhELHVDQUFvQztBQUNwQyxNQUFNLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixPQUFPLEVBQ1AsR0FBRyxhQUFLLENBQUM7QUFFVixzRUFBdUU7QUFFaEUsTUFBTSxzQkFBc0IsR0FBRyxVQUF5QyxLQUFxQjtJQUluRyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUM7SUFFbEIsTUFBTSxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQzFCLElBQUksRUFDSixHQUFHLElBRUgsQ0FBQztJQU1GLE1BQU0sZUFBZSxHQUFHLEtBQUssQ0FBQyxlQUFlLElBQUksS0FBSyxDQUFDO0lBRXZELElBQUssS0FBSyxDQUFDLGVBQWUsS0FBSyxTQUFTLEVBQUcsQ0FBQztRQUUxQyxLQUFLLENBQUMsT0FBbUIsQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFDLGVBQWUsQ0FBRSxDQUFDO1FBQ3hELEtBQUssQ0FBQyxPQUFtQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUV6QyxNQUFNLEtBQUssQ0FBQztJQUViLENBQUM7SUFFRCxHQUFHLENBQ0YsS0FBSyxFQUNMLGlCQUFpQixFQUNqQjtRQUNDLEdBQUc7WUFDRixPQUFPLGVB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RUYsR0FBRyxDQUNGLGVBQWUsRUFDZixPQUFPLEVBQ1A7WUFDQyxHQUFHO2dCQUNGLE9BQU8sR0FBRyxFQUFFO29CQUNYLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBRSxlQUFlLENBQUUsQ0FBQztvQkFDN0MsT0FBTyxXQUFXLENBQUM7Z0JBQ3BCLENBQUMsQ0FBQztZQUNILENBQUM7U0FDRCxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxlQUFlLENBQUM7QUFFdkIsQ0FBQyxDQUFDO0FBL09XLFFBQUEsc0JBQXNCLDBCQStPakMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0TW5lbW9uaWNhRXJyb3IsIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRNTkVNT05JQ0EsXG59ID0gY29uc3RhbnRzO1xuXG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgQkFTRV9NTkVNT05JQ0FfRVJST1IgfSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyB1dGlscyB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmNvbnN0IHtcblx0cGFyc2UsXG5cdHBhcmVudCxcblx0ZXh0cmFjdFxufSA9IHV0aWxzO1xuXG5pbXBvcnQgeyBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciB9IGZyb20gJy4uL3R5cGVzL0luc3RhbmNlTW9kaWZpY2F0b3InO1xuXG5leHBvcnQgY29uc3QgdGhyb3dNb2RpZmljYXRpb25FcnJvciA9IGZ1bmN0aW9uICggdGhpczogSW5zdGFuY2VDcmVhdG9yQ29udGV4dCwgZXJyb3I6IE1uZW1vbmljYUVycm9yICkge1xuXG5cdC8vIEluc3RhbmNlQ3JlYXRvclxuXHQgXG5cdGNvbnN0IHNlbGYgPSB0aGlzO1xuXG5cdGNvbnN0IHtcblx0XHRUeXBlTmFtZSxcblx0XHR0eXBlOiB7IHN0YWNrOiB0eXBlU3RhY2sgfSxcblx0XHRhcmdzXG5cdH0gPSBzZWxmIGFzIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgJiB7XG5cdFx0dHlwZTogeyBzdGFjazogc3RyaW5nW10gfVxuXHR9O1xuXG5cdC8vIGlmICggZXJyb3JbIFN5bWJvbENvbnN0cnVjdG9yTmFtZSBdICkge1xuXHQvLyBcdGRlYnVnZ2VyO1xuXHQvLyB9XG5cblx0Y29uc3QgZXhjZXB0aW9uUmVhc29uID0gZXJyb3IuZXhjZXB0aW9uUmVhc29uIHx8IGVycm9yO1xuXG5cdGlmICggZXJyb3IuZXhjZXB0aW9uUmVhc29uICE9PSB1bmRlZmluZWQgKSB7XG5cblx0XHQoZXJyb3IucmVhc29ucyBhcyBFcnJvcltdKS5wdXNoKCBlcnJvci5leGNlcHRpb25SZWFzb24gKTtcblx0XHQoZXJyb3Iuc3VycGx1cyBhcyBFcnJvcltdKS5wdXNoKCBlcnJvciApO1xuXG5cdFx0dGhyb3cgZXJyb3I7XG5cblx0fVxuXG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQnZXhjZXB0aW9uUmVhc29uJyxcblx0XHR7XG5cdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRyZXR1cm4gZXhjZXB0aW9uUmVhc29uO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblxuXHRjb25zdCByZWFzb25zOiBFcnJvcltdID0gWyBleGNlcHRpb25SZWFzb24gXTtcblxuXHRvZHAoXG5cdFx0ZXJyb3IsXG5cdFx0J3JlYXNvbnMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiByZWFzb25zO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblx0Y29uc3Qgc3VycGx1czogRXJyb3JbXSA9IFtdO1xuXHRvZHAoXG5cdFx0ZXJyb3IsXG5cdFx0J3N1cnBsdXMnLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBzdXJwbHVzO1xuXHRcdFx0fSxcblx0XHRcdGVudW1lcmFibGUgOiB0cnVlXG5cdFx0fSBcblx0KTtcblxuXHRzZWxmLk1vZGlmaWNhdG9yVHlwZSA9IG1ha2VFcnJvck1vZGlmaWNhdG9yVHlwZSggVHlwZU5hbWUgKTtcblxuXHRzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IgPSBtYWtlSW5zdGFuY2VNb2RpZmljYXRvciggc2VsZiApO1xuXG5cdC8vIGxldCBlcnJvcmVkSW5zdGFuY2UgPSBuZXcgc2VsZi5JbnN0YW5jZU1vZGlmaWNhdG9yKCk7XG5cdGNvbnN0IGVycm9yZWRJbnN0YW5jZSA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblxuXHRsZXQgZXJyb3JQcm90bzogb2JqZWN0IHwgbnVsbCA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoIGVycm9yZWRJbnN0YW5jZSApO1xuXHRsZXQgaXNNbmVtb25pY2FJbnN0YW5jZSA9IGZhbHNlO1xuXHR3aGlsZSAoIGVycm9yUHJvdG8gKSB7XG5cdFx0Y29uc3QgdGVzdFRvUHJvdG8gPSBSZWZsZWN0LmdldFByb3RvdHlwZU9mKCBlcnJvclByb3RvICk7XG5cdFx0aWYgKHRlc3RUb1Byb3RvID09PSBudWxsKSB7XG5cdFx0XHRicmVhaztcblx0XHR9XG5cdFx0Ly8gaWYgKHRlc3RUb1Byb3RvID09PSBPYmplY3QucHJvdG90eXBlKSB7XG5cdFx0Ly8gXHRicmVhaztcblx0XHQvLyB9XG5cdFx0aWYgKFxuXHRcdFx0dGVzdFRvUHJvdG8gIT09IG51bGwgJiZcblx0XHRcdE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKFxuXHRcdFx0XHR0ZXN0VG9Qcm90byxcblx0XHRcdFx0J2NvbnN0cnVjdG9yJ1xuXHRcdFx0KSAmJlxuXHRcdFx0dGVzdFRvUHJvdG8uY29uc3RydWN0b3IubmFtZSA9PT0gTU5FTU9OSUNBXG5cdFx0KSB7XG5cdFx0XHRpc01uZW1vbmljYUluc3RhbmNlID0gdHJ1ZTtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHRlcnJvclByb3RvID0gdGVzdFRvUHJvdG87XG5cdH1cblxuXHQvLyBSZWZsZWN0LnNldFByb3RvdHlwZU9mKCBlcnJvclByb3RvLCBlcnJvcik7XG5cdGNvbnN0IHJlc3VsdCA9IFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoXG4gZXJyb3JQcm90byBhcyBvYmplY3QsXG4gZXJyb3Jcblx0KTtcblx0Ly8gbGV0IHJlc3VsdCA9IFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8sIGVycm9yKTtcblx0Ly8gaWYgKHJlc3VsdCA9PT0gZmFsc2UpIHtcblx0Ly8gXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoZXJyb3JQcm90bywgZXJyb3IpO1xuXHQvLyBcdC8vIHVucmVhY2hhYmxlXG5cdC8vIFx0cmVzdWx0ID0gdHJ1ZTtcblx0Ly8gfVxuXHQvLyBjb25zb2xlLmxvZyhyZXN1bHQpO1xuXG5cdGNvbnN0IHN0YWNrOiBzdHJpbmdbXSA9IFtdO1xuXG5cdGlmICggZXJyb3IgaW5zdGFuY2VvZiBCQVNFX01ORU1PTklDQV9FUlJPUiApIHtcblxuXHRcdHN0YWNrLnB1c2goIGVycm9yLnN0YWNrIGFzIHN0cmluZyApO1xuXG5cdH0gZWxzZSB7XG5cblx0XHRjb25zdCB0aXRsZSA9IGBcXG48LS0gY3JlYXRpb24gb2YgWyAke1R5cGVOYW1lfSBdIHRyYWNlZCAtLT5gO1xuXG5cdFx0Z2V0U3RhY2suY2FsbChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdHRpdGxlLFxuXHRcdFx0W10sXG5cdFx0XHR0aHJvd01vZGlmaWNhdGlvbkVycm9yIFxuXHRcdCk7XG5cblx0XHRzdGFjay5wdXNoKCAuLi4oZXJyb3JlZEluc3RhbmNlIGFzIHsgc3RhY2s6IHN0cmluZ1tdIH0pLnN0YWNrICk7XG5cblx0XHRjb25zdCBlcnJvclN0YWNrID0gKGVycm9yLnN0YWNrIGFzIHN0cmluZyApLnNwbGl0KCAnXFxuJyApO1xuXG5cdFx0c3RhY2sucHVzaCggJzwtLSB3aXRoIHRoZSBmb2xsb3dpbmcgZXJyb3IgLS0+JyApO1xuXG5cdFx0ZXJyb3JTdGFjay5mb3JFYWNoKCAoIGxpbmU6IHN0cmluZyApID0+IHtcblx0XHRcdGlmICggIXN0YWNrLmluY2x1ZGVzKCBsaW5lICkgKSB7XG5cdFx0XHRcdHN0YWNrLnB1c2goIGxpbmUgKTtcblx0XHRcdH1cblx0XHR9ICk7XG5cblx0XHRzdGFjay5wdXNoKCAnXFxuPC0tIG9mIGNvbnN0cnVjdG9yIGRlZmluaXRpb25zIHN0YWNrIC0tPicgKTtcblx0XHRzdGFjay5wdXNoKCAuLi50eXBlU3RhY2sgKTtcblxuXHR9XG5cblx0Y29uc3QgZXJyb3JlZEluc3RhbmNlU3RhY2sgPSBjbGVhbnVwU3RhY2soIHN0YWNrICkuam9pbiggJ1xcbicgKTtcblxuXHQvLyBzdGFydGluZyBmcm9tIE5vZGUuanMgdjIyIHdlIHNob3VsZCBkZWZpbmUgdGhpcyBwcm9wZXJ0eSB0aHJvdWdoIG9kcFxuXHQvLyB0aGF0IHdhcyB1bm5lY2Vzc2FyeSBmb3IgdjIwLCB0aG91Z2ggc2VlbXMgbmV3IHY4IG9wdGltaXplZCBjb21waWxlclxuXHQvLyBpcyBnYXRoZXJpbmcgdmFsdWUgZnJvbSBkZWVwIGNoYWluIGFuZCB3aGlsZSBjb21wYXJpbmcgaXQgd2l0aCBcblx0Ly8gYXNzaWdubWVudCBvcGVyYXRvciwgdGhlbiBpdCB3aWxsIG5vdCBjcmVhdGUgdGhpcyBwcm9wZXJ0eSBcblx0Ly8gc28gd2UgbmVlZCBkaXJlY3QgcHJvcGVydHkgZGVjbGFyYXRpb24gaGVyZSAuLi5cblx0b2RwKFxuXHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHQnc3RhY2snLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2VTdGFjaztcblx0XHRcdH1cblx0XHR9IFxuXHQpO1xuXG5cdHNlbGYuaW5oZXJpdGVkSW5zdGFuY2UgPSBlcnJvcmVkSW5zdGFuY2U7XG5cblx0aWYgKHJlc3VsdCkge1xuXHRcdGlmIChpc01uZW1vbmljYUluc3RhbmNlKSB7XG5cblx0XHRcdC8vIGlmIGhvb2tzIGhhZCBzb21lIGludGVyY2VwdGlvbjogc3RhcnRcblx0XHRcdGNvbnN0IHJlc3VsdHMgPSBzZWxmLmludm9rZVBvc3RIb29rcygpO1xuXHRcdFx0Y29uc3Qge1xuXHRcdFx0XHR0eXBlLFxuXHRcdFx0XHRjb2xsZWN0aW9uLFxuXHRcdFx0fSA9IHJlc3VsdHM7XG5cdFx0XHRpZiAoIHR5cGUuaGFzKCB0cnVlICkgfHwgY29sbGVjdGlvbi5oYXMoIHRydWUgKSApIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIH1cblxuXHRcdC8vIGlmIGhvb2tzIGhhZCBzb21lIGludGVyY2VwdGlvbjogc3RvcFxuXG5cdFx0b2RwKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0J2FyZ3MnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBhcmdzO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnb3JpZ2luYWxFcnJvcicsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycm9yO1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnaW5zdGFuY2UnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiBlcnJvcmVkSW5zdGFuY2U7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdleHRyYWN0Jyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0XHRcdFx0Y29uc3QgX3BhcmVudCA9IHBhcmVudChlcnJvcmVkSW5zdGFuY2UpO1xuXHRcdFx0XHRcdFx0Y29uc3QgZXh0cmFjdFJlc3VsdCA9IGV4dHJhY3QoX3BhcmVudCk7XG5cdFx0XHRcdFx0XHRyZXR1cm4gZXh0cmFjdFJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQncGFyc2UnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJzZVJlc3VsdCA9IHBhcnNlKCBlcnJvcmVkSW5zdGFuY2UgKTtcblx0XHRcdFx0XHRcdHJldHVybiBwYXJzZVJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9XG5cdFx0XHR9IFxuXHRcdCk7XG5cdH1cblxuXHR0aHJvdyBlcnJvcmVkSW5zdGFuY2U7XG5cbn07XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb3dNb2RpZmljYXRpb25FcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvZXJyb3JzL3Rocm93TW9kaWZpY2F0aW9uRXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWSxDQUFDOzs7Ozs7QUFNYiwrQ0FBNEM7QUFDNUMsTUFBTSxFQUNMLEdBQUcsRUFDSCxTQUFTLEdBQ1QsR0FBRyxxQkFBUyxDQUFDO0FBR2QscURBQXVEO0FBQ3ZELE1BQU0sRUFBRSxvQkFBb0IsRUFBRSxHQUFHLG9CQUFXLENBQUM7QUFFN0MseUJBRVk7QUFFWixxREFBa0M7QUFDbEMsTUFBTSxFQUFFLHdCQUF3QixFQUFFLEdBQUcsZUFBVSxDQUFDO0FBRWhELDZDQUEwQztBQUMxQywrQ0FBNEM7QUFDNUMsaURBQThDO0FBRTlDLHNFQUF1RTtBQUVoRSxNQUFNLHNCQUFzQixHQUFHLFVBQXlDLEtBQXFCO0lBSW5HLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQztJQUVsQixNQUFNLEVBQ0wsUUFBUSxFQUNSLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsRUFDMUIsSUFBSSxFQUNKLEdBQUcsSUFFSCxDQUFDO0lBTUYsTUFBTSxlQUFlLEdBQUcsS0FBSyxDQUFDLGVBQWUsSUFBSSxLQUFLLENBQUM7SUFFdkQsSUFBSyxLQUFLLENBQUMsZUFBZSxLQUFLLFNBQVMsRUFBRyxDQUFDO1FBRTFDLEtBQUssQ0FBQyxPQUFtQixDQUFDLElBQUksQ0FBRSxLQUFLLENBQUMsZUFBZSxDQUFFLENBQUM7UUFDeEQsS0FBSyxDQUFDLE9BQW1CLENBQUMsSUFBSSxDQUFFLEtBQUssQ0FBRSxDQUFDO1FBRXpDLE1BQU0sS0FBSyxDQUFDO0lBRWIsQ0FBQztJQUVELEdBQUcsQ0FDRixLQUFLLEVBQ0wsaUJBQWlCLEVBQ2pCO1FBQ0MsR0FBRztZQUNGLE9BQU8sZUFBZSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxVQUFVLEVB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LENBQ0QsQ0FBQztRQUVGLEdBQUcsQ0FDRixlQUFlLEVBQ2YsT0FBTyxFQUNQO1lBQ0MsR0FBRztnQkFDRixNQUFNLFdBQVcsR0FBRyxHQUFHLEVBQUU7b0JBQ3hCLE1BQU0sV0FBVyxHQUFHLElBQUEsYUFBSyxFQUFFLGVBQWUsQ0FBRSxDQUFDO29CQUM3QyxPQUFPLFdBQVcsQ0FBQztnQkFDcEIsQ0FBQyxDQUFDO2dCQUNGLE9BQU8sV0FBVyxDQUFDO1lBQ3BCLENBQUM7U0FDRCxDQUNELENBQUM7SUFDSCxDQUFDO0lBRUQsTUFBTSxlQUFlLENBQUM7QUFFdkIsQ0FBQyxDQUFDO0FBblBXLFFBQUEsc0JBQXNCLDBCQW1QakMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmltcG9ydCB0eXBlIHtcblx0TW5lbW9uaWNhRXJyb3IsIEluc3RhbmNlQ3JlYXRvckNvbnRleHQgXG59IGZyb20gJy4uLy4uL3R5cGVzJztcblxuaW1wb3J0IHsgY29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzJztcbmNvbnN0IHtcblx0b2RwLFxuXHRNTkVNT05JQ0EsXG59ID0gY29uc3RhbnRzO1xuXG5cbmltcG9ydCB7IEVycm9yc1R5cGVzIH0gZnJvbSAnLi4vLi4vZGVzY3JpcHRvcnMvZXJyb3JzJztcbmNvbnN0IHsgQkFTRV9NTkVNT05JQ0FfRVJST1IgfSA9IEVycm9yc1R5cGVzO1xuXG5pbXBvcnQge1xuXHRjbGVhbnVwU3RhY2ssIGdldFN0YWNrIFxufSBmcm9tICcuLyc7XG5cbmltcG9ydCBUeXBlc1V0aWxzIGZyb20gJy4uL3V0aWxzJztcbmNvbnN0IHsgbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlIH0gPSBUeXBlc1V0aWxzO1xuXG5pbXBvcnQgeyBwYXJzZSB9IGZyb20gJy4uLy4uL3V0aWxzL3BhcnNlJztcbmltcG9ydCB7IHBhcmVudCB9IGZyb20gJy4uLy4uL3V0aWxzL3BhcmVudCc7XG5pbXBvcnQgeyBleHRyYWN0IH0gZnJvbSAnLi4vLi4vdXRpbHMvZXh0cmFjdCc7XG5cbmltcG9ydCB7IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yIH0gZnJvbSAnLi4vdHlwZXMvSW5zdGFuY2VNb2RpZmljYXRvcic7XG5cbmV4cG9ydCBjb25zdCB0aHJvd01vZGlmaWNhdGlvbkVycm9yID0gZnVuY3Rpb24gKCB0aGlzOiBJbnN0YW5jZUNyZWF0b3JDb250ZXh0LCBlcnJvcjogTW5lbW9uaWNhRXJyb3IgKSB7XG5cblx0Ly8gSW5zdGFuY2VDcmVhdG9yXG5cdCBcblx0Y29uc3Qgc2VsZiA9IHRoaXM7XG5cblx0Y29uc3Qge1xuXHRcdFR5cGVOYW1lLFxuXHRcdHR5cGU6IHsgc3RhY2s6IHR5cGVTdGFjayB9LFxuXHRcdGFyZ3Ncblx0fSA9IHNlbGYgYXMgSW5zdGFuY2VDcmVhdG9yQ29udGV4dCAmIHtcblx0XHR0eXBlOiB7IHN0YWNrOiBzdHJpbmdbXSB9XG5cdH07XG5cblx0Ly8gaWYgKCBlcnJvclsgU3ltYm9sQ29uc3RydWN0b3JOYW1lIF0gKSB7XG5cdC8vIFx0ZGVidWdnZXI7XG5cdC8vIH1cblxuXHRjb25zdCBleGNlcHRpb25SZWFzb24gPSBlcnJvci5leGNlcHRpb25SZWFzb24gfHwgZXJyb3I7XG5cblx0aWYgKCBlcnJvci5leGNlcHRpb25SZWFzb24gIT09IHVuZGVmaW5lZCApIHtcblxuXHRcdChlcnJvci5yZWFzb25zIGFzIEVycm9yW10pLnB1c2goIGVycm9yLmV4Y2VwdGlvblJlYXNvbiApO1xuXHRcdChlcnJvci5zdXJwbHVzIGFzIEVycm9yW10pLnB1c2goIGVycm9yICk7XG5cblx0XHR0aHJvdyBlcnJvcjtcblxuXHR9XG5cblx0b2RwKFxuXHRcdGVycm9yLFxuXHRcdCdleGNlcHRpb25SZWFzb24nLFxuXHRcdHtcblx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdHJldHVybiBleGNlcHRpb25SZWFzb247XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXG5cdGNvbnN0IHJlYXNvbnM6IEVycm9yW10gPSBbIGV4Y2VwdGlvblJlYXNvbiBdO1xuXG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQncmVhc29ucycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHJlYXNvbnM7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXHRjb25zdCBzdXJwbHVzOiBFcnJvcltdID0gW107XG5cdG9kcChcblx0XHRlcnJvcixcblx0XHQnc3VycGx1cycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIHN1cnBsdXM7XG5cdFx0XHR9LFxuXHRcdFx0ZW51bWVyYWJsZSA6IHRydWVcblx0XHR9IFxuXHQpO1xuXG5cdHNlbGYuTW9kaWZpY2F0b3JUeXBlID0gbWFrZUVycm9yTW9kaWZpY2F0b3JUeXBlKCBUeXBlTmFtZSApO1xuXG5cdHNlbGYuSW5zdGFuY2VNb2RpZmljYXRvciA9IG1ha2VJbnN0YW5jZU1vZGlmaWNhdG9yKCBzZWxmICk7XG5cblx0Ly8gbGV0IGVycm9yZWRJbnN0YW5jZSA9IG5ldyBzZWxmLkluc3RhbmNlTW9kaWZpY2F0b3IoKTtcblx0Y29uc3QgZXJyb3JlZEluc3RhbmNlID0gbmV3IHNlbGYuSW5zdGFuY2VNb2RpZmljYXRvcigpO1xuXG5cdGxldCBlcnJvclByb3RvOiBvYmplY3QgfCBudWxsID0gUmVmbGVjdC5nZXRQcm90b3R5cGVPZiggZXJyb3JlZEluc3RhbmNlICk7XG5cdGxldCBpc01uZW1vbmljYUluc3RhbmNlID0gZmFsc2U7XG5cdHdoaWxlICggZXJyb3JQcm90byApIHtcblx0XHRjb25zdCB0ZXN0VG9Qcm90byA9IFJlZmxlY3QuZ2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8gKTtcblx0XHRpZiAodGVzdFRvUHJvdG8gPT09IG51bGwpIHtcblx0XHRcdGJyZWFrO1xuXHRcdH1cblx0XHQvLyBpZiAodGVzdFRvUHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUpIHtcblx0XHQvLyBcdGJyZWFrO1xuXHRcdC8vIH1cblx0XHRpZiAoXG5cdFx0XHR0ZXN0VG9Qcm90byAhPT0gbnVsbCAmJlxuXHRcdFx0T2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwoXG5cdFx0XHRcdHRlc3RUb1Byb3RvLFxuXHRcdFx0XHQnY29uc3RydWN0b3InXG5cdFx0XHQpICYmXG5cdFx0XHR0ZXN0VG9Qcm90by5jb25zdHJ1Y3Rvci5uYW1lID09PSBNTkVNT05JQ0Fcblx0XHQpIHtcblx0XHRcdGlzTW5lbW9uaWNhSW5zdGFuY2UgPSB0cnVlO1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXHRcdGVycm9yUHJvdG8gPSB0ZXN0VG9Qcm90bztcblx0fVxuXG5cdC8vIFJlZmxlY3Quc2V0UHJvdG90eXBlT2YoIGVycm9yUHJvdG8sIGVycm9yKTtcblx0Y29uc3QgcmVzdWx0ID0gUmVmbGVjdC5zZXRQcm90b3R5cGVPZihcbiBlcnJvclByb3RvIGFzIG9iamVjdCxcbiBlcnJvclxuXHQpO1xuXHQvLyBsZXQgcmVzdWx0ID0gUmVmbGVjdC5zZXRQcm90b3R5cGVPZiggZXJyb3JQcm90bywgZXJyb3IpO1xuXHQvLyBpZiAocmVzdWx0ID09PSBmYWxzZSkge1xuXHQvLyBcdE9iamVjdC5zZXRQcm90b3R5cGVPZihlcnJvclByb3RvLCBlcnJvcik7XG5cdC8vIFx0Ly8gdW5yZWFjaGFibGVcblx0Ly8gXHRyZXN1bHQgPSB0cnVlO1xuXHQvLyB9XG5cdC8vIGNvbnNvbGUubG9nKHJlc3VsdCk7XG5cblx0Y29uc3Qgc3RhY2s6IHN0cmluZ1tdID0gW107XG5cblx0aWYgKCBlcnJvciBpbnN0YW5jZW9mIEJBU0VfTU5FTU9OSUNBX0VSUk9SICkge1xuXG5cdFx0c3RhY2sucHVzaCggZXJyb3Iuc3RhY2sgYXMgc3RyaW5nICk7XG5cblx0fSBlbHNlIHtcblxuXHRcdGNvbnN0IHRpdGxlID0gYFxcbjwtLSBjcmVhdGlvbiBvZiBbICR7VHlwZU5hbWV9IF0gdHJhY2VkIC0tPmA7XG5cblx0XHRnZXRTdGFjay5jYWxsKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0dGl0bGUsXG5cdFx0XHRbXSxcblx0XHRcdHRocm93TW9kaWZpY2F0aW9uRXJyb3IgXG5cdFx0KTtcblxuXHRcdHN0YWNrLnB1c2goIC4uLihlcnJvcmVkSW5zdGFuY2UgYXMgeyBzdGFjazogc3RyaW5nW10gfSkuc3RhY2sgKTtcblxuXHRcdGNvbnN0IGVycm9yU3RhY2sgPSAoZXJyb3Iuc3RhY2sgYXMgc3RyaW5nICkuc3BsaXQoICdcXG4nICk7XG5cblx0XHRzdGFjay5wdXNoKCAnPC0tIHdpdGggdGhlIGZvbGxvd2luZyBlcnJvciAtLT4nICk7XG5cblx0XHRlcnJvclN0YWNrLmZvckVhY2goICggbGluZTogc3RyaW5nICkgPT4ge1xuXHRcdFx0aWYgKCAhc3RhY2suaW5jbHVkZXMoIGxpbmUgKSApIHtcblx0XHRcdFx0c3RhY2sucHVzaCggbGluZSApO1xuXHRcdFx0fVxuXHRcdH0gKTtcblxuXHRcdHN0YWNrLnB1c2goICdcXG48LS0gb2YgY29uc3RydWN0b3IgZGVmaW5pdGlvbnMgc3RhY2sgLS0+JyApO1xuXHRcdHN0YWNrLnB1c2goIC4uLnR5cGVTdGFjayApO1xuXG5cdH1cblxuXHRjb25zdCBlcnJvcmVkSW5zdGFuY2VTdGFjayA9IGNsZWFudXBTdGFjayggc3RhY2sgKS5qb2luKCAnXFxuJyApO1xuXG5cdC8vIHN0YXJ0aW5nIGZyb20gTm9kZS5qcyB2MjIgd2Ugc2hvdWxkIGRlZmluZSB0aGlzIHByb3BlcnR5IHRocm91Z2ggb2RwXG5cdC8vIHRoYXQgd2FzIHVubmVjZXNzYXJ5IGZvciB2MjAsIHRob3VnaCBzZWVtcyBuZXcgdjggb3B0aW1pemVkIGNvbXBpbGVyXG5cdC8vIGlzIGdhdGhlcmluZyB2YWx1ZSBmcm9tIGRlZXAgY2hhaW4gYW5kIHdoaWxlIGNvbXBhcmluZyBpdCB3aXRoIFxuXHQvLyBhc3NpZ25tZW50IG9wZXJhdG9yLCB0aGVuIGl0IHdpbGwgbm90IGNyZWF0ZSB0aGlzIHByb3BlcnR5IFxuXHQvLyBzbyB3ZSBuZWVkIGRpcmVjdCBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBoZXJlIC4uLlxuXHRvZHAoXG5cdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdCdzdGFjaycsXG5cdFx0e1xuXHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0cmV0dXJuIGVycm9yZWRJbnN0YW5jZVN0YWNrO1xuXHRcdFx0fVxuXHRcdH0gXG5cdCk7XG5cblx0c2VsZi5pbmhlcml0ZWRJbnN0YW5jZSA9IGVycm9yZWRJbnN0YW5jZTtcblxuXHRpZiAocmVzdWx0KSB7XG5cdFx0aWYgKGlzTW5lbW9uaWNhSW5zdGFuY2UpIHtcblxuXHRcdFx0Ly8gaWYgaG9va3MgaGFkIHNvbWUgaW50ZXJjZXB0aW9uOiBzdGFydFxuXHRcdFx0Y29uc3QgcmVzdWx0cyA9IHNlbGYuaW52b2tlUG9zdEhvb2tzKCk7XG5cdFx0XHRjb25zdCB7XG5cdFx0XHRcdHR5cGUsXG5cdFx0XHRcdGNvbGxlY3Rpb24sXG5cdFx0XHR9ID0gcmVzdWx0cztcblx0XHRcdGlmICggdHlwZS5oYXMoIHRydWUgKSB8fCBjb2xsZWN0aW9uLmhhcyggdHJ1ZSApICkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gfVxuXG5cdFx0Ly8gaWYgaG9va3MgaGFkIHNvbWUgaW50ZXJjZXB0aW9uOiBzdG9wXG5cblx0XHRvZHAoXG5cdFx0XHRlcnJvcmVkSW5zdGFuY2UsXG5cdFx0XHQnYXJncycsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGFyZ3M7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdvcmlnaW5hbEVycm9yJyxcblx0XHRcdHtcblx0XHRcdFx0Z2V0ICgpIHtcblx0XHRcdFx0XHRyZXR1cm4gZXJyb3I7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdpbnN0YW5jZScsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGVycm9yZWRJbnN0YW5jZTtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHQpO1xuXG5cdFx0b2RwKFxuXHRcdFx0ZXJyb3JlZEluc3RhbmNlLFxuXHRcdFx0J2V4dHJhY3QnLFxuXHRcdFx0e1xuXHRcdFx0XHRnZXQgKCkge1xuXHRcdFx0XHRcdGNvbnN0IGV4dHJhY3RHZXR0ZXIgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHQvLyBtbmVtb25pY2EgaW5zdGFuY2VzIGFsd2F5cyBoYXZlIGEgcGFyZW50IG9iamVjdCxcblx0XHRcdFx0XHRcdC8vIHNvIHRoZSBydW50aW1lIHZhbHVlIGlzIGd1YXJhbnRlZWQgdG8gYmUgb2JqZWN0IGhlcmVcblx0XHRcdFx0XHRcdGNvbnN0IF9wYXJlbnQgPSBwYXJlbnQoZXJyb3JlZEluc3RhbmNlKSBhcyBvYmplY3Q7XG5cdFx0XHRcdFx0XHRjb25zdCBleHRyYWN0UmVzdWx0ID0gZXh0cmFjdChfcGFyZW50KTtcblx0XHRcdFx0XHRcdHJldHVybiBleHRyYWN0UmVzdWx0O1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0cmV0dXJuIGV4dHJhY3RHZXR0ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH0gXG5cdFx0KTtcblxuXHRcdG9kcChcblx0XHRcdGVycm9yZWRJbnN0YW5jZSxcblx0XHRcdCdwYXJzZScsXG5cdFx0XHR7XG5cdFx0XHRcdGdldCAoKSB7XG5cdFx0XHRcdFx0Y29uc3QgcGFyc2VHZXR0ZXIgPSAoKSA9PiB7XG5cdFx0XHRcdFx0XHRjb25zdCBwYXJzZVJlc3VsdCA9IHBhcnNlKCBlcnJvcmVkSW5zdGFuY2UgKTtcblx0XHRcdFx0XHRcdHJldHVybiBwYXJzZVJlc3VsdDtcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdHJldHVybiBwYXJzZUdldHRlcjtcblx0XHRcdFx0fVxuXHRcdFx0fSBcblx0XHQpO1xuXHR9XG5cblx0dGhyb3cgZXJyb3JlZEluc3RhbmNlO1xuXG59O1xuIl19
|
package/build/api/index.js
CHANGED
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
'use strict';
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.types = exports.hooks = exports.errors = void 0;
|
|
4
37
|
const hooks_1 = require("./hooks");
|
|
5
38
|
const types_1 = require("./types");
|
|
6
|
-
exports.errors = require("./errors");
|
|
39
|
+
exports.errors = __importStar(require("./errors"));
|
|
7
40
|
exports.hooks = {
|
|
8
41
|
invokeHook: hooks_1.invokeHook,
|
|
9
42
|
registerHook: hooks_1.registerHook,
|
|
@@ -13,4 +46,4 @@ exports.types = {
|
|
|
13
46
|
define: types_1.define,
|
|
14
47
|
lookup: types_1.lookup,
|
|
15
48
|
};
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVWIsbUNBSWlCO0FBQ2pCLG1DQUdpQjtBQUVqQixtREFBbUM7QUFFdEIsUUFBQSxLQUFLLEdBQUc7SUFDcEIsVUFBVSxFQUFWLGtCQUFVO0lBQ1YsWUFBWSxFQUFaLG9CQUFZO0lBQ1osbUJBQW1CLEVBQW5CLDJCQUFtQjtDQUNuQixDQUFDO0FBRVcsUUFBQSxLQUFLLEdBQUc7SUFDcEIsTUFBTSxFQUFOLGNBQU07SUFDTixNQUFNLEVBQU4sY0FBTTtDQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIFRPRE8gOlxuXG4vLyBldmVudHNcbi8vIGhhbmRsZXJzXG4vLyBoZWxwZXJzXG4vLyBsb2FkZXJzXG4vLyB0cmFuc2Zvcm1zXG5cbmltcG9ydCB7XG5cdGludm9rZUhvb2ssXG5cdHJlZ2lzdGVySG9vayxcblx0cmVnaXN0ZXJGbG93Q2hlY2tlcixcbn0gZnJvbSAnLi9ob29rcyc7XG5pbXBvcnQge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCAqIGFzIGVycm9ycyBmcm9tICcuL2Vycm9ycyc7XG5cbmV4cG9ydCBjb25zdCBob29rcyA9IHtcblx0aW52b2tlSG9vayxcblx0cmVnaXN0ZXJIb29rLFxuXHRyZWdpc3RlckZsb3dDaGVja2VyLFxufTtcblxuZXhwb3J0IGNvbnN0IHR5cGVzID0ge1xuXHRkZWZpbmUsXG5cdGxvb2t1cCxcbn07XG4iXX0=
|