From c98f04546db96d8affa31e4d30adc7545d5ae7dc Mon Sep 17 00:00:00 2001 From: Alexey Slynko Date: Sun, 5 Jul 2026 14:34:11 +0300 Subject: [PATCH 1/2] Prepare VoliJS-based patch release --- .yarnrc.yml | 1 + ReleaseNotes.md | 8 +- docs/package.json | 6 +- endpoints/README.md | 14 +- endpoints/dist/index.js | 2 +- endpoints/dist/index.js.map | 2 +- endpoints/lib/fetchModel.js | 7 +- endpoints/lib/fetchModel.js.map | 2 +- endpoints/lib/localStorage.d.ts | 3 +- endpoints/lib/localStorage.js | 2 +- endpoints/lib/localStorage.js.map | 2 +- endpoints/lib/memory.d.ts | 2 +- endpoints/lib/memory.js.map | 2 +- endpoints/lib/proxy.d.ts | 2 +- endpoints/lib/proxy.js | 4 +- endpoints/lib/proxy.js.map | 2 +- endpoints/lib/restful.d.ts | 6 +- endpoints/lib/restful.js | 6 +- endpoints/lib/restful.js.map | 2 +- endpoints/package.json | 17 +- endpoints/src/restful.ts | 16 +- endpoints/tsconfig.json | 3 +- examples/checklistTree/package.json | 4 +- examples/js-starter/package.json | 4 +- examples/todomvc/package.json | 4 +- examples/ts-starter/package.json | 4 +- examples/userslist/package.json | 5 +- ext-types/dist/index.js | 2 +- ext-types/dist/index.js.map | 2 +- ext-types/lib/dates.js | 2 +- ext-types/lib/dates.js.map | 2 +- ext-types/package.json | 14 +- ext-types/tsconfig.json | 3 +- globals/dist/index.js.map | 2 +- globals/lib/index.js.map | 2 +- globals/package.json | 16 +- globals/tsconfig.json | 3 +- index.html | 24 +- mixture/README.md | 4 +- mixture/dist/index.js | 2 +- mixture/dist/index.js.map | 2 +- mixture/lib/events.d.ts | 6 +- mixture/lib/events.js.map | 2 +- mixture/lib/eventsource.d.ts | 2 +- mixture/lib/eventsource.js.map | 2 +- mixture/lib/index.d.ts | 2 +- mixture/lib/logging.d.ts | 4 +- mixture/lib/logging.js | 8 +- mixture/lib/logging.js.map | 2 +- mixture/lib/mixins.d.ts | 4 +- mixture/lib/mixins.js.map | 2 +- mixture/lib/tools.d.ts | 2 +- mixture/lib/tools.js.map | 2 +- mixture/package.json | 9 +- mixture/src/logging.ts | 4 +- mixture/tsconfig.json | 3 +- models/dist/index.js | 2 +- models/dist/index.js.map | 2 +- models/lib/collection/add.js.map | 2 +- models/lib/collection/arrayMethods.d.ts | 2 +- models/lib/collection/arrayMethods.js.map | 2 +- models/lib/collection/commons.d.ts | 4 +- models/lib/collection/commons.js.map | 2 +- models/lib/collection/index.d.ts | 19 +- models/lib/collection/index.js | 8 +- models/lib/collection/index.js.map | 2 +- models/lib/collection/remove.js.map | 2 +- models/lib/collection/set.js.map | 2 +- models/lib/index.js.map | 2 +- models/lib/io-tools.d.ts | 2 +- models/lib/io-tools.js.map | 2 +- models/lib/model/attrDef.d.ts | 16 +- models/lib/model/attrDef.js | 12 +- models/lib/model/attrDef.js.map | 2 +- models/lib/model/define.d.ts | 12 +- models/lib/model/define.js.map | 2 +- models/lib/model/index.js.map | 2 +- models/lib/model/io-mixin.js.map | 2 +- models/lib/model/linked-attrs.d.ts | 5 +- models/lib/model/linked-attrs.js | 28 +- models/lib/model/linked-attrs.js.map | 2 +- models/lib/model/metatypes/any.d.ts | 14 +- models/lib/model/metatypes/any.js | 4 +- models/lib/model/metatypes/any.js.map | 2 +- models/lib/model/metatypes/basic.js.map | 2 +- models/lib/model/metatypes/date.js.map | 2 +- models/lib/model/metatypes/owned.js.map | 2 +- models/lib/model/metatypes/shared.js.map | 2 +- models/lib/model/mixin.js.map | 2 +- models/lib/model/model.d.ts | 13 +- models/lib/model/model.js | 14 +- models/lib/model/model.js.map | 2 +- models/lib/model/updates.d.ts | 4 +- models/lib/model/updates.js | 10 +- models/lib/model/updates.js.map | 2 +- models/lib/relations/commons.d.ts | 2 +- models/lib/relations/commons.js.map | 2 +- models/lib/relations/from.js.map | 2 +- models/lib/relations/store.d.ts | 3 +- models/lib/relations/store.js | 2 +- models/lib/relations/store.js.map | 2 +- models/lib/relations/subsetOf.d.ts | 2 +- models/lib/relations/subsetOf.js | 4 +- models/lib/relations/subsetOf.js.map | 2 +- models/lib/transactions.d.ts | 2 +- models/lib/transactions.js | 4 +- models/lib/transactions.js.map | 2 +- models/lib/traversable.d.ts | 2 +- models/lib/traversable.js | 6 +- models/lib/traversable.js.map | 2 +- models/lib/validation.js.map | 2 +- models/package.json | 10 +- models/src/collection/index.ts | 2 +- models/src/model/linked-attrs.ts | 18 +- models/src/model/updates.ts | 4 +- models/src/transactions.ts | 2 +- models/tsconfig.json | 3 +- package.json | 4 +- react/dist/index.js | 2 +- react/dist/index.js.map | 2 +- react/lib/globalState.d.ts | 1 - react/lib/pureRender.js | 18 +- react/lib/pureRender.js.map | 2 +- react/lib/state.js.map | 2 +- react/package.json | 10 +- react/tsconfig.json | 3 +- tests/io.test.ts | 43 +- tests/package.json | 20 +- tests/primitives.test.ts | 14 +- tests/reported-bugs.test.ts | 20 +- tests/tsconfig.json | 4 +- tsconfig.json | 7 +- yarn.lock | 17512 +++++++++++++------- 133 files changed, 11574 insertions(+), 6649 deletions(-) create mode 100644 .yarnrc.yml diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 00000000..3186f3f0 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 827fafd0..241ffd67 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -72,14 +72,14 @@ construct from object/array | - | `RecordOrCollectionClass.from( json, options? Starting from version 3.X, Type-R does not modify built-in global JS objects. New `type(T)` attribute definition notation is introduced to replace `T.has.` -There's `type-r/globals` package for compatibility with version 2.x which must be imported once with `import 'type-r/globals'`. +There's `@type-r/globals` package for compatibility with version 2.x which must be imported once with `import '@type-r/globals'`. If this package is not used, the code must be refactored according to the rules below. | 2.x | 3.x -|-|- -UNIX Timestamp | `Date.timestamp` | `import { Timestamp } from 'type-r/ext-types'` -Microsoft date | `Date.microsoft` | `import { MicrosoftDate } from 'type-r/ext-types'` -Integer | `Integer` and `Number.integer` | `import { Integer } from 'type-r/ext-types'` +UNIX Timestamp | `Date.timestamp` | `import { Timestamp } from '@type-r/ext-types'` +Microsoft date | `Date.microsoft` | `import { MicrosoftDate } from '@type-r/ext-types'` +Integer | `Integer` and `Number.integer` | `import { Integer } from '@type-r/ext-types'` Create metatype from constructor | `Ctor.has` | `type(Ctor)` Typed attribute with default value | `Ctor.value(default)` | `type(Ctor).value(default)` Attribute "Required" check | `Ctor.isRequired` | `type(Ctor).required` diff --git a/docs/package.json b/docs/package.json index cab8813e..48cb9587 100644 --- a/docs/package.json +++ b/docs/package.json @@ -3,12 +3,12 @@ "name": "@type-r/docs", "version": "4.0.0", "scripts": { - "build" : "node build.js" + "build": "node build.js" }, "dependencies": { "handlebars": "*", "highlight.js": "*", "jest": "*", - "marked": "^0.3.0" + "marked": "^0.3.0" } -} \ No newline at end of file +} diff --git a/endpoints/README.md b/endpoints/README.md index 3bd6ee33..ed0bd5d1 100644 --- a/endpoints/README.md +++ b/endpoints/README.md @@ -41,7 +41,7 @@ All I/O methods append an optional `options.params` object to the URL parameters Supports URI relative to owner (`./relative/url` resolves as `/owner/:id/relative/url/:id` ). ```javascript -import { restfulIO } from 'type-r/endpoints/restful' +import { restfulIO } from '@type-r/endpoints' @define class Role extends Model { static endpoint = restfulIO( '/api/roles' ); @@ -64,7 +64,7 @@ import { restfulIO } from 'type-r/endpoints/restful' Endpoint for mock testing. Takes optional array with mock data, and optional `delay` parameter which is the simulated I/O delay in milliseconds. ```javascript -import { memoryIO } from 'type-r/endpoints/memory' +import { memoryIO } from '@type-r/endpoints' @define class User extends Model { static endpoint = memoryIO(); @@ -77,7 +77,7 @@ import { memoryIO } from 'type-r/endpoints/memory' Endpoint for localStorage. Takes `key` parameter which must be unique for the persistent model's collection. ```javascript -import { localStorageIO } from 'type-r/endpoints/localStorage' +import { localStorageIO } from '@type-r/endpoints' @define class User extends Model { static endpoint = localStorageIO( '/users' ); @@ -92,7 +92,7 @@ Endpoint for I/O composition. Redirects model's `fetch()` request to its attribu It's common pattern to use attributesIO endpoint in conjunction with Store to fetch all the data required by SPA page. ```javascript -import { localStorageIO } from 'type-r/endpoints/attributes' +import { attributesIO } from '@type-r/endpoints' @define class PageStore extends Store { static endpoint = attributesIO(); @@ -116,7 +116,7 @@ an existing Model subclass as a transport. This endpoint can be connected to the An advantage of this approach is that JSON schema will be transparently validated on the server side by the Type-R. ```javascript - import { proxyIO } from 'type-r/endpoint/proxy' + import { proxyIO } from '@type-r/endpoints' ... @@ -178,7 +178,7 @@ Service function to create an abortable version of ES6 promise (with `promise.ab `init` function takes the third `onAbort` argument to register an optional abort handler. If no handler is registered, the default implementation of `promise.abort()` will just reject the promise. ```javascript -import { createIOPromise } from 'type-r' +import { createIOPromise } from '@type-r/models' const abortablePromise = createIOPromise( ( resolve, reject, onAbort ) =>{ ... @@ -186,4 +186,4 @@ const abortablePromise = createIOPromise( ( resolve, reject, onAbort ) =>{ reject( 'I/O Aborted' ); }); }); -``` \ No newline at end of file +``` diff --git a/endpoints/dist/index.js b/endpoints/dist/index.js index f558cc44..4096a942 100644 --- a/endpoints/dist/index.js +++ b/endpoints/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@type-r/models")):"function"==typeof define&&define.amd?define(["exports","@type-r/models"],e):e((t=t||self).restfulIO={},t.Nested)}(this,function(t,s){"use strict";var r=function(t,e){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var u=function(){return(u=Object.assign||function(t){for(var e,r=1,n=arguments.length;rs[0]&&e[1]u[0]&&e[1]= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { IOEndpoint, IOPromise, createIOPromise } from '@type-r/models'\r\n\r\ntype Index = ( number | string )[];\r\n\r\nexport function memoryIO( init = [], delay = 50 ){\r\n return new MemoryEndpoint( init, delay );\r\n}\r\n\r\nexport class MemoryEndpoint implements IOEndpoint {\r\n resolve( value ){\r\n return createIOPromise( ( resolve, reject ) => {\r\n setTimeout( () => resolve( value ), this.delay );\r\n });\r\n }\r\n \r\n reject( value ){\r\n return createIOPromise( ( resolve, reject ) => {\r\n setTimeout( () => reject( value ), this.delay );\r\n });\r\n }\r\n\r\n constructor( init : object[], public delay : number ){\r\n for( let obj of init ){\r\n this.create( obj, {} );\r\n }\r\n }\r\n\r\n index : Index = [ 0 ];\r\n items = {};\r\n\r\n generateId( a_id ){\r\n // Update index counter...\r\n const id = Number( a_id );\r\n if( !isNaN( id ) ){\r\n this.index[ 0 ] = Math.max( this.index[ 0 ] as number, id );\r\n }\r\n\r\n // Return id...\r\n return a_id || String( ( this.index[ 0 ] as number ) ++ );\r\n }\r\n\r\n create( json, options ) {\r\n const id = json.id = this.generateId( json.id );\r\n this.index.push( id );\r\n this.items[ id ] = json;\r\n return this.resolve({ id });\r\n }\r\n\r\n update( id, json, options ) {\r\n this.items[ id ] = json;\r\n return this.resolve( {} );\r\n }\r\n\r\n read( id, options ){\r\n const existing = this.items[ id ];\r\n return existing ?\r\n this.resolve( existing ) : \r\n this.reject( \"Not found\" );\r\n }\r\n\r\n destroy( id, options ){\r\n const existing = this.items[ id ];\r\n if( existing ){\r\n delete this.items[ id ];\r\n this.index = this.index.filter( x => x !== id );\r\n return this.resolve( {} );\r\n }\r\n else{\r\n return this.reject( \"Not found\" );\r\n }\r\n }\r\n\r\n list( options? : object ) {\r\n return this.resolve( this.index.slice( 1 ).map( id => this.items[ id ]) );\r\n }\r\n\r\n subscribe( events ) : any {}\r\n unsubscribe( events) : any {}\r\n}","import { IOEndpoint, IOOptions, Model, Collection, log, isProduction, Transactional } from '@type-r/models'\r\nimport { memoryIO, MemoryEndpoint } from './memory'\r\n\r\nexport type UrlTemplate = ( options : any, model? : any ) => string\r\n\r\nexport function create( url : string | UrlTemplate, fetchOptions? : Partial ){\r\n return new RestfulEndpoint( url, fetchOptions );\r\n}\r\n\r\nexport { create as restfulIO }\r\n\r\nexport type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'\r\n\r\nexport interface RestfulIOOptions extends IOOptions {\r\n params? : object,\r\n options? : RequestInit\r\n}\r\n\r\nexport type RestfulFetchOptions = /* subset of RequestInit */{\r\n cache?: RequestCache;\r\n credentials?: RequestCredentials;\r\n mode?: RequestMode;\r\n redirect?: RequestRedirect;\r\n referrerPolicy?: ReferrerPolicy;\r\n mockData? : any\r\n simulateDelay? : number \r\n}\r\n\r\nexport class RestfulEndpoint implements IOEndpoint {\r\n constructor( public url : string | UrlTemplate, { mockData, simulateDelay = 1000, ...fetchOptions } : RestfulFetchOptions = {}) {\r\n this.fetchOptions = fetchOptions\r\n this.memoryIO = mockData && !isProduction ? memoryIO( mockData, simulateDelay ) : null;\r\n\r\n if( mockData && isProduction ){\r\n log( 'error', 'Type-R:RestfulIO', `Mock data is used in production for ${url}`);\r\n }\r\n }\r\n\r\n fetchOptions : RestfulFetchOptions\r\n memoryIO : MemoryEndpoint\r\n\r\n public static defaultFetchOptions : RestfulFetchOptions = {\r\n cache: \"no-cache\",\r\n credentials: \"same-origin\",\r\n mode: \"cors\",\r\n redirect: \"error\",\r\n }\r\n\r\n create( json, options : RestfulIOOptions, model ) {\r\n const url = this.collectionUrl( model, options );\r\n return this.memoryIO ?\r\n this.simulateIO( 'create', 'POST', url, arguments ) :\r\n this.request( 'POST', url, options, json );\r\n }\r\n\r\n update( id, json, options : RestfulIOOptions, model ) {\r\n const url = this.objectUrl( model, id, options )\r\n return this.memoryIO ?\r\n this.simulateIO( 'update', 'PUT', url, arguments ) :\r\n this.request( 'PUT', url, options, json );\r\n }\r\n\r\n read( id, options : IOOptions, model ){\r\n const url = this.objectUrl( model, id, options );\r\n return this.memoryIO ?\r\n this.simulateIO( 'read', 'GET', url, arguments ) :\r\n this.request( 'GET', url, options );\r\n }\r\n\r\n destroy( id, options : RestfulIOOptions, model ){\r\n const url = this.objectUrl( model, id, options );\r\n return this.memoryIO ?\r\n this.simulateIO( 'destroy', 'DELETE', url, arguments ) :\r\n this.request( 'DELETE', url, options );\r\n }\r\n\r\n list( options : RestfulIOOptions, collection ) {\r\n const url = this.collectionUrl( collection, options );\r\n return this.memoryIO ?\r\n this.simulateIO( 'list', 'GET', url, arguments ) :\r\n this.request( 'GET', url , options );\r\n }\r\n\r\n subscribe( events ) : any {}\r\n unsubscribe( events ) : any {}\r\n\r\n async simulateIO( method : string, httpMethod : string, url : string, args ){\r\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `${httpMethod} ${url}`);\r\n return this.memoryIO[ method ].apply( this.memoryIO, args );\r\n }\r\n\r\n protected objectUrl( model : Transactional, id : string, options : RestfulIOOptions = {} ){\r\n return UrlBuilder\r\n .from( this.url, model, options )\r\n .modelId( model )\r\n .params( options.params )\r\n .toString()\r\n }\r\n\r\n protected collectionUrl( collection : Transactional, options : RestfulIOOptions = {} ){\r\n return UrlBuilder\r\n .from( this.url, collection, options )\r\n .params( options.params )\r\n .toString()\r\n }\r\n\r\n protected buildRequestOptions( method : string, options? : RequestInit, body? ) : RequestInit {\r\n const mergedOptions : RequestInit = {\r\n ...RestfulEndpoint.defaultFetchOptions,\r\n ...this.fetchOptions,\r\n ...options\r\n };\r\n\r\n const {headers, ...rest} = mergedOptions,\r\n resultOptions : RequestInit = {\r\n method,\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n ...headers\r\n },\r\n ...rest\r\n };\r\n\r\n if( body ) {\r\n resultOptions.body = JSON.stringify( body );\r\n }\r\n return resultOptions;\r\n }\r\n\r\n protected request( method : HttpMethod, url : string, {options} : RestfulIOOptions, body? ) : Promise {\r\n return fetch( url, this.buildRequestOptions( method, options, body ) )\r\n .then( response => {\r\n if( response.ok ) {\r\n return response.json()\r\n } else {\r\n throw new Error( response.statusText )\r\n }\r\n } );\r\n }\r\n}\r\n\r\nexport class UrlBuilder {\r\n static from( url : string | UrlTemplate, object : Transactional, options : RestfulIOOptions = {} ){\r\n // Resolve URL template \r\n let rootUrl = typeof url === 'function' ?\r\n url( options, object instanceof Model ? object : null )\r\n : url;\r\n \r\n // Resolve relative URL\r\n if( rootUrl.indexOf( './' ) === 0 ){\r\n const owner = object.getOwner() as Model,\r\n ownerUrl = ( owner.getEndpoint() as any ).objectUrl( owner, options );\r\n \r\n rootUrl = removeTrailingSlash( ownerUrl ) + '/' + rootUrl.substr( 2 )\r\n }\r\n\r\n return new UrlBuilder( rootUrl );\r\n }\r\n\r\n constructor( private url : string ){}\r\n\r\n modelId( model : Transactional ){\r\n return model instanceof Model && !model.isNew()\r\n ? this.append( model.id )\r\n : this;\r\n }\r\n\r\n append( id : string ){\r\n return new UrlBuilder( removeTrailingSlash( this.url ) + '/' + id );\r\n }\r\n\r\n params( params : object ){\r\n var esc = encodeURIComponent;\r\n return params ?\r\n new UrlBuilder(\r\n this.url + '?' + Object.keys( params )\r\n .map( k => esc( k ) + '=' + esc( params[ k ] ) )\r\n .join( '&' )\r\n ):\r\n this;\r\n }\r\n\r\n toString(){\r\n return this.url;\r\n }\r\n}\r\n\r\nfunction removeTrailingSlash( url : string ) {\r\n const endsWithSlash = url.charAt( url.length - 1 ) === '/';\r\n return endsWithSlash ? url.substr( 0, url.length - 1 ) : url;\r\n}","import { define, isProduction, log, Model } from '@type-r/models';\r\nimport { HttpMethod, RestfulEndpoint, RestfulFetchOptions, RestfulIOOptions, UrlTemplate } from './restful';\r\n\r\n/**\r\n * Implement custom model.fetch() according to the given rules.\r\n * All other I/O methods are not supported, this is read-only model.\r\n * \r\n * @param method HTTP Method to use\r\n * @param url template function to generate the URL\r\n * @param options options coming from `model.fetch( options )`\r\n */\r\nexport function fetchModelIO( method : HttpMethod, url : string | UrlTemplate, options? : RestfulFetchOptions ){\r\n return new ModelFetchEndpoint( method, url, options );\r\n}\r\n\r\nfunction notSupported( method ){\r\n throw new ReferenceError( `Method ${method} is not supported. modelFetchIO supports only model.fetch().` );\r\n} \r\n\r\n@define class ModelFetchEndpoint extends RestfulEndpoint {\r\n constructor(\r\n public method : HttpMethod,\r\n public url : string | UrlTemplate,\r\n { mockData, ...options } : RestfulFetchOptions = {}\r\n ){\r\n super( '', mockData ? { mockData : [ mockData ], ...options } : options );\r\n }\r\n\r\n async list(){ notSupported( 'collection.fetch()') }\r\n async destroy(){ notSupported( 'model.destroy()') }\r\n async create(){ notSupported( 'model.save()') }\r\n async update(){ notSupported( 'model.save()') }\r\n\r\n async read( id, options : RestfulIOOptions, model : Model ){\r\n const url = this.collectionUrl( model, options );\r\n\r\n if( this.memoryIO ){\r\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `GET ${url}`);\r\n return ( await this.memoryIO.list( options ) )[ 0 ];\r\n }\r\n else{\r\n return this.request( this.method, url, options );\r\n }\r\n }\r\n}","import { IOEndpoint, Record } from '@type-r/models';\r\n\r\nconst parseOptions = { parse : true, strict : true };\r\n\r\nexport function proxyIO( record : typeof Record, options : ProxyIOOptions = {} ){\r\n return new ProxyEndpoint( record, options );\r\n}\r\n\r\nexport interface ProxyIOOptions {\r\n createAttrs? : string\r\n updateAttrs? : string\r\n}\r\n\r\nexport interface ProxyIOInternalOptions {\r\n createAttrs? : string[]\r\n updateAttrs? : string[]\r\n}\r\n\r\n\r\nexport class ProxyEndpoint implements IOEndpoint {\r\n Record : typeof Record\r\n get endpoint(){\r\n return ( this.Record.prototype as any )._endpoint;\r\n }\r\n\r\n options : ProxyIOInternalOptions = {}\r\n\r\n constructor( record : typeof Record, options : ProxyIOOptions = {} ){\r\n this.Record = record;\r\n\r\n if( options.createAttrs ){\r\n this.options.createAttrs = options.createAttrs.split( /\\s+/ );\r\n }\r\n\r\n if( options.updateAttrs ){\r\n this.options.updateAttrs = options.updateAttrs.split( /\\s+/ );\r\n }\r\n\r\n // Create proxy methods...\r\n const source = Object.getPrototypeOf( this.endpoint );\r\n\r\n Object.keys( source ).forEach( key => {\r\n if( !this[ key ] && typeof source[ key ] === 'function' ){\r\n this[ key ] = function(){\r\n return source[ key ].apply( this.endpoint, arguments );\r\n }\r\n }\r\n });\r\n }\r\n\r\n async subscribe( events, target ){\r\n return this.endpoint.subscribe( events, target );\r\n }\r\n\r\n unsubscribe( events, target ){\r\n this.endpoint.unsubscribe( events, target );\r\n }\r\n\r\n async list( options ){\r\n const coll = new this.Record.Collection();\r\n await coll.fetch( options );\r\n return coll.toJSON();\r\n }\r\n\r\n async update( id, json, options ){\r\n json.id = id;\r\n const doc : any = this.Record.from( json, parseOptions );\r\n await doc.save( options );\r\n const res = { _cas : doc._cas };\r\n\r\n fillAttrs( res, doc, this.options.updateAttrs );\r\n \r\n return res;\r\n }\r\n\r\n async create( json, options ){\r\n const doc : any = this.Record.from( json, parseOptions );\r\n await doc.save( options );\r\n const res = { id : doc.id, _cas : doc._cas, _type : doc._type };\r\n \r\n fillAttrs( res, doc, this.options.createAttrs );\r\n \r\n return res;\r\n }\r\n\r\n async read( id, options : object ){\r\n const doc = new this.Record({ id });\r\n await doc.fetch( options );\r\n return doc.toJSON();\r\n }\r\n\r\n async destroy( id : string, options : object ){\r\n return this.endpoint.destroy( id, options )\r\n }\r\n}\r\n\r\nfunction fillAttrs( res : object, doc : Record, attrs : string[] ){\r\n if( attrs ){\r\n const json = doc.toJSON();\r\n for( let key of attrs ){\r\n res[ key ] = json[ key ];\r\n }\r\n }\r\n}","import { IOEndpoint, IOOptions, IOPromise, createIOPromise } from '@type-r/models'\r\n\r\nexport function localStorageIO( key : string ){\r\n return new LocalStorageEndpoint( key );\r\n}\r\n\r\nexport class LocalStorageEndpoint implements IOEndpoint {\r\n constructor( public key : string ){\r\n }\r\n\r\n resolve( value ){\r\n return createIOPromise( ( resolve, reject ) => {\r\n setTimeout( () =>{\r\n resolve( value )\r\n }, 0 );\r\n });\r\n }\r\n \r\n reject( value ){\r\n return createIOPromise( ( resolve, reject ) => {\r\n setTimeout( () => reject( value ), 0 );\r\n });\r\n }\r\n\r\n create( json, options : IOOptions ) {\r\n const { index } = this;\r\n index.push( json.id = String( ( index[ 0 ] as number )++ ) );\r\n this.index = index;\r\n this.set( json );\r\n return this.resolve({ id : json.id });\r\n }\r\n\r\n set( json ){\r\n localStorage.setItem( this.key + '#' + json.id, JSON.stringify( json ) );\r\n }\r\n\r\n get( id ){\r\n return JSON.parse( localStorage.getItem( this.key + '#' + id ) );\r\n }\r\n\r\n update( id, json, options : IOOptions ) {\r\n json.id = id;\r\n this.set( json );\r\n return this.resolve( {} );\r\n }\r\n\r\n read( id, options : IOOptions ){\r\n const existing = this.get( id );\r\n return existing ?\r\n this.resolve( existing ) : \r\n this.reject( \"Not found\" );\r\n }\r\n\r\n destroy( id, options : IOOptions ){\r\n const existing = this.get( id );\r\n if( existing ){\r\n localStorage.removeItem( this.key + '#' + id );\r\n this.index = this.index.filter( x => x !== id );\r\n return this.resolve( {} );\r\n }\r\n else{\r\n return this.reject( \"Not found\" );\r\n }\r\n }\r\n\r\n get index() : ( string | number )[]{\r\n return JSON.parse( localStorage.getItem( this.key ) ) || [ 0 ];\r\n }\r\n\r\n set index( x ){\r\n localStorage.setItem( this.key, JSON.stringify( x ) );\r\n }\r\n\r\n list( options? : IOOptions ) {\r\n const { index } = this; \r\n return this.resolve( this.index.slice( 1 ).map( id => this.get( id ) ) );\r\n }\r\n\r\n subscribe( events ) : any {}\r\n unsubscribe( events) : any {}\r\n}","import { IOEndpoint, IOOptions, IOPromise } from '@type-r/models'\r\n\r\nexport function attributesIO(){\r\n return new AttributesEndpoint();\r\n}\r\n\r\nexport class AttributesEndpoint implements IOEndpoint {\r\n create( json, options : IOOptions ) : IOPromise {\r\n throw new Error( 'Method is not supported.' ); \r\n }\r\n\r\n update( id, json, options : IOOptions ) : IOPromise {\r\n throw new Error( 'Method is not supported.' ); \r\n }\r\n\r\n read( id, options : IOOptions, record ) : IOPromise {\r\n const names = record.keys().filter( name => record[ name ] && record[ name ].fetch ),\r\n promises = names.map( name => record[ name ].fetch( options ) ),\r\n promise : IOPromise = Promise.all( promises ).then( () => {} );\r\n\r\n promise.abort = function(){\r\n promises.forEach( x => x.abort && x.abort() );\r\n }\r\n\r\n return promise;\r\n }\r\n\r\n destroy( id, options : IOOptions ) : IOPromise {\r\n throw new Error( 'Method is not supported.' ); \r\n }\r\n\r\n list( options? : IOOptions ) : IOPromise {\r\n throw new Error( 'Method is not supported.' );\r\n }\r\n\r\n subscribe( events ) : any {}\r\n unsubscribe( events) : any {}\r\n}\r\n\r\ndeclare var Promise;"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","adopt","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","memoryIO","init","delay","MemoryEndpoint","createIOPromise","setTimeout","_this","a_id","id","Number","isNaN","index","Math","max","String","json","options","generateId","items","existing","filter","x","slice","map","events","init_1","_i","obj","create","url","fetchOptions","RestfulEndpoint","model","collectionUrl","simulateIO","request","objectUrl","collection","method","httpMethod","args","log","isProduction","UrlBuilder","from","modelId","params","toString","mergedOptions","defaultFetchOptions","headers","rest","resultOptions","Content-Type","JSON","stringify","_a","fetch","buildRequestOptions","response","ok","Error","statusText","cache","credentials","mode","redirect","mockData","_b","simulateDelay","object","rootUrl","Model","owner","getOwner","removeTrailingSlash","getEndpoint","substr","isNew","append","esc","encodeURIComponent","keys","k","join","charAt","notSupported","ReferenceError","__","ModelFetchEndpoint","list","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","define","constructor","_super","parseOptions","parse","strict","ProxyEndpoint","Record","_endpoint","endpoint","subscribe","unsubscribe","coll","Collection","toJSON","doc","save","fillAttrs","res","_cas","updateAttrs","_type","createAttrs","destroy","record","split","source","getPrototypeOf","forEach","attrs","attrs_1","LocalStorageEndpoint","set","localStorage","setItem","getItem","get","removeItem","AttributesEndpoint","promises","name","promise","all","abort"],"mappings":"4PAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IASrB,IAAIO,EAAW,WAQlB,OAPAA,EAAWN,OAAOO,QAAU,SAAkBC,GAC1C,IAAK,IAAIC,EAAGC,EAAI,EAAGC,EAAIC,UAAUC,OAAQH,EAAIC,EAAGD,IAE5C,IAAK,IAAIN,KADTK,EAAIG,UAAUF,GACOV,OAAOc,UAAUT,eAAeU,KAAKN,EAAGL,KAAII,EAAEJ,GAAKK,EAAEL,IAE9E,OAAOI,IAEKQ,MAAMC,KAAML,YAGzB,SAASM,EAAOT,EAAGU,GACtB,IAAIX,EAAI,GACR,IAAK,IAAIJ,KAAKK,EAAOT,OAAOc,UAAUT,eAAeU,KAAKN,EAAGL,IAAMe,EAAEC,QAAQhB,GAAK,IAC9EI,EAAEJ,GAAKK,EAAEL,IACb,GAAS,MAALK,GAAqD,mBAAjCT,OAAOqB,sBACtB,CAAA,IAAIX,EAAI,EAAb,IAAgBN,EAAIJ,OAAOqB,sBAAsBZ,GAAIC,EAAIN,EAAES,OAAQH,IAC3DS,EAAEC,QAAQhB,EAAEM,IAAM,GAAKV,OAAOc,UAAUQ,qBAAqBP,KAAKN,EAAGL,EAAEM,MACvEF,EAAEJ,EAAEM,IAAMD,EAAEL,EAAEM,KAE1B,OAAOF,EAkBJ,SAASe,EAAUC,EAASC,EAAYC,EAAGC,GAE9C,OAAO,IAAWD,EAANA,GAAUE,SAAU,SAAUC,EAASC,GAC/C,SAASC,EAAUC,GAAS,IAAMC,EAAKN,EAAUO,KAAKF,IAAW,MAAOb,GAAKW,EAAOX,IACpF,SAASgB,EAASH,GAAS,IAAMC,EAAKN,EAAiB,MAAEK,IAAW,MAAOb,GAAKW,EAAOX,IACvF,SAASc,EAAKG,GAAUA,EAAOC,KAAOR,EAAQO,EAAOJ,OAJzD,SAAeA,GAAS,OAAOA,aAAiBN,EAAIM,EAAQ,IAAIN,EAAE,SAAUG,GAAWA,EAAQG,KAI7BM,CAAMF,EAAOJ,OAAOO,KAAKR,EAAWI,GAClGF,GAAMN,EAAYA,EAAUX,MAAMQ,EAASC,GAAc,KAAKS,UAI/D,SAASM,EAAYhB,EAASiB,GACjC,IAAsGC,EAAGC,EAAGnC,EAAGoC,EAA3GC,EAAI,CAAEC,MAAO,EAAGC,KAAM,WAAa,GAAW,EAAPvC,EAAE,GAAQ,MAAMA,EAAE,GAAI,OAAOA,EAAE,IAAOwC,KAAM,GAAIC,IAAK,IAChG,OAAOL,EAAI,CAAEV,KAAMgB,EAAK,GAAIC,MAASD,EAAK,GAAIE,OAAUF,EAAK,IAAwB,mBAAXG,SAA0BT,EAAES,OAAOC,UAAY,WAAa,OAAOrC,OAAU2B,EACvJ,SAASM,EAAKvC,GAAK,OAAO,SAAU4C,GAAK,OACzC,SAAcC,GACV,GAAId,EAAG,MAAM,IAAIe,UAAU,mCAC3B,KAAOZ,GAAG,IACN,GAAIH,EAAI,EAAGC,IAAMnC,EAAY,EAARgD,EAAG,GAASb,EAAU,OAAIa,EAAG,GAAKb,EAAS,SAAOnC,EAAImC,EAAU,SAAMnC,EAAEO,KAAK4B,GAAI,GAAKA,EAAET,SAAW1B,EAAIA,EAAEO,KAAK4B,EAAGa,EAAG,KAAKnB,KAAM,OAAO7B,EAE3J,OADImC,EAAI,EAAGnC,IAAGgD,EAAK,CAAS,EAARA,EAAG,GAAQhD,EAAEwB,QACzBwB,EAAG,IACP,KAAK,EAAG,KAAK,EAAGhD,EAAIgD,EAAI,MACxB,KAAK,EAAc,OAAXX,EAAEC,QAAgB,CAAEd,MAAOwB,EAAG,GAAInB,MAAM,GAChD,KAAK,EAAGQ,EAAEC,QAASH,EAAIa,EAAG,GAAIA,EAAK,CAAC,GAAI,SACxC,KAAK,EAAGA,EAAKX,EAAEI,IAAIS,MAAOb,EAAEG,KAAKU,MAAO,SACxC,QACI,KAAkBlD,EAAe,GAA3BA,EAAIqC,EAAEG,MAAYnC,QAAcL,EAAEA,EAAEK,OAAS,MAAkB,IAAV2C,EAAG,IAAsB,IAAVA,EAAG,IAAW,CAAEX,EAAI,EAAG,SACjG,GAAc,IAAVW,EAAG,MAAchD,GAAMgD,EAAG,GAAKhD,EAAE,IAAMgD,EAAG,GAAKhD,EAAE,IAAM,CAAEqC,EAAEC,MAAQU,EAAG,GAAI,MAC9E,GAAc,IAAVA,EAAG,IAAYX,EAAEC,MAAQtC,EAAE,GAAI,CAAEqC,EAAEC,MAAQtC,EAAE,GAAIA,EAAIgD,EAAI,MAC7D,GAAIhD,GAAKqC,EAAEC,MAAQtC,EAAE,GAAI,CAAEqC,EAAEC,MAAQtC,EAAE,GAAIqC,EAAEI,IAAIU,KAAKH,GAAK,MACvDhD,EAAE,IAAIqC,EAAEI,IAAIS,MAChBb,EAAEG,KAAKU,MAAO,SAEtBF,EAAKf,EAAK1B,KAAKS,EAASqB,GAC1B,MAAO1B,GAAKqC,EAAK,CAAC,EAAGrC,GAAIwB,EAAI,UAAeD,EAAIlC,EAAI,EACtD,GAAY,EAARgD,EAAG,GAAQ,MAAMA,EAAG,GAAI,MAAO,CAAExB,MAAOwB,EAAG,GAAKA,EAAG,QAAK,EAAQnB,MAAM,GArB9BJ,CAAK,CAACtB,EAAG4C,eC5E7CK,EAAUC,EAAWC,GACjC,oBADsBD,mBAAWC,MAC1B,IAAIC,EAAgBF,EAAMC,UAIjCC,oBAAA,SAAS/B,GAAT,WACI,OAAOgC,kBAAiB,SAAEnC,EAASC,GAC/BmC,WAAY,WAAM,OAAApC,EAASG,IAASkC,EAAKJ,UAIjDC,mBAAA,SAAQ/B,GAAR,WACI,OAAOgC,kBAAiB,SAAEnC,EAASC,GAC/BmC,WAAY,WAAM,OAAAnC,EAAQE,IAASkC,EAAKJ,UAahDC,uBAAA,SAAYI,GAER,IAAMC,EAAKC,OAAQF,GAMnB,OALKG,MAAOF,KACRnD,KAAKsD,MAAO,GAAMC,KAAKC,IAAKxD,KAAKsD,MAAO,GAAeH,IAIpDD,GAAQO,OAAUzD,KAAKsD,MAAO,OAGzCR,mBAAA,SAAQY,EAAMC,GACV,IAAMR,EAAKO,EAAKP,GAAKnD,KAAK4D,WAAYF,EAAKP,IAG3C,OAFAnD,KAAKsD,MAAMZ,KAAMS,GACjBnD,KAAK6D,MAAOV,GAAOO,EACZ1D,KAAKY,QAAQ,CAAEuC,QAG1BL,mBAAA,SAAQK,EAAIO,EAAMC,GAEd,OADA3D,KAAK6D,MAAOV,GAAOO,EACZ1D,KAAKY,QAAS,KAGzBkC,iBAAA,SAAMK,EAAIQ,GACN,IAAMG,EAAW9D,KAAK6D,MAAOV,GAC7B,OAAOW,EACH9D,KAAKY,QAASkD,GACd9D,KAAKa,OAAQ,cAGrBiC,oBAAA,SAASK,EAAIQ,GAET,OADiB3D,KAAK6D,MAAOV,WAElBnD,KAAK6D,MAAOV,GACnBnD,KAAKsD,MAAQtD,KAAKsD,MAAMS,OAAQ,SAAAC,GAAK,OAAAA,IAAMb,IACpCnD,KAAKY,QAAS,KAGdZ,KAAKa,OAAQ,cAI5BiC,iBAAA,SAAMa,GAAN,WACI,OAAO3D,KAAKY,QAASZ,KAAKsD,MAAMW,MAAO,GAAIC,IAAK,SAAAf,GAAM,OAAAF,EAAKY,MAAOV,OAGtEL,sBAAA,SAAWqB,KACXrB,wBAAA,SAAaqB,QAxDb,WAAavB,EAAwBC,GAAA7C,WAAA6C,EAMrC7C,WAAgB,CAAE,GAClBA,WAAQ,GANJ,IAAgB,QAAAoE,IAAAC,WAAAA,IAAM,CAAjB,IAAIC,OACLtE,KAAKuE,OAAQD,EAAK,cClBdC,EAAQC,EAA4BC,GAChD,OAAO,IAAIC,EAAiBF,EAAKC,UA0CjCC,mBAAA,SAAQhB,EAAMC,EAA4BgB,GACtC,IAAMH,EAAMxE,KAAK4E,cAAeD,EAAOhB,GACvC,OAAO3D,KAAK2C,SACR3C,KAAK6E,WAAY,SAAU,OAAQL,EAAK7E,WACxCK,KAAK8E,QAAS,OAAQN,EAAKb,EAASD,IAG5CgB,mBAAA,SAAQvB,EAAIO,EAAMC,EAA4BgB,GAC1C,IAAMH,EAAMxE,KAAK+E,UAAWJ,EAAOxB,EAAIQ,GACvC,OAAO3D,KAAK2C,SACR3C,KAAK6E,WAAY,SAAU,MAAOL,EAAK7E,WACvCK,KAAK8E,QAAS,MAAON,EAAKb,EAASD,IAG3CgB,iBAAA,SAAMvB,EAAIQ,EAAqBgB,GAC3B,IAAMH,EAAMxE,KAAK+E,UAAWJ,EAAOxB,EAAIQ,GACvC,OAAO3D,KAAK2C,SACR3C,KAAK6E,WAAY,OAAQ,MAAOL,EAAK7E,WACrCK,KAAK8E,QAAS,MAAON,EAAKb,IAGlCe,oBAAA,SAASvB,EAAIQ,EAA4BgB,GACrC,IAAMH,EAAMxE,KAAK+E,UAAWJ,EAAOxB,EAAIQ,GACvC,OAAO3D,KAAK2C,SACR3C,KAAK6E,WAAY,UAAW,SAAUL,EAAK7E,WAC3CK,KAAK8E,QAAS,SAAUN,EAAKb,IAGrCe,iBAAA,SAAMf,EAA4BqB,GAC9B,IAAMR,EAAMxE,KAAK4E,cAAeI,EAAYrB,GAC5C,OAAO3D,KAAK2C,SACR3C,KAAK6E,WAAY,OAAQ,MAAOL,EAAK7E,WACrCK,KAAK8E,QAAS,MAAON,EAAMb,IAGnCe,sBAAA,SAAWP,KACXO,wBAAA,SAAaP,KAEPO,uBAAN,SAAkBO,EAAiBC,EAAqBV,EAAcW,oEAElE,OADAC,MAAKC,eAAe,QAAU,OAAQ,qBAAyBH,MAAcV,MACtExE,KAAK2C,SAAUsC,GAASlF,MAAOC,KAAK2C,SAAUwC,SAG/CT,sBAAV,SAAqBC,EAAuBxB,EAAaQ,GACrD,oBADqDA,MAC9C2B,EACFC,KAAMvF,KAAKwE,IAAKG,EAAOhB,GACvB6B,QAASb,GACTc,OAAQ9B,EAAQ8B,QAChBC,YAGChB,0BAAV,SAAyBM,EAA4BrB,GACjD,oBADiDA,MAC1C2B,EACFC,KAAMvF,KAAKwE,IAAKQ,EAAYrB,GAC5B8B,OAAQ9B,EAAQ8B,QAChBC,YAGChB,gCAAV,SAA+BO,EAAiBtB,EAAwBnC,GACpE,IAAMmE,WACCjB,EAAgBkB,qBAChB5F,KAAKyE,cACLd,GAGAkC,YAASC,mBACVC,KACId,SACAY,WACIG,eAAgB,oBACbH,IAEJC,GAMb,OAHItE,IACAuE,EAAcvE,KAAOyE,KAAKC,UAAW1E,IAElCuE,GAGDrB,oBAAV,SAAmBO,EAAqBT,EAAc2B,EAA8B3E,OAA7BmC,YACnD,OAAOyC,MAAO5B,EAAKxE,KAAKqG,oBAAqBpB,EAAQtB,EAASnC,IACzDF,KAAM,SAAAgF,GACH,GAAIA,EAASC,GACT,OAAOD,EAAS5C,OAEhB,MAAM,IAAI8C,MAAOF,EAASG,eA9F5B/B,sBAA4C,CACtDgC,MAAO,WACPC,YAAa,cACbC,KAAM,OACNC,SAAU,YAhBd,WAAoBrC,EAA4B2B,gBAAAA,MAAE,IAAAW,aAAUC,kBAAAC,mBAAsBvC,oCAA9DzE,SAAAwE,EAChBxE,KAAKyE,aAAeA,EACpBzE,KAAK2C,SAAYmE,IAAazB,eAAe1C,EAAUmE,EAAUE,GAAkB,KAE/EF,GAAYzB,gBACZD,MAAK,QAAS,mBAAoB,uCAAuCZ,UA4G1Ec,OAAP,SAAad,EAA4ByC,EAAwBtD,gBAAAA,MAE7D,IAAIuD,EAAyB,mBAAR1C,EACjBA,EAAKb,EAASsD,aAAkBE,QAAQF,EAAS,MAC/CzC,EAGN,GAAgC,IAA5B0C,EAAQ/G,QAAS,MAAc,CAC/B,IAAMiH,EAAgBH,EAAOI,WAG7BH,EAAUI,EAFcF,EAAMG,cAAuBxC,UAAWqC,EAAOzD,IAE3B,IAAMuD,EAAQM,OAAQ,GAGtE,OAAO,IAAIlC,EAAY4B,IAK3B5B,oBAAA,SAASX,GACL,OAAOA,aAAiBwC,UAAUxC,EAAM8C,QAClCzH,KAAK0H,OAAQ/C,EAAMxB,IACnBnD,MAGVsF,mBAAA,SAAQnC,GACJ,OAAO,IAAImC,EAAYgC,EAAqBtH,KAAKwE,KAAQ,IAAMrB,IAGnEmC,mBAAA,SAAQG,GACJ,IAAIkC,EAAMC,mBACV,OAAOnC,EACH,IAAIH,EACAtF,KAAKwE,IAAM,IAAMzF,OAAO8I,KAAMpC,GACzBvB,IAAK,SAAA4D,GAAK,OAAAH,EAAKG,GAAM,IAAMH,EAAKlC,EAAQqC,MACxCC,KAAM,MAEf/H,MAGRsF,qBAAA,WACI,OAAOtF,KAAKwE,QAxBhB,WAAqBA,GAAAxE,SAAAwE,EA4BzB,SAAS8C,EAAqB9C,GAE1B,MADuD,MAAjCA,EAAIwD,OAAQxD,EAAI5E,OAAS,GACxB4E,EAAIgD,OAAQ,EAAGhD,EAAI5E,OAAS,GAAM4E,EC9K7D,SAASyD,EAAchD,GACnB,MAAM,IAAIiD,eAAgB,UAAUjD,kEAGhC,IHIkBpG,EAAGC,OACzBF,EADsBC,IAAGC,IGJY4F,QHOrC7F,EAAEgB,UAAkB,OAANf,EAAaC,OAAOwF,OAAOzF,IAAMqJ,EAAGtI,UAAYf,EAAEe,UAAW,IAAIsI,IGEzEC,iBAAN,mFAAcH,EAAc,+BACtBG,oBAAN,mFAAiBH,EAAc,4BACzBG,mBAAN,mFAAgBH,EAAc,yBACxBG,mBAAN,mFAAgBH,EAAc,yBAExBG,iBAAN,SAAYjF,EAAIQ,EAA4BgB,wGAClCH,EAAMxE,KAAK4E,cAAeD,EAAOhB,GAEnC3D,KAAK2C,UACLyC,MAAKC,eAAe,QAAU,OAAQ,qBAAsB,OAAOb,MACpDxE,KAAK2C,SAAS0F,KAAM1E,kBAAnC,SAASwC,SAAuC,WAGhD,SAAOnG,KAAK8E,QAAS9E,KAAKiF,OAAQT,EAAKb,UAtBrCyE,EHiCP,SAAoBE,EAAYC,EAAQC,EAAKC,GAChD,IAA2H5J,EAAvH6J,EAAI/I,UAAUC,OAAQ+I,EAAID,EAAI,EAAIH,EAAkB,OAATE,EAAgBA,EAAO1J,OAAO6J,yBAAyBL,EAAQC,GAAOC,EACrH,GAAuB,iBAAZI,SAAoD,mBAArBA,QAAQC,SAAyBH,EAAIE,QAAQC,SAASR,EAAYC,EAAQC,EAAKC,QACpH,IAAK,IAAIhJ,EAAI6I,EAAW1I,OAAS,EAAQ,GAALH,EAAQA,KAASZ,EAAIyJ,EAAW7I,MAAIkJ,GAAKD,EAAI,EAAI7J,EAAE8J,GAAS,EAAJD,EAAQ7J,EAAE0J,EAAQC,EAAKG,GAAK9J,EAAE0J,EAAQC,KAASG,GAChJ,OAAW,EAAJD,GAASC,GAAK5J,OAAOgK,eAAeR,EAAQC,EAAKG,GAAIA,IGrC/DK,UAAaZ,IHMV,SAASD,IAAOnI,KAAKiJ,YAAcpK,EGLnC,WACWoG,EACAT,EACP2B,gBAAAA,MAAE,IAAAW,aAAUnD,sBAEZuF,YAAO,GAAIpC,KAAaA,SAAW,CAAEA,IAAenD,GAAYA,gBAJzDV,SAAAgC,EACAhC,MAAAuB,ICpBf,IAAM2E,EAAe,CAAEC,OAAQ,EAAMC,QAAS,UAmB1CtK,sBAAIuK,4BAAJ,WACI,OAAStJ,KAAKuJ,OAAO1J,UAAmB2J,2CA4BtCF,sBAAN,SAAiBnF,EAAQoE,oEACrB,SAAOvI,KAAKyJ,SAASC,UAAWvF,EAAQoE,SAG5Ce,wBAAA,SAAanF,EAAQoE,GACjBvI,KAAKyJ,SAASE,YAAaxF,EAAQoE,IAGjCe,iBAAN,SAAY3F,iGAER,UADMiG,EAAO,IAAI5J,KAAKuJ,OAAOM,YAClBzD,MAAOzC,WAClB,OADAwC,YACOyD,EAAKE,gBAGVR,mBAAN,SAAcnG,EAAIO,EAAMC,mGAGpB,OAFAD,EAAKP,GAAKA,MACJ4G,EAAY/J,KAAKuJ,OAAOhE,KAAM7B,EAAMyF,IAChCa,KAAMrG,WAKhB,OALAwC,SAGA8D,EAFMC,EAAM,CAAEC,KAAOJ,EAAII,MAETJ,EAAK/J,KAAK2D,QAAQyG,gBAE3BF,SAGLZ,mBAAN,SAAc5F,EAAMC,mGAEhB,UADMoG,EAAY/J,KAAKuJ,OAAOhE,KAAM7B,EAAMyF,IAChCa,KAAMrG,WAKhB,OALAwC,SAGA8D,EAFMC,EAAM,CAAE/G,GAAK4G,EAAI5G,GAAIgH,KAAOJ,EAAII,KAAME,MAAQN,EAAIM,OAExCN,EAAK/J,KAAK2D,QAAQ2G,gBAE3BJ,SAGLZ,iBAAN,SAAYnG,EAAIQ,iGAEZ,UADMoG,EAAM,IAAI/J,KAAKuJ,OAAO,CAAEpG,QACpBiD,MAAOzC,WACjB,OADAwC,YACO4D,EAAID,gBAGTR,oBAAN,SAAenG,EAAaQ,oEACxB,SAAO3D,KAAKyJ,SAASc,QAASpH,EAAIQ,YAjEtC,WAAa6G,EAAwB7G,GAArC,wBAAqCA,MAFrC3D,aAAmC,GAG/BA,KAAKuJ,OAASiB,EAEV7G,EAAQ2G,cACRtK,KAAK2D,QAAQ2G,YAAc3G,EAAQ2G,YAAYG,MAAO,QAGtD9G,EAAQyG,cACRpK,KAAK2D,QAAQyG,YAAczG,EAAQyG,YAAYK,MAAO,QAI1D,IAAMC,EAAS3L,OAAO4L,eAAgB3K,KAAKyJ,UAE3C1K,OAAO8I,KAAM6C,GAASE,QAAS,SAAApC,GACtBvF,EAAMuF,IAAkC,mBAAlBkC,EAAQlC,KAC/BvF,EAAMuF,GAAQ,WACV,OAAOkC,EAAQlC,GAAMzI,MAAOC,KAAKyJ,SAAU9J,eAoD/D,SAASsK,EAAWC,EAAcH,EAAcc,GAC5C,GAAIA,EAEA,IADA,IAAMnH,EAAOqG,EAAID,aACDgB,IAAAzG,WAAAA,IAAO,CAAlB,IAAImE,OACL0B,EAAK1B,GAAQ9E,EAAM8E,WC1F3BuC,oBAAA,SAAShK,GACL,OAAOgC,kBAAiB,SAAEnC,EAASC,GAC/BmC,WAAY,WACRpC,EAASG,IACV,MAIXgK,mBAAA,SAAQhK,GACJ,OAAOgC,kBAAiB,SAAEnC,EAASC,GAC/BmC,WAAY,WAAM,OAAAnC,EAAQE,IAAS,MAI3CgK,mBAAA,SAAQrH,EAAMC,GACF,IAAAL,aAIR,OAHAA,EAAMZ,KAAMgB,EAAKP,GAAKM,OAAUH,EAAO,OACvCtD,KAAKsD,MAAQA,EACbtD,KAAKgL,IAAKtH,GACH1D,KAAKY,QAAQ,CAAEuC,GAAKO,EAAKP,MAGpC4H,gBAAA,SAAKrH,GACDuH,aAAaC,QAASlL,KAAKwI,IAAM,IAAM9E,EAAKP,GAAI8C,KAAKC,UAAWxC,KAGpEqH,gBAAA,SAAK5H,GACD,OAAO8C,KAAKmD,MAAO6B,aAAaE,QAASnL,KAAKwI,IAAM,IAAMrF,KAG9D4H,mBAAA,SAAQ5H,EAAIO,EAAMC,GAGd,OAFAD,EAAKP,GAAKA,EACVnD,KAAKgL,IAAKtH,GACH1D,KAAKY,QAAS,KAGzBmK,iBAAA,SAAM5H,EAAIQ,GACN,IAAMG,EAAW9D,KAAKoL,IAAKjI,GAC3B,OAAOW,EACH9D,KAAKY,QAASkD,GACd9D,KAAKa,OAAQ,cAGrBkK,oBAAA,SAAS5H,EAAIQ,GAET,OADiB3D,KAAKoL,IAAKjI,IAEvB8H,aAAaI,WAAYrL,KAAKwI,IAAM,IAAMrF,GAC1CnD,KAAKsD,MAAQtD,KAAKsD,MAAMS,OAAQ,SAAAC,GAAK,OAAAA,IAAMb,IACpCnD,KAAKY,QAAS,KAGdZ,KAAKa,OAAQ,cAI5B9B,sBAAIgM,yBAAJ,WACI,OAAO9E,KAAKmD,MAAO6B,aAAaE,QAASnL,KAAKwI,OAAW,CAAE,QAG/D,SAAWxE,GACPiH,aAAaC,QAASlL,KAAKwI,IAAKvC,KAAKC,UAAWlC,qCAGpD+G,iBAAA,SAAMpH,GAAN,WAEI,kBAAO3D,KAAKY,QAASZ,KAAKsD,MAAMW,MAAO,GAAIC,IAAK,SAAAf,GAAM,OAAAF,EAAKmI,IAAKjI,OAGpE4H,sBAAA,SAAW5G,KACX4G,wBAAA,SAAa5G,QAxEb,WAAoBqE,GAAAxI,SAAAwI,SCApB8C,mBAAA,SAAQ5H,EAAMC,GACV,MAAM,IAAI6C,MAAO,6BAGrB8E,mBAAA,SAAQnI,EAAIO,EAAMC,GACd,MAAM,IAAI6C,MAAO,6BAGrB8E,iBAAA,SAAMnI,EAAIQ,EAAqB6G,GAC3B,IACIe,EADUf,EAAO3C,OAAO9D,OAAQ,SAAAyH,GAAQ,OAAAhB,EAAQgB,IAAUhB,EAAQgB,GAAOpF,QACxDlC,IAAK,SAAAsH,GAAQ,OAAAhB,EAAQgB,GAAOpF,MAAOzC,KACpD8H,EAA2B9K,QAAQ+K,IAAKH,GAAWjK,KAAM,cAM7D,OAJAmK,EAAQE,MAAQ,WACZJ,EAASX,QAAS,SAAA5G,GAAK,OAAAA,EAAE2H,OAAS3H,EAAE2H,WAGjCF,GAGXH,oBAAA,SAASnI,EAAIQ,GACT,MAAM,IAAI6C,MAAO,6BAGrB8E,iBAAA,SAAM3H,GACF,MAAM,IAAI6C,MAAO,6BAGrB8E,sBAAA,SAAWnH,KACXmH,wBAAA,SAAanH,QA9BjB,gKAHI,OAAO,IAAImH,sCHQerG,EAAqBT,EAA4Bb,GAC3E,OAAO,IAAIyE,EAAoBnD,EAAQT,EAAKb,8BEVhB6E,GAC5B,OAAO,IAAIuC,EAAsBvC,oCDCZgC,EAAwB7G,GAC7C,oBAD6CA,MACtC,IAAI2F,EAAekB,EAAQ7G"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../src/memory.ts","../src/restful.ts","../src/fetchModel.ts","../src/proxy.ts","../src/localStorage.ts","../src/attributes.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { IOEndpoint, IOPromise, createIOPromise } from '@type-r/models'\n\ntype Index = ( number | string )[];\n\nexport function memoryIO( init = [], delay = 50 ){\n return new MemoryEndpoint( init, delay );\n}\n\nexport class MemoryEndpoint implements IOEndpoint {\n resolve( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => resolve( value ), this.delay );\n });\n }\n \n reject( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => reject( value ), this.delay );\n });\n }\n\n constructor( init : object[], public delay : number ){\n for( let obj of init ){\n this.create( obj, {} );\n }\n }\n\n index : Index = [ 0 ];\n items = {};\n\n generateId( a_id ){\n // Update index counter...\n const id = Number( a_id );\n if( !isNaN( id ) ){\n this.index[ 0 ] = Math.max( this.index[ 0 ] as number, id );\n }\n\n // Return id...\n return a_id || String( ( this.index[ 0 ] as number ) ++ );\n }\n\n create( json, options ) {\n const id = json.id = this.generateId( json.id );\n this.index.push( id );\n this.items[ id ] = json;\n return this.resolve({ id });\n }\n\n update( id, json, options ) {\n this.items[ id ] = json;\n return this.resolve( {} );\n }\n\n read( id, options ){\n const existing = this.items[ id ];\n return existing ?\n this.resolve( existing ) : \n this.reject( \"Not found\" );\n }\n\n destroy( id, options ){\n const existing = this.items[ id ];\n if( existing ){\n delete this.items[ id ];\n this.index = this.index.filter( x => x !== id );\n return this.resolve( {} );\n }\n else{\n return this.reject( \"Not found\" );\n }\n }\n\n list( options? : object ) {\n return this.resolve( this.index.slice( 1 ).map( id => this.items[ id ]) );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events) : any {}\n}","import { IOEndpoint, IOOptions, Model, Collection, log, isProduction, Transactional } from '@type-r/models'\nimport { memoryIO, MemoryEndpoint } from './memory'\n\nexport type UrlTemplate = ( options : any, model? : any ) => string\n\nexport function create( url : string | UrlTemplate, fetchOptions? : Partial ){\n return new RestfulEndpoint( url, fetchOptions );\n}\n\nexport { create as restfulIO }\n\nexport type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'\n\nexport interface RestfulIOOptions extends IOOptions {\n params? : object,\n options? : RequestInit\n}\n\nexport type RestfulFetchOptions = /* subset of RequestInit */{\n cache?: RequestCache;\n credentials?: RequestCredentials;\n mode?: RequestMode;\n redirect?: RequestRedirect;\n referrerPolicy?: ReferrerPolicy;\n mockData? : any\n simulateDelay? : number \n}\n\nexport class RestfulEndpoint implements IOEndpoint {\n constructor( public url : string | UrlTemplate, { mockData, simulateDelay = 1000, ...fetchOptions } : RestfulFetchOptions = {}) {\n this.fetchOptions = fetchOptions\n this.memoryIO = mockData && !isProduction ? memoryIO( mockData, simulateDelay ) : null;\n\n if( mockData && isProduction ){\n log( 'error', 'Type-R:RestfulIO', `Mock data is used in production for ${url}`);\n }\n }\n\n fetchOptions : RestfulFetchOptions\n memoryIO : MemoryEndpoint\n\n public static defaultFetchOptions : RestfulFetchOptions = {\n cache: \"no-cache\",\n credentials: \"same-origin\",\n mode: \"cors\",\n redirect: \"error\",\n }\n\n create( json, options : RestfulIOOptions, model ) {\n const url = this.collectionUrl( model, options );\n return this.memoryIO ?\n this.simulateIO( 'create', 'POST', url, arguments ) :\n this.request( 'POST', url, options, json );\n }\n\n update( id, json, options : RestfulIOOptions, model ) {\n const url = this.objectUrl( model, id, options )\n return this.memoryIO ?\n this.simulateIO( 'update', 'PUT', url, arguments ) :\n this.request( 'PUT', url, options, json );\n }\n\n read( id, options : IOOptions, model ){\n const url = this.objectUrl( model, id, options );\n return this.memoryIO ?\n this.simulateIO( 'read', 'GET', url, arguments ) :\n this.request( 'GET', url, options );\n }\n\n destroy( id, options : RestfulIOOptions, model ){\n const url = this.objectUrl( model, id, options );\n return this.memoryIO ?\n this.simulateIO( 'destroy', 'DELETE', url, arguments ) :\n this.request( 'DELETE', url, options );\n }\n\n list( options : RestfulIOOptions, collection ) {\n const url = this.collectionUrl( collection, options );\n return this.memoryIO ?\n this.simulateIO( 'list', 'GET', url, arguments ) :\n this.request( 'GET', url , options );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events ) : any {}\n\n async simulateIO( method : string, httpMethod : string, url : string, args ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `${httpMethod} ${url}`);\n return this.memoryIO[ method ].apply( this.memoryIO, args );\n }\n\n protected objectUrl( model : Transactional, id : string, options : RestfulIOOptions = {} ){\n return UrlBuilder\n .from( this.url, model, options )\n .modelId( model )\n .params( options.params )\n .toString()\n }\n\n protected collectionUrl( collection : Transactional, options : RestfulIOOptions = {} ){\n return UrlBuilder\n .from( this.url, collection, options )\n .params( options.params )\n .toString()\n }\n\n protected buildRequestOptions( method : string, options? : RequestInit, body? ) : RequestInit {\n const mergedOptions : RequestInit = {\n ...RestfulEndpoint.defaultFetchOptions,\n ...this.fetchOptions,\n ...options\n };\n\n const {headers, ...rest} = mergedOptions,\n resultOptions : RequestInit = {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...headers\n },\n ...rest\n };\n\n if( body ) {\n resultOptions.body = JSON.stringify( body );\n }\n return resultOptions;\n }\n\n protected request( method : HttpMethod, url : string, {options} : RestfulIOOptions, body? ) : Promise {\n\t return fetch( url, this.buildRequestOptions( method, options, body ) )\n\t .then( response => {\n\t if( response.ok ) {\n\t return response.text().then( text => text ? JSON.parse( text ) : null )\n\t } else {\n\t throw new Error( response.statusText )\n\t }\n } );\n }\n}\n\nexport class UrlBuilder {\n static from( url : string | UrlTemplate, object : Transactional, options : RestfulIOOptions = {} ){\n // Resolve URL template \n let rootUrl = typeof url === 'function' ?\n url( options, object instanceof Model ? object : null )\n : url;\n \n // Resolve relative URL\n if( rootUrl.indexOf( './' ) === 0 ){\n const owner = object.getOwner() as Model,\n ownerUrl = ( owner.getEndpoint() as any ).objectUrl( owner, options );\n \n rootUrl = removeTrailingSlash( ownerUrl ) + '/' + rootUrl.substr( 2 )\n }\n\n return new UrlBuilder( rootUrl );\n }\n\n constructor( private url : string ){}\n\n modelId( model : Transactional ){\n return model instanceof Model && !model.isNew()\n ? this.append( model.id )\n : this;\n }\n\n append( id : string ){\n return new UrlBuilder( removeTrailingSlash( this.url ) + '/' + id );\n }\n\n params( params : object ){\n var esc = encodeURIComponent;\n return params ?\n new UrlBuilder(\n this.url + '?' + Object.keys( params )\n .map( k => esc( k ) + '=' + esc( params[ k ] ) )\n .join( '&' )\n ):\n this;\n }\n\n toString(){\n return this.url;\n }\n}\n\nfunction removeTrailingSlash( url : string ) {\n const endsWithSlash = url.charAt( url.length - 1 ) === '/';\n return endsWithSlash ? url.substr( 0, url.length - 1 ) : url;\n}\n","import { define, isProduction, log, Model } from '@type-r/models';\nimport { HttpMethod, RestfulEndpoint, RestfulFetchOptions, RestfulIOOptions, UrlTemplate } from './restful';\n\n/**\n * Implement custom model.fetch() according to the given rules.\n * All other I/O methods are not supported, this is read-only model.\n * \n * @param method HTTP Method to use\n * @param url template function to generate the URL\n * @param options options coming from `model.fetch( options )`\n */\nexport function fetchModelIO( method : HttpMethod, url : string | UrlTemplate, options? : RestfulFetchOptions ){\n return new ModelFetchEndpoint( method, url, options );\n}\n\nfunction notSupported( method ){\n throw new ReferenceError( `Method ${method} is not supported. modelFetchIO supports only model.fetch().` );\n} \n\n@define class ModelFetchEndpoint extends RestfulEndpoint {\n constructor(\n public method : HttpMethod,\n public url : string | UrlTemplate,\n { mockData, ...options } : RestfulFetchOptions = {}\n ){\n super( '', mockData ? { mockData : [ mockData ], ...options } : options );\n }\n\n async list(){ notSupported( 'collection.fetch()') }\n async destroy(){ notSupported( 'model.destroy()') }\n async create(){ notSupported( 'model.save()') }\n async update(){ notSupported( 'model.save()') }\n\n async read( id, options : RestfulIOOptions, model : Model ){\n const url = this.collectionUrl( model, options );\n\n if( this.memoryIO ){\n log( isProduction ? \"error\" : \"info\", 'Type-R:SimulatedIO', `GET ${url}`);\n return ( await this.memoryIO.list( options ) )[ 0 ];\n }\n else{\n return this.request( this.method, url, options );\n }\n }\n}","import { IOEndpoint, Record } from '@type-r/models';\n\nconst parseOptions = { parse : true, strict : true };\n\nexport function proxyIO( record : typeof Record, options : ProxyIOOptions = {} ){\n return new ProxyEndpoint( record, options );\n}\n\nexport interface ProxyIOOptions {\n createAttrs? : string\n updateAttrs? : string\n}\n\nexport interface ProxyIOInternalOptions {\n createAttrs? : string[]\n updateAttrs? : string[]\n}\n\n\nexport class ProxyEndpoint implements IOEndpoint {\n Record : typeof Record\n get endpoint(){\n return ( this.Record.prototype as any )._endpoint;\n }\n\n options : ProxyIOInternalOptions = {}\n\n constructor( record : typeof Record, options : ProxyIOOptions = {} ){\n this.Record = record;\n\n if( options.createAttrs ){\n this.options.createAttrs = options.createAttrs.split( /\\s+/ );\n }\n\n if( options.updateAttrs ){\n this.options.updateAttrs = options.updateAttrs.split( /\\s+/ );\n }\n\n // Create proxy methods...\n const source = Object.getPrototypeOf( this.endpoint );\n\n Object.keys( source ).forEach( key => {\n if( !this[ key ] && typeof source[ key ] === 'function' ){\n this[ key ] = function(){\n return source[ key ].apply( this.endpoint, arguments );\n }\n }\n });\n }\n\n async subscribe( events, target ){\n return this.endpoint.subscribe( events, target );\n }\n\n unsubscribe( events, target ){\n this.endpoint.unsubscribe( events, target );\n }\n\n async list( options ){\n const coll = new this.Record.Collection();\n await coll.fetch( options );\n return coll.toJSON();\n }\n\n async update( id, json, options ){\n json.id = id;\n const doc : any = this.Record.from( json, parseOptions );\n await doc.save( options );\n const res = { _cas : doc._cas };\n\n fillAttrs( res, doc, this.options.updateAttrs );\n \n return res;\n }\n\n async create( json, options ){\n const doc : any = this.Record.from( json, parseOptions );\n await doc.save( options );\n const res = { id : doc.id, _cas : doc._cas, _type : doc._type };\n \n fillAttrs( res, doc, this.options.createAttrs );\n \n return res;\n }\n\n async read( id, options : object ){\n const doc = new this.Record({ id });\n await doc.fetch( options );\n return doc.toJSON();\n }\n\n async destroy( id : string, options : object ){\n return this.endpoint.destroy( id, options )\n }\n}\n\nfunction fillAttrs( res : object, doc : Record, attrs : string[] ){\n if( attrs ){\n const json = doc.toJSON();\n for( let key of attrs ){\n res[ key ] = json[ key ];\n }\n }\n}","import { IOEndpoint, IOOptions, IOPromise, createIOPromise } from '@type-r/models'\n\nexport function localStorageIO( key : string ){\n return new LocalStorageEndpoint( key );\n}\n\nexport class LocalStorageEndpoint implements IOEndpoint {\n constructor( public key : string ){\n }\n\n resolve( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () =>{\n resolve( value )\n }, 0 );\n });\n }\n \n reject( value ){\n return createIOPromise( ( resolve, reject ) => {\n setTimeout( () => reject( value ), 0 );\n });\n }\n\n create( json, options : IOOptions ) {\n const { index } = this;\n index.push( json.id = String( ( index[ 0 ] as number )++ ) );\n this.index = index;\n this.set( json );\n return this.resolve({ id : json.id });\n }\n\n set( json ){\n localStorage.setItem( this.key + '#' + json.id, JSON.stringify( json ) );\n }\n\n get( id ){\n return JSON.parse( localStorage.getItem( this.key + '#' + id ) );\n }\n\n update( id, json, options : IOOptions ) {\n json.id = id;\n this.set( json );\n return this.resolve( {} );\n }\n\n read( id, options : IOOptions ){\n const existing = this.get( id );\n return existing ?\n this.resolve( existing ) : \n this.reject( \"Not found\" );\n }\n\n destroy( id, options : IOOptions ){\n const existing = this.get( id );\n if( existing ){\n localStorage.removeItem( this.key + '#' + id );\n this.index = this.index.filter( x => x !== id );\n return this.resolve( {} );\n }\n else{\n return this.reject( \"Not found\" );\n }\n }\n\n get index() : ( string | number )[]{\n return JSON.parse( localStorage.getItem( this.key ) ) || [ 0 ];\n }\n\n set index( x ){\n localStorage.setItem( this.key, JSON.stringify( x ) );\n }\n\n list( options? : IOOptions ) {\n const { index } = this; \n return this.resolve( this.index.slice( 1 ).map( id => this.get( id ) ) );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events) : any {}\n}","import { IOEndpoint, IOOptions, IOPromise } from '@type-r/models'\n\nexport function attributesIO(){\n return new AttributesEndpoint();\n}\n\nexport class AttributesEndpoint implements IOEndpoint {\n create( json, options : IOOptions ) : IOPromise {\n throw new Error( 'Method is not supported.' ); \n }\n\n update( id, json, options : IOOptions ) : IOPromise {\n throw new Error( 'Method is not supported.' ); \n }\n\n read( id, options : IOOptions, record ) : IOPromise {\n const names = record.keys().filter( name => record[ name ] && record[ name ].fetch ),\n promises = names.map( name => record[ name ].fetch( options ) ),\n promise : IOPromise = Promise.all( promises ).then( () => {} );\n\n promise.abort = function(){\n promises.forEach( x => x.abort && x.abort() );\n }\n\n return promise;\n }\n\n destroy( id, options : IOOptions ) : IOPromise {\n throw new Error( 'Method is not supported.' ); \n }\n\n list( options? : IOOptions ) : IOPromise {\n throw new Error( 'Method is not supported.' );\n }\n\n subscribe( events ) : any {}\n unsubscribe( events) : any {}\n}\n\ndeclare var Promise;"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__assign","assign","t","s","i","n","arguments","length","prototype","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","adopt","then","__generator","body","f","y","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","v","op","TypeError","pop","push","memoryIO","init","delay","MemoryEndpoint","createIOPromise","setTimeout","_this","a_id","id","Number","isNaN","index","Math","max","String","json","options","generateId","items","existing","filter","x","slice","map","events","init_1","_i","obj","create","url","fetchOptions","RestfulEndpoint","model","collectionUrl","simulateIO","request","objectUrl","collection","method","httpMethod","args","log","isProduction","UrlBuilder","from","modelId","params","toString","mergedOptions","defaultFetchOptions","headers","rest","resultOptions","Content-Type","JSON","stringify","_a","fetch","buildRequestOptions","response","ok","text","parse","Error","statusText","cache","credentials","mode","redirect","mockData","_b","simulateDelay","object","rootUrl","Model","owner","getOwner","removeTrailingSlash","getEndpoint","substr","isNew","append","esc","encodeURIComponent","keys","k","join","charAt","notSupported","ReferenceError","__","ModelFetchEndpoint","list","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","define","constructor","_super","parseOptions","strict","ProxyEndpoint","Record","_endpoint","endpoint","subscribe","unsubscribe","coll","Collection","toJSON","doc","save","fillAttrs","res","_cas","updateAttrs","_type","createAttrs","destroy","record","split","source","getPrototypeOf","forEach","attrs","attrs_1","LocalStorageEndpoint","set","localStorage","setItem","getItem","get","removeItem","AttributesEndpoint","promises","name","promise","all","abort"],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/lib/fetchModel.js b/endpoints/lib/fetchModel.js index c49c80f8..6bdaefb5 100644 --- a/endpoints/lib/fetchModel.js +++ b/endpoints/lib/fetchModel.js @@ -5,14 +5,15 @@ export function fetchModelIO(method, url, options) { return new ModelFetchEndpoint(method, url, options); } function notSupported(method) { - throw new ReferenceError("Method " + method + " is not supported. modelFetchIO supports only model.fetch()."); + throw new ReferenceError("Method ".concat(method, " is not supported. modelFetchIO supports only model.fetch().")); } var ModelFetchEndpoint = (function (_super) { __extends(ModelFetchEndpoint, _super); function ModelFetchEndpoint(method, url, _a) { if (_a === void 0) { _a = {}; } + var _this = this; var mockData = _a.mockData, options = __rest(_a, ["mockData"]); - var _this = _super.call(this, '', mockData ? __assign({ mockData: [mockData] }, options) : options) || this; + _this = _super.call(this, '', mockData ? __assign({ mockData: [mockData] }, options) : options) || this; _this.method = method; _this.url = url; return _this; @@ -49,7 +50,7 @@ var ModelFetchEndpoint = (function (_super) { case 0: url = this.collectionUrl(model, options); if (!this.memoryIO) return [3, 2]; - log(isProduction ? "error" : "info", 'Type-R:SimulatedIO', "GET " + url); + log(isProduction ? "error" : "info", 'Type-R:SimulatedIO', "GET ".concat(url)); return [4, this.memoryIO.list(options)]; case 1: return [2, (_a.sent())[0]]; case 2: return [2, this.request(this.method, url, options)]; diff --git a/endpoints/lib/fetchModel.js.map b/endpoints/lib/fetchModel.js.map index 279a2b22..2d2429dd 100644 --- a/endpoints/lib/fetchModel.js.map +++ b/endpoints/lib/fetchModel.js.map @@ -1 +1 @@ -{"version":3,"file":"fetchModel.js","sourceRoot":"","sources":["../src/fetchModel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAS,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAc,eAAe,EAAsD,MAAM,WAAW,CAAC;AAU5G,MAAM,UAAU,YAAY,CAAE,MAAmB,EAAE,GAA0B,EAAE,OAA8B;IACzG,OAAO,IAAI,kBAAkB,CAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAE,MAAM;IACzB,MAAM,IAAI,cAAc,CAAE,YAAU,MAAM,iEAA8D,CAAE,CAAC;AAC/G,CAAC;AAEO;IAAiC,sCAAe;IACpD,4BACW,MAAmB,EACnB,GAA0B,EACjC,EAAmD;QAAnD,mBAAA,EAAA,OAAmD;QAAjD,IAAA,sBAAQ,EAAE,kCAAU;QAH1B,YAKI,kBAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,YAAG,QAAQ,EAAG,CAAE,QAAQ,CAAE,IAAK,OAAO,EAAG,CAAC,CAAC,OAAO,CAAE,SAC5E;QALU,YAAM,GAAN,MAAM,CAAa;QACnB,SAAG,GAAH,GAAG,CAAuB;;IAIrC,CAAC;IAEK,iCAAI,GAAV;;YAAc,YAAY,CAAE,oBAAoB,CAAC,CAAA;;;KAAE;IAC7C,oCAAO,GAAb;;YAAiB,YAAY,CAAE,iBAAiB,CAAC,CAAA;;;KAAE;IAC7C,mCAAM,GAAZ;;YAAgB,YAAY,CAAE,cAAc,CAAC,CAAA;;;KAAE;IACzC,mCAAM,GAAZ;;YAAgB,YAAY,CAAE,cAAc,CAAC,CAAA;;;KAAE;IAEzC,iCAAI,GAAV,UAAY,EAAE,EAAE,OAA0B,EAAE,KAAa;;;;;;wBAC/C,GAAG,GAAG,IAAI,CAAC,aAAa,CAAE,KAAK,EAAE,OAAO,CAAE,CAAC;6BAE7C,IAAI,CAAC,QAAQ,EAAb,cAAa;wBACb,GAAG,CAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,SAAO,GAAK,CAAC,CAAC;wBACjE,WAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,OAAO,CAAE,EAAA;4BAA5C,WAAO,CAAE,SAAmC,CAAE,CAAE,CAAC,CAAE,EAAC;4BAGpD,WAAO,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAE,EAAC;;;;KAExD;IAxBS,kBAAkB;QAA/B,MAAM;OAAO,kBAAkB,CAyB/B;IAAD,yBAAC;CAAA,AAzBO,CAAiC,eAAe,GAyBvD"} \ No newline at end of file +{"version":3,"file":"fetchModel.js","sourceRoot":"","sources":["../src/fetchModel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAS,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAc,eAAe,EAAsD,MAAM,WAAW,CAAC;AAU5G,MAAM,UAAU,YAAY,CAAE,MAAmB,EAAE,GAA0B,EAAE,OAA8B;IACzG,OAAO,IAAI,kBAAkB,CAAE,MAAM,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;AAC1D,CAAC;AAED,SAAS,YAAY,CAAE,MAAM;IACzB,MAAM,IAAI,cAAc,CAAE,iBAAU,MAAM,iEAA8D,CAAE,CAAC;AAC/G,CAAC;AAEO;IAAiC,sCAAe;IACpD,4BACW,MAAmB,EACnB,GAA0B,EACjC,EAAmD;QAAnD,mBAAA,EAAA,OAAmD;QAHvD,iBAMC;QAHK,IAAA,QAAQ,cAAA,EAAK,OAAO,cAAtB,YAAwB,CAAF;QAEtB,QAAA,MAAK,YAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,YAAG,QAAQ,EAAG,CAAE,QAAQ,CAAE,IAAK,OAAO,EAAG,CAAC,CAAC,OAAO,CAAE,SAAC;QAJnE,YAAM,GAAN,MAAM,CAAa;QACnB,SAAG,GAAH,GAAG,CAAuB;;IAIrC,CAAC;IAEK,iCAAI,GAAV;;YAAc,YAAY,CAAE,oBAAoB,CAAC,CAAA;;;KAAE;IAC7C,oCAAO,GAAb;;YAAiB,YAAY,CAAE,iBAAiB,CAAC,CAAA;;;KAAE;IAC7C,mCAAM,GAAZ;;YAAgB,YAAY,CAAE,cAAc,CAAC,CAAA;;;KAAE;IACzC,mCAAM,GAAZ;;YAAgB,YAAY,CAAE,cAAc,CAAC,CAAA;;;KAAE;IAEzC,iCAAI,GAAV,UAAY,EAAE,EAAE,OAA0B,EAAE,KAAa;;;;;;wBAC/C,GAAG,GAAG,IAAI,CAAC,aAAa,CAAE,KAAK,EAAE,OAAO,CAAE,CAAC;6BAE7C,IAAI,CAAC,QAAQ,EAAb,cAAa;wBACb,GAAG,CAAE,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,EAAE,cAAO,GAAG,CAAE,CAAC,CAAC;wBACjE,WAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,OAAO,CAAE,EAAA;4BAA5C,WAAO,CAAE,SAAmC,CAAE,CAAE,CAAC,CAAE,EAAC;4BAGpD,WAAO,IAAI,CAAC,OAAO,CAAE,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,OAAO,CAAE,EAAC;;;;KAExD;IAxBS,kBAAkB;QAA/B,MAAM;OAAO,kBAAkB,CAyB/B;IAAD,yBAAC;CAAA,AAzBO,CAAiC,eAAe,GAyBvD"} \ No newline at end of file diff --git a/endpoints/lib/localStorage.d.ts b/endpoints/lib/localStorage.d.ts index 9f65497c..bb363bdc 100644 --- a/endpoints/lib/localStorage.d.ts +++ b/endpoints/lib/localStorage.d.ts @@ -11,7 +11,8 @@ export declare class LocalStorageEndpoint implements IOEndpoint { update(id: any, json: any, options: IOOptions): IOPromise; read(id: any, options: IOOptions): IOPromise; destroy(id: any, options: IOOptions): IOPromise; - index: (string | number)[]; + get index(): (string | number)[]; + set index(x: (string | number)[]); list(options?: IOOptions): IOPromise; subscribe(events: any): any; unsubscribe(events: any): any; diff --git a/endpoints/lib/localStorage.js b/endpoints/lib/localStorage.js index a05b399b..da17a4bd 100644 --- a/endpoints/lib/localStorage.js +++ b/endpoints/lib/localStorage.js @@ -60,7 +60,7 @@ var LocalStorageEndpoint = (function () { set: function (x) { localStorage.setItem(this.key, JSON.stringify(x)); }, - enumerable: true, + enumerable: false, configurable: true }); LocalStorageEndpoint.prototype.list = function (options) { diff --git a/endpoints/lib/localStorage.js.map b/endpoints/lib/localStorage.js.map index bce02794..9089cbdb 100644 --- a/endpoints/lib/localStorage.js.map +++ b/endpoints/lib/localStorage.js.map @@ -1 +1 @@ -{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../src/localStorage.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"localStorage.js","sourceRoot":"","sources":["../src/localStorage.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/lib/memory.d.ts b/endpoints/lib/memory.d.ts index 1dab2553..6512e8e8 100644 --- a/endpoints/lib/memory.d.ts +++ b/endpoints/lib/memory.d.ts @@ -1,5 +1,5 @@ import { IOEndpoint, IOPromise } from '@type-r/models'; -declare type Index = (number | string)[]; +type Index = (number | string)[]; export declare function memoryIO(init?: any[], delay?: number): MemoryEndpoint; export declare class MemoryEndpoint implements IOEndpoint { delay: number; diff --git a/endpoints/lib/memory.js.map b/endpoints/lib/memory.js.map index 628df852..c86f5664 100644 --- a/endpoints/lib/memory.js.map +++ b/endpoints/lib/memory.js.map @@ -1 +1 @@ -{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/memory.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/lib/proxy.d.ts b/endpoints/lib/proxy.d.ts index e9e41262..dac28836 100644 --- a/endpoints/lib/proxy.d.ts +++ b/endpoints/lib/proxy.d.ts @@ -10,7 +10,7 @@ export interface ProxyIOInternalOptions { } export declare class ProxyEndpoint implements IOEndpoint { Record: typeof Record; - readonly endpoint: any; + get endpoint(): any; options: ProxyIOInternalOptions; constructor(record: typeof Record, options?: ProxyIOOptions); subscribe(events: any, target: any): Promise; diff --git a/endpoints/lib/proxy.js b/endpoints/lib/proxy.js index 205050ab..9627ed72 100644 --- a/endpoints/lib/proxy.js +++ b/endpoints/lib/proxy.js @@ -6,8 +6,8 @@ export function proxyIO(record, options) { } var ProxyEndpoint = (function () { function ProxyEndpoint(record, options) { - var _this = this; if (options === void 0) { options = {}; } + var _this = this; this.options = {}; this.Record = record; if (options.createAttrs) { @@ -29,7 +29,7 @@ var ProxyEndpoint = (function () { get: function () { return this.Record.prototype._endpoint; }, - enumerable: true, + enumerable: false, configurable: true }); ProxyEndpoint.prototype.subscribe = function (events, target) { diff --git a/endpoints/lib/proxy.js.map b/endpoints/lib/proxy.js.map index f489ad95..27dc509a 100644 --- a/endpoints/lib/proxy.js.map +++ b/endpoints/lib/proxy.js.map @@ -1 +1 @@ -{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":";AAEA,IAAM,YAAY,GAAG,EAAE,KAAK,EAAG,IAAI,EAAE,MAAM,EAAG,IAAI,EAAE,CAAC;AAErD,MAAM,UAAU,OAAO,CAAE,MAAsB,EAAE,OAA6B;IAA7B,wBAAA,EAAA,YAA6B;IAC1E,OAAO,IAAI,aAAa,CAAE,MAAM,EAAE,OAAO,CAAE,CAAC;AAChD,CAAC;AAaD;IAQI,uBAAa,MAAsB,EAAE,OAA6B;QAAlE,iBAqBC;QArBoC,wBAAA,EAAA,YAA6B;QAFlE,YAAO,GAA4B,EAAE,CAAA;QAGjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;SACjE;QAED,IAAI,OAAO,CAAC,WAAW,EAAE;YACrB,IAAI,CAAC,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAE,KAAK,CAAE,CAAC;SACjE;QAGD,IAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAE,IAAI,CAAC,QAAQ,CAAE,CAAC;QAEtD,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC,OAAO,CAAE,UAAA,GAAG;YAC9B,IAAI,CAAC,KAAI,CAAE,GAAG,CAAE,IAAI,OAAO,MAAM,CAAE,GAAG,CAAE,KAAK,UAAU,EAAE;gBACrD,KAAI,CAAE,GAAG,CAAE,GAAG;oBACV,OAAO,MAAM,CAAE,GAAG,CAAE,CAAC,KAAK,CAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAE,CAAC;gBAC3D,CAAC,CAAA;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IA3BD,sBAAI,mCAAQ;aAAZ;YACI,OAAS,IAAI,CAAC,MAAM,CAAC,SAAkB,CAAC,SAAS,CAAC;QACtD,CAAC;;;OAAA;IA2BK,iCAAS,GAAf,UAAiB,MAAM,EAAE,MAAM;;;gBAC3B,WAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAE,MAAM,EAAE,MAAM,CAAE,EAAC;;;KACpD;IAED,mCAAW,GAAX,UAAa,MAAM,EAAE,MAAM;QACvB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAE,MAAM,EAAE,MAAM,CAAE,CAAC;IAChD,CAAC;IAEK,4BAAI,GAAV,UAAY,OAAO;;;;;;wBACT,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;wBAC1C,WAAM,IAAI,CAAC,KAAK,CAAE,OAAO,CAAE,EAAA;;wBAA3B,SAA2B,CAAC;wBAC5B,WAAO,IAAI,CAAC,MAAM,EAAE,EAAC;;;;KACxB;IAEK,8BAAM,GAAZ,UAAc,EAAE,EAAE,IAAI,EAAE,OAAO;;;;;;wBAC3B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;wBACP,GAAG,GAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,YAAY,CAAE,CAAC;wBACzD,WAAM,GAAG,CAAC,IAAI,CAAE,OAAO,CAAE,EAAA;;wBAAzB,SAAyB,CAAC;wBACpB,GAAG,GAAG,EAAE,IAAI,EAAG,GAAG,CAAC,IAAI,EAAE,CAAC;wBAEhC,SAAS,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC;wBAEhD,WAAO,GAAG,EAAC;;;;KACd;IAEK,8BAAM,GAAZ,UAAc,IAAI,EAAE,OAAO;;;;;;wBACjB,GAAG,GAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAE,IAAI,EAAE,YAAY,CAAE,CAAC;wBACzD,WAAM,GAAG,CAAC,IAAI,CAAE,OAAO,CAAE,EAAA;;wBAAzB,SAAyB,CAAC;wBACpB,GAAG,GAAG,EAAE,EAAE,EAAG,GAAG,CAAC,EAAE,EAAE,IAAI,EAAG,GAAG,CAAC,IAAI,EAAE,KAAK,EAAG,GAAG,CAAC,KAAK,EAAE,CAAC;wBAEhE,SAAS,CAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,CAAE,CAAC;wBAEhD,WAAO,GAAG,EAAC;;;;KACd;IAEK,4BAAI,GAAV,UAAY,EAAE,EAAE,OAAgB;;;;;;wBACtB,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAA,EAAE,CAAC,CAAC;wBACpC,WAAM,GAAG,CAAC,KAAK,CAAE,OAAO,CAAE,EAAA;;wBAA1B,SAA0B,CAAC;wBAC3B,WAAO,GAAG,CAAC,MAAM,EAAE,EAAC;;;;KACvB;IAEK,+BAAO,GAAb,UAAe,EAAW,EAAE,OAAgB;;;gBACxC,WAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAE,EAAE,EAAE,OAAO,CAAE,EAAA;;;KAC9C;IACL,oBAAC;AAAD,CAAC,AA3ED,IA2EC;;AAED,SAAS,SAAS,CAAE,GAAY,EAAE,GAAY,EAAE,KAAgB;IAC5D,IAAI,KAAK,EAAE;QACP,IAAM,IAAI,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QAC1B,KAAgB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAAlB,IAAI,GAAG,cAAA;YACR,GAAG,CAAE,GAAG,CAAE,GAAG,IAAI,CAAE,GAAG,CAAE,CAAC;SAC5B;KACJ;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"proxy.js","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/lib/restful.d.ts b/endpoints/lib/restful.d.ts index 2a1efc76..8d168369 100644 --- a/endpoints/lib/restful.d.ts +++ b/endpoints/lib/restful.d.ts @@ -1,14 +1,14 @@ import { IOEndpoint, IOOptions, Transactional } from '@type-r/models'; import { MemoryEndpoint } from './memory'; -export declare type UrlTemplate = (options: any, model?: any) => string; +export type UrlTemplate = (options: any, model?: any) => string; export declare function create(url: string | UrlTemplate, fetchOptions?: Partial): RestfulEndpoint; export { create as restfulIO }; -export declare type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'; +export type HttpMethod = 'GET' | 'POST' | 'UPDATE' | 'DELETE' | 'PUT'; export interface RestfulIOOptions extends IOOptions { params?: object; options?: RequestInit; } -export declare type RestfulFetchOptions = { +export type RestfulFetchOptions = { cache?: RequestCache; credentials?: RequestCredentials; mode?: RequestMode; diff --git a/endpoints/lib/restful.js b/endpoints/lib/restful.js index ca62c8d8..c1e9d332 100644 --- a/endpoints/lib/restful.js +++ b/endpoints/lib/restful.js @@ -13,7 +13,7 @@ var RestfulEndpoint = (function () { this.fetchOptions = fetchOptions; this.memoryIO = mockData && !isProduction ? memoryIO(mockData, simulateDelay) : null; if (mockData && isProduction) { - log('error', 'Type-R:RestfulIO', "Mock data is used in production for " + url); + log('error', 'Type-R:RestfulIO', "Mock data is used in production for ".concat(url)); } } RestfulEndpoint.prototype.create = function (json, options, model) { @@ -51,7 +51,7 @@ var RestfulEndpoint = (function () { RestfulEndpoint.prototype.simulateIO = function (method, httpMethod, url, args) { return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) { - log(isProduction ? "error" : "info", 'Type-R:SimulatedIO', httpMethod + " " + url); + log(isProduction ? "error" : "info", 'Type-R:SimulatedIO', "".concat(httpMethod, " ").concat(url)); return [2, this.memoryIO[method].apply(this.memoryIO, args)]; }); }); @@ -84,7 +84,7 @@ var RestfulEndpoint = (function () { return fetch(url, this.buildRequestOptions(method, options, body)) .then(function (response) { if (response.ok) { - return response.json(); + return response.text().then(function (text) { return text ? JSON.parse(text) : null; }); } else { throw new Error(response.statusText); diff --git a/endpoints/lib/restful.js.map b/endpoints/lib/restful.js.map index 82d1c38d..1c74f6ce 100644 --- a/endpoints/lib/restful.js.map +++ b/endpoints/lib/restful.js.map @@ -1 +1 @@ -{"version":3,"file":"restful.js","sourceRoot":"","sources":["../src/restful.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"restful.js","sourceRoot":"","sources":["../src/restful.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/endpoints/package.json b/endpoints/package.json index 0e067016..f633fdda 100644 --- a/endpoints/package.json +++ b/endpoints/package.json @@ -1,20 +1,25 @@ { "name": "@type-r/endpoints", "description": "I/O endpoint for Type-R models", - "version":"4.0.2", + "version": "4.0.3", "main": "./dist/index.js", "jsnext:main": "./lib/index.js", "module": "./lib/index.js", "types": "./lib/index.d.ts", "scripts": { - "build":"tsc && rollup --config" + "build": "tsc && rollup --config" }, "author": "Ivan Terpugov", "license": "MIT", - "dependencies": { - "@type-r/models" : "^4.0.0", - "tslib" : "^1.10.0" + "@type-r/models": "^4.1.0", + "tslib": "^1.10.0" + }, + "devDependencies": { + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" } } - \ No newline at end of file diff --git a/endpoints/src/restful.ts b/endpoints/src/restful.ts index 6dd46ae2..7ebb9013 100644 --- a/endpoints/src/restful.ts +++ b/endpoints/src/restful.ts @@ -128,13 +128,13 @@ export class RestfulEndpoint implements IOEndpoint { } protected request( method : HttpMethod, url : string, {options} : RestfulIOOptions, body? ) : Promise { - return fetch( url, this.buildRequestOptions( method, options, body ) ) - .then( response => { - if( response.ok ) { - return response.json() - } else { - throw new Error( response.statusText ) - } + return fetch( url, this.buildRequestOptions( method, options, body ) ) + .then( response => { + if( response.ok ) { + return response.text().then( text => text ? JSON.parse( text ) : null ) + } else { + throw new Error( response.statusText ) + } } ); } } @@ -188,4 +188,4 @@ export class UrlBuilder { function removeTrailingSlash( url : string ) { const endsWithSlash = url.charAt( url.length - 1 ) === '/'; return endsWithSlash ? url.substr( 0, url.length - 1 ) : url; -} \ No newline at end of file +} diff --git a/endpoints/tsconfig.json b/endpoints/tsconfig.json index 3376dcd5..cb8e7fab 100644 --- a/endpoints/tsconfig.json +++ b/endpoints/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib" }, "files":[ "./src/index.ts" ] - } \ No newline at end of file + } diff --git a/examples/checklistTree/package.json b/examples/checklistTree/package.json index d09399ee..3052e481 100644 --- a/examples/checklistTree/package.json +++ b/examples/checklistTree/package.json @@ -4,8 +4,8 @@ "version": "2.0.0", "dependencies": { "@babel/runtime": "^7.5.5", - "@type-r/models": "^4.0.0", - "@type-r/react": "^4.0.0", + "@type-r/models": "^4.1.0", + "@type-r/react": "^4.1.0", "react": "^16.1.1", "react-dom": "^16.1.1" }, diff --git a/examples/js-starter/package.json b/examples/js-starter/package.json index 9997b42f..4e1f7424 100644 --- a/examples/js-starter/package.json +++ b/examples/js-starter/package.json @@ -3,8 +3,8 @@ "name": "js-starter", "version": "2.0.0", "dependencies": { - "@type-r/models": "^4.0.0", - "@type-r/react": "^4.0.0", + "@type-r/models": "^4.1.0", + "@type-r/react": "^4.1.0", "react": "^16.1.1", "react-dom": "^16.1.1" }, diff --git a/examples/todomvc/package.json b/examples/todomvc/package.json index c0b9ed7c..3d81846c 100644 --- a/examples/todomvc/package.json +++ b/examples/todomvc/package.json @@ -3,8 +3,8 @@ "name": "todomvc", "version": "1.0.0", "dependencies": { - "@type-r/models": "^4.0.0", - "@type-r/react": "^4.0.0", + "@type-r/models": "^4.1.0", + "@type-r/react": "^4.1.0", "classnames": "^2.2.6", "react": "^16.1.1", "react-dom": "^16.1.1", diff --git a/examples/ts-starter/package.json b/examples/ts-starter/package.json index 812ac78f..504d749f 100644 --- a/examples/ts-starter/package.json +++ b/examples/ts-starter/package.json @@ -3,8 +3,8 @@ "name": "ts-starter", "version": "2.0.0", "dependencies": { - "@type-r/models": "^4.0.0", - "@type-r/react": "^4.0.0", + "@type-r/models": "^4.1.0", + "@type-r/react": "^4.1.0", "react": "^16.1.1", "react-dom": "^16.1.1" }, diff --git a/examples/userslist/package.json b/examples/userslist/package.json index fc70de04..d6a6955d 100644 --- a/examples/userslist/package.json +++ b/examples/userslist/package.json @@ -17,13 +17,12 @@ "webpack-cli": "^3.3.6" }, "dependencies": { - "@type-r/models": "^4.0.0", - "@type-r/react": "^4.0.0", + "@type-r/models": "^4.1.0", + "@type-r/react": "^4.1.0", "react": "^16.1.1", "react-dom": "^16.1.1", "react-modal": "^3.1.2" }, - "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack", diff --git a/ext-types/dist/index.js b/ext-types/dist/index.js index 873c34b3..4bd9d1a6 100644 --- a/ext-types/dist/index.js +++ b/ext-types/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@type-r/models")):"function"==typeof define&&define.amd?define(["exports","@type-r/models"],e):e((t=t||self).NestedExtTypes={},t.Nested)}(this,function(t,r){"use strict";var o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var e,n,a,i=/\/Date\(([0-9]+)\)\//,f=(a=r.DateType,o(e=p,n=a),void(e.prototype=null===n?Object.create(n):(u.prototype=n.prototype,new u)),p.prototype.convert=function(t){if("string"==typeof t){var e=i.exec(t);if(e)return new Date(Number(e[1]))}return r.DateType.prototype.convert.apply(this,arguments)},p.prototype.toJSON=function(t){return t&&"/Date("+t.getTime()+")/"},p);function u(){this.constructor=e}function p(){return null!==a&&a.apply(this,arguments)||this}var d=new r.ChainableAttributeSpec({type:Date,_metatype:f}),c=r.type(Date).toJSON(function(t){return t&&t.getTime()});function s(t){return t?Math.round(t):0}s._metatype=r.NumericType;var y=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i;function l(t){return!t||y.test(t)}l.error="Not valid URL";var m=r.type(String).check(l),v=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;function _(t){return!t||v.test(t)}_.error="Not valid IP address";var h=r.type(String).check(_),z=/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;function b(t){return!t||!!t.match(z)}b.error="Not valid email";var g=r.type(String).check(b);t.Email=g,t.IPAddress=h,t.Integer=s,t.MicrosoftDate=d,t.MicrosoftDateType=f,t.Timestamp=c,t.Url=m,t.isEmail=b,t.isIPAddress=_,t.isUrl=l,Object.defineProperty(t,"__esModule",{value:!0})}); +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("@type-r/models")):"function"==typeof define&&define.amd?define(["exports","@type-r/models"],e):e((t=t||self).NestedExtTypes={},t.Nested)}(this,function(t,r){"use strict";var o=function(t,e){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])})(t,e)};var e,n,a,i=/\/Date\(([0-9]+)\)\//,f=(a=r.DateType,o(e=p,n=a),void(e.prototype=null===n?Object.create(n):(u.prototype=n.prototype,new u)),p.prototype.convert=function(t){if("string"==typeof t){var e=i.exec(t);if(e)return new Date(Number(e[1]))}return r.DateType.prototype.convert.apply(this,arguments)},p.prototype.toJSON=function(t){return t&&"/Date(".concat(t.getTime(),")/")},p);function u(){this.constructor=e}function p(){return null!==a&&a.apply(this,arguments)||this}var d=new r.ChainableAttributeSpec({type:Date,_metatype:f}),c=r.type(Date).toJSON(function(t){return t&&t.getTime()});function s(t){return t?Math.round(t):0}s._metatype=r.NumericType;var y=/^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,}))\.?)(?::\d{2,5})?(?:[/?#]\S*)?$/i;function l(t){return!t||y.test(t)}l.error="Not valid URL";var m=r.type(String).check(l),v=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;function _(t){return!t||v.test(t)}_.error="Not valid IP address";var h=r.type(String).check(_),z=/^[-a-z0-9~!$%^&*_=+}{\'?]+(\.[-a-z0-9~!$%^&*_=+}{\'?]+)*@([a-z0-9_][-a-z0-9_]*(\.[-a-z0-9_]+)*\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;function b(t){return!t||!!t.match(z)}b.error="Not valid email";var g=r.type(String).check(b);t.Email=g,t.IPAddress=h,t.Integer=s,t.MicrosoftDate=d,t.MicrosoftDateType=f,t.Timestamp=c,t.Url=m,t.isEmail=b,t.isIPAddress=_,t.isUrl=l,Object.defineProperty(t,"__esModule",{value:!0})}); //# sourceMappingURL=index.js.map diff --git a/ext-types/dist/index.js.map b/ext-types/dist/index.js.map index 11140f76..8cb7707b 100644 --- a/ext-types/dist/index.js.map +++ b/ext-types/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../src/dates.ts","../src/integer.ts","../src/url.ts","../src/ip.ts","../src/email.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DateType, ChainableAttributeSpec, type} from '@type-r/models';\r\n\r\nconst msDatePattern = /\\/Date\\(([0-9]+)\\)\\//;\r\n\r\nexport class MicrosoftDateType extends DateType {\r\n convert( next ) {\r\n if( typeof next === 'string' ){\r\n const msDate = msDatePattern.exec( next );\r\n if( msDate ){\r\n return new Date( Number( msDate[ 1 ] ) );\r\n }\r\n }\r\n\r\n return DateType.prototype.convert.apply( this, arguments );\r\n }\r\n\r\n toJSON( value ) { return value && `/Date(${ value.getTime() })/`; }\r\n}\r\n\r\nexport const MicrosoftDate = new ChainableAttributeSpec({\r\n type : Date,\r\n _metatype: MicrosoftDateType\r\n})\r\n\r\nexport const Timestamp = type( Date ).toJSON( x => x && x.getTime() );","import {NumericType} from '@type-r/models';\r\n\r\nexport function Integer( x ) {\r\n return x ? Math.round( x ) : 0;\r\n}\r\n\r\n(Integer as any)._metatype = NumericType;\r\n","import { AttributeCheck, type } from '@type-r/models';\r\n\r\nconst urlPattern = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\r\n\r\nexport function isUrl( x : string ) {\r\n return !x || urlPattern.test( x );\r\n}\r\n\r\n(isUrl as AttributeCheck).error = 'Not valid URL'\r\n\r\nexport const Url = type( String ).check( isUrl );","import { AttributeCheck, type } from '@type-r/models';\r\n\r\nconst ipPattern = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\r\n\r\nexport function isIPAddress( x : string ) {\r\n return !x || ipPattern.test( x );\r\n}\r\n\r\n(isIPAddress as AttributeCheck).error = 'Not valid IP address'\r\n\r\nexport const IPAddress = type( String ).check( isIPAddress );","import { AttributeCheck, type } from '@type-r/models';\r\n\r\nconst emailPattern = /^[-a-z0-9~!$%^&*_=+}{\\'?]+(\\.[-a-z0-9~!$%^&*_=+}{\\'?]+)*@([a-z0-9_][-a-z0-9_]*(\\.[-a-z0-9_]+)*\\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;\r\n\r\nexport function isEmail( x : string ) {\r\n return !x || !!x.match( emailPattern );\r\n}\r\n\r\n(isEmail as AttributeCheck).error = 'Not valid email';\r\n\r\nexport const Email = type( String ).check( isEmail );"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","msDatePattern","DateType","prototype","create","__","MicrosoftDateType","next","msDate","exec","Date","Number","convert","apply","this","arguments","value","getTime","constructor","MicrosoftDate","ChainableAttributeSpec","type","_metatype","Timestamp","toJSON","x","Integer","Math","round","NumericType","urlPattern","isUrl","test","error","Url","String","check","ipPattern","isIPAddress","IPAddress","emailPattern","isEmail","match","Email"],"mappings":"iQAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IClB5B,IDqB0BD,EAAGC,ICrBvBO,EAAiB,4BAEgBC,WDoBnCV,EADsBC,IAAGC,UAGzBD,EAAEU,UAAkB,OAANT,EAAaC,OAAOS,OAAOV,IAAMW,EAAGF,UAAYT,EAAES,UAAW,IAAIE,ICrB/EC,oBAAA,SAASC,GACL,GAAoB,iBAATA,EAAmB,CAC1B,IAAMC,EAASP,EAAcQ,KAAMF,GACnC,GAAIC,EACA,OAAO,IAAIE,KAAMC,OAAQH,EAAQ,KAIzC,OAAON,WAASC,UAAUS,QAAQC,MAAOC,KAAMC,YAGnDT,mBAAA,SAAQU,GAAU,OAAOA,GAAS,SAAUA,EAAMC,mBDSlD,SAASZ,IAAOS,KAAKI,YAAczB,ECrBvC,gEAea0B,EAAgB,IAAIC,yBAAuB,CACpDC,KAAYX,KACZY,UAAWhB,IAGFiB,EAAYF,OAAMX,MAAOc,OAAQ,SAAAC,GAAK,OAAAA,GAAKA,EAAER,qBCtB1CS,EAASD,GACrB,OAAOA,EAAIE,KAAKC,MAAOH,GAAM,EAGhCC,EAAgBJ,UAAYO,cCJ7B,IAAMC,EAAa,gdAEHC,EAAON,GACnB,OAAQA,GAAKK,EAAWE,KAAMP,GAGjCM,EAAyBE,MAAQ,oBAErBC,EAAMb,OAAMc,QAASC,MAAOL,GCRnCM,EAAY,gDAEFC,EAAab,GACzB,OAAQA,GAAKY,EAAUL,KAAMP,GAGhCa,EAA+BL,MAAQ,2BAE3BM,EAAYlB,OAAMc,QAASC,MAAOE,GCRzCE,EAAe,0QAELC,EAAShB,GACrB,OAAQA,KAAOA,EAAEiB,MAAOF,GAG3BC,EAA2BR,MAAQ,sBAEvBU,EAAQtB,OAAMc,QAASC,MAAOK"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../node_modules/tslib/tslib.es6.js","../src/dates.ts","../src/integer.ts","../src/url.ts","../src/ip.ts","../src/email.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {DateType, ChainableAttributeSpec, type} from '@type-r/models';\n\nconst msDatePattern = /\\/Date\\(([0-9]+)\\)\\//;\n\nexport class MicrosoftDateType extends DateType {\n convert( next ) {\n if( typeof next === 'string' ){\n const msDate = msDatePattern.exec( next );\n if( msDate ){\n return new Date( Number( msDate[ 1 ] ) );\n }\n }\n\n return DateType.prototype.convert.apply( this, arguments );\n }\n\n toJSON( value ) { return value && `/Date(${ value.getTime() })/`; }\n}\n\nexport const MicrosoftDate = new ChainableAttributeSpec({\n type : Date,\n _metatype: MicrosoftDateType\n})\n\nexport const Timestamp = type( Date ).toJSON( x => x && x.getTime() );","import {NumericType} from '@type-r/models';\n\nexport function Integer( x ) {\n return x ? Math.round( x ) : 0;\n}\n\n(Integer as any)._metatype = NumericType;\n","import { AttributeCheck, type } from '@type-r/models';\n\nconst urlPattern = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]-*)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,}))\\.?)(?::\\d{2,5})?(?:[/?#]\\S*)?$/i;\n\nexport function isUrl( x : string ) {\n return !x || urlPattern.test( x );\n}\n\n(isUrl as AttributeCheck).error = 'Not valid URL'\n\nexport const Url = type( String ).check( isUrl );","import { AttributeCheck, type } from '@type-r/models';\n\nconst ipPattern = /^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$/;\n\nexport function isIPAddress( x : string ) {\n return !x || ipPattern.test( x );\n}\n\n(isIPAddress as AttributeCheck).error = 'Not valid IP address'\n\nexport const IPAddress = type( String ).check( isIPAddress );","import { AttributeCheck, type } from '@type-r/models';\n\nconst emailPattern = /^[-a-z0-9~!$%^&*_=+}{\\'?]+(\\.[-a-z0-9~!$%^&*_=+}{\\'?]+)*@([a-z0-9_][-a-z0-9_]*(\\.[-a-z0-9_]+)*\\.(aero|arpa|biz|com|coop|edu|gov|info|int|mil|museum|name|net|org|pro|travel|mobi|[a-z][a-z])|([0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}))(:[0-9]{1,5})?$/i;\n\nexport function isEmail( x : string ) {\n return !x || !!x.match( emailPattern );\n}\n\n(isEmail as AttributeCheck).error = 'Not valid email';\n\nexport const Email = type( String ).check( isEmail );"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","msDatePattern","DateType","prototype","create","__","MicrosoftDateType","next","msDate","exec","Date","Number","convert","apply","this","arguments","value","getTime","constructor","MicrosoftDate","ChainableAttributeSpec","type","_metatype","Timestamp","toJSON","x","Integer","Math","round","NumericType","urlPattern","isUrl","test","error","Url","String","check","ipPattern","isIPAddress","IPAddress","emailPattern","isEmail","match","Email"],"mappings":"iQAgBA,IAAIA,EAAgB,SAASC,EAAGC,GAI5B,OAHAF,EAAgBG,OAAOC,gBAClB,CAAEC,UAAW,cAAgBC,OAAS,SAAUL,EAAGC,GAAKD,EAAEI,UAAYH,IACvE,SAAUD,EAAGC,GAAK,IAAK,IAAIK,KAAKL,EAAOA,EAAEM,eAAeD,KAAIN,EAAEM,GAAKL,EAAEK,MACpDN,EAAGC,IClB5B,IDqB0BD,EAAGC,ICrBvBO,EAAiB,4BAEgBC,WDoBnCV,EADsBC,IAAGC,UAGzBD,EAAEU,UAAkB,OAANT,EAAaC,OAAOS,OAAOV,IAAMW,EAAGF,UAAYT,EAAES,UAAW,IAAIE,ICrB/EC,oBAAA,SAASC,GACL,GAAoB,iBAATA,EAAmB,CAC1B,IAAMC,EAASP,EAAcQ,KAAMF,GACnC,GAAIC,EACA,OAAO,IAAIE,KAAMC,OAAQH,EAAQ,KAIzC,OAAON,WAASC,UAAUS,QAAQC,MAAOC,KAAMC,YAGnDT,mBAAA,SAAQU,GAAU,OAAOA,GAAS,gBAAUA,EAAMC,oBDSlD,SAASZ,IAAOS,KAAKI,YAAczB,ECrBvC,gEAea0B,EAAgB,IAAIC,yBAAuB,CACpDC,KAAYX,KACZY,UAAWhB,IAGFiB,EAAYF,OAAMX,MAAOc,OAAQ,SAAAC,GAAK,OAAAA,GAAKA,EAAER,qBCtB1CS,EAASD,GACrB,OAAOA,EAAIE,KAAKC,MAAOH,GAAM,EAGhCC,EAAgBJ,UAAYO,cCJ7B,IAAMC,EAAa,gdAEHC,EAAON,GACnB,OAAQA,GAAKK,EAAWE,KAAMP,GAGjCM,EAAyBE,MAAQ,oBAErBC,EAAMb,OAAMc,QAASC,MAAOL,GCRnCM,EAAY,gDAEFC,EAAab,GACzB,OAAQA,GAAKY,EAAUL,KAAMP,GAGhCa,EAA+BL,MAAQ,2BAE3BM,EAAYlB,OAAMc,QAASC,MAAOE,GCRzCE,EAAe,0QAELC,EAAShB,GACrB,OAAQA,KAAOA,EAAEiB,MAAOF,GAG3BC,EAA2BR,MAAQ,sBAEvBU,EAAQtB,OAAMc,QAASC,MAAOK"} \ No newline at end of file diff --git a/ext-types/lib/dates.js b/ext-types/lib/dates.js index 6ffe94fd..1da29dd9 100644 --- a/ext-types/lib/dates.js +++ b/ext-types/lib/dates.js @@ -15,7 +15,7 @@ var MicrosoftDateType = (function (_super) { } return DateType.prototype.convert.apply(this, arguments); }; - MicrosoftDateType.prototype.toJSON = function (value) { return value && "/Date(" + value.getTime() + ")/"; }; + MicrosoftDateType.prototype.toJSON = function (value) { return value && "/Date(".concat(value.getTime(), ")/"); }; return MicrosoftDateType; }(DateType)); export { MicrosoftDateType }; diff --git a/ext-types/lib/dates.js.map b/ext-types/lib/dates.js.map index e9067ea0..d7cb425b 100644 --- a/ext-types/lib/dates.js.map +++ b/ext-types/lib/dates.js.map @@ -1 +1 @@ -{"version":3,"file":"dates.js","sourceRoot":"","sources":["../src/dates.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEtE,IAAM,aAAa,GAAI,sBAAsB,CAAC;AAE9C;IAAuC,qCAAQ;IAA/C;;IAaA,CAAC;IAZG,mCAAO,GAAP,UAAS,IAAI;QACT,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YAC1B,IAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;YAC1C,IAAI,MAAM,EAAE;gBACR,OAAO,IAAI,IAAI,CAAE,MAAM,CAAE,MAAM,CAAE,CAAC,CAAE,CAAE,CAAE,CAAC;aAC5C;SACJ;QAED,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAC/D,CAAC;IAED,kCAAM,GAAN,UAAQ,KAAK,IAAK,OAAO,KAAK,IAAI,WAAU,KAAK,CAAC,OAAO,EAAE,OAAK,CAAC,CAAC,CAAC;IACvE,wBAAC;AAAD,CAAC,AAbD,CAAuC,QAAQ,GAa9C;;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC;IACpD,IAAI,EAAQ,IAAI;IAChB,SAAS,EAAE,iBAAiB;CAC/B,CAAC,CAAA;AAEF,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAE,IAAI,CAAE,CAAC,MAAM,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAhB,CAAgB,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"dates.js","sourceRoot":"","sources":["../src/dates.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEtE,IAAM,aAAa,GAAI,sBAAsB,CAAC;AAE9C;IAAuC,qCAAQ;IAA/C;;IAaA,CAAC;IAZG,mCAAO,GAAP,UAAS,IAAI;QACT,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC3B,IAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAE,IAAI,CAAE,CAAC;YAC1C,IAAI,MAAM,EAAE,CAAC;gBACT,OAAO,IAAI,IAAI,CAAE,MAAM,CAAE,MAAM,CAAE,CAAC,CAAE,CAAE,CAAE,CAAC;YAC7C,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAE,IAAI,EAAE,SAAS,CAAE,CAAC;IAC/D,CAAC;IAED,kCAAM,GAAN,UAAQ,KAAK,IAAK,OAAO,KAAK,IAAI,gBAAU,KAAK,CAAC,OAAO,EAAE,OAAK,CAAC,CAAC,CAAC;IACvE,wBAAC;AAAD,CAAC,AAbD,CAAuC,QAAQ,GAa9C;;AAED,MAAM,CAAC,IAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC;IACpD,IAAI,EAAQ,IAAI;IAChB,SAAS,EAAE,iBAAiB;CAC/B,CAAC,CAAA;AAEF,MAAM,CAAC,IAAM,SAAS,GAAG,IAAI,CAAE,IAAI,CAAE,CAAC,MAAM,CAAE,UAAA,CAAC,IAAI,OAAA,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAhB,CAAgB,CAAE,CAAC"} \ No newline at end of file diff --git a/ext-types/package.json b/ext-types/package.json index 329f3348..d60e3615 100644 --- a/ext-types/package.json +++ b/ext-types/package.json @@ -7,13 +7,19 @@ "module": "./lib/index.js", "types": "./lib/index.d.ts", "scripts": { - "build":"tsc && rollup --config" + "build": "tsc && rollup --config" }, "dependencies": { - "@type-r/models" : "^4.0.0", - "tslib" : "^1.10.0" + "@type-r/models": "^4.0.0", + "tslib": "^1.10.0" + }, + "devDependencies": { + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" }, "author": "Ivan Terpugov", "license": "MIT" } - \ No newline at end of file diff --git a/ext-types/tsconfig.json b/ext-types/tsconfig.json index 9f9b3851..30bde4c3 100644 --- a/ext-types/tsconfig.json +++ b/ext-types/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib", }, "files":[ "./src/index.ts" ] - } \ No newline at end of file + } diff --git a/globals/dist/index.js.map b/globals/dist/index.js.map index e0f6b2c4..f582b9df 100644 --- a/globals/dist/index.js.map +++ b/globals/dist/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Integer, MicrosoftDate, Timestamp } from '@type-r/ext-types';\r\nimport { type, ChainableAttributeSpec } from '@type-r/models';\r\n\r\n/*\r\n * dates\r\n */\r\ndeclare global {\r\n // Legacy has-notation\r\n interface Function{\r\n value : ( x : any ) => ChainableAttributeSpec;\r\n isRequired : ChainableAttributeSpec;\r\n asProp : PropertyDecorator\r\n has : ChainableAttributeSpec;\r\n }\r\n\r\n // Date type extensions\r\n interface DateConstructor {\r\n microsoft : ChainableAttributeSpec\r\n timestamp : ChainableAttributeSpec\r\n }\r\n\r\n // Integer type\r\n interface Window {\r\n Integer : Function;\r\n }\r\n\r\n interface NumberConstructor {\r\n integer : typeof Integer\r\n }\r\n}\r\n\r\nFunction.prototype.value = function( x ) {\r\n return new ChainableAttributeSpec( { type : this, value : x, hasCustomDefault : true } );\r\n};\r\n\r\nObject.defineProperty( Function.prototype, 'isRequired', {\r\n get() { return this._isRequired || this.has.isRequired; },\r\n set( x ){ this._isRequired = x; }\r\n});\r\n\r\nObject.defineProperty( Function.prototype, 'asProp', {\r\n get() { return this.has.asProp; },\r\n});\r\n\r\nObject.defineProperty( Function.prototype, 'has', {\r\n get() {\r\n // workaround for sinon.js and other libraries overriding 'has'\r\n return this._has || type( this );\r\n },\r\n\r\n set( value ) { this._has = value; }\r\n} );\r\n\r\n\r\nObject.defineProperties( Date, {\r\n microsoft: {\r\n value: MicrosoftDate\r\n },\r\n\r\n timestamp: {\r\n value: Timestamp\r\n }\r\n} );\r\n\r\n\r\n/*\r\n * integer\r\n */\r\n\r\nNumber.integer = Integer;\r\n\r\nif( typeof window !== 'undefined' ) {\r\n window.Integer = Integer;\r\n}"],"names":["Function","prototype","value","x","ChainableAttributeSpec","type","this","hasCustomDefault","Object","defineProperty","get","_isRequired","has","isRequired","set","asProp","_has","defineProperties","Date","microsoft","MicrosoftDate","timestamp","Timestamp","Number","integer","Integer","window"],"mappings":"6RA+BAA,SAASC,UAAUC,MAAQ,SAAUC,GACjC,OAAO,IAAIC,yBAAwB,CAAEC,KAAOC,KAAMJ,MAAQC,EAAGI,kBAAmB,KAGpFC,OAAOC,eAAgBT,SAASC,UAAW,aAAc,CACrDS,eAAQ,OAAOJ,KAAKK,aAAeL,KAAKM,IAAIC,YAC5CC,aAAKX,GAAKG,KAAKK,YAAcR,KAGjCK,OAAOC,eAAgBT,SAASC,UAAW,SAAU,CACjDS,eAAQ,OAAOJ,KAAKM,IAAIG,UAG5BP,OAAOC,eAAgBT,SAASC,UAAW,MAAO,CAC9CS,eAEI,OAAOJ,KAAKU,MAAQX,OAAMC,OAG9BQ,aAAKZ,GAAUI,KAAKU,KAAOd,KAI/BM,OAAOS,iBAAkBC,KAAM,CAC3BC,UAAW,CACPjB,MAAOkB,iBAGXC,UAAW,CACPnB,MAAOoB,eASfC,OAAOC,QAAUC,UAEK,oBAAXC,SACPA,OAAOD,QAAUA"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/index.ts"],"sourcesContent":["import { Integer, MicrosoftDate, Timestamp } from '@type-r/ext-types';\nimport { type, ChainableAttributeSpec } from '@type-r/models';\n\n/*\n * dates\n */\ndeclare global {\n // Legacy has-notation\n interface Function{\n value : ( x : any ) => ChainableAttributeSpec;\n isRequired : ChainableAttributeSpec;\n asProp : PropertyDecorator\n has : ChainableAttributeSpec;\n }\n\n // Date type extensions\n interface DateConstructor {\n microsoft : ChainableAttributeSpec\n timestamp : ChainableAttributeSpec\n }\n\n // Integer type\n interface Window {\n Integer : Function;\n }\n\n interface NumberConstructor {\n integer : typeof Integer\n }\n}\n\nFunction.prototype.value = function( x ) {\n return new ChainableAttributeSpec( { type : this, value : x, hasCustomDefault : true } );\n};\n\nObject.defineProperty( Function.prototype, 'isRequired', {\n get() { return this._isRequired || this.has.isRequired; },\n set( x ){ this._isRequired = x; }\n});\n\nObject.defineProperty( Function.prototype, 'asProp', {\n get() { return this.has.asProp; },\n});\n\nObject.defineProperty( Function.prototype, 'has', {\n get() {\n // workaround for sinon.js and other libraries overriding 'has'\n return this._has || type( this );\n },\n\n set( value ) { this._has = value; }\n} );\n\n\nObject.defineProperties( Date, {\n microsoft: {\n value: MicrosoftDate\n },\n\n timestamp: {\n value: Timestamp\n }\n} );\n\n\n/*\n * integer\n */\n\nNumber.integer = Integer;\n\nif( typeof window !== 'undefined' ) {\n window.Integer = Integer;\n}"],"names":["Function","prototype","value","x","ChainableAttributeSpec","type","this","hasCustomDefault","Object","defineProperty","get","_isRequired","has","isRequired","set","asProp","_has","defineProperties","Date","microsoft","MicrosoftDate","timestamp","Timestamp","Number","integer","Integer","window"],"mappings":"6RA+BAA,SAASC,UAAUC,MAAQ,SAAUC,GACjC,OAAO,IAAIC,yBAAwB,CAAEC,KAAOC,KAAMJ,MAAQC,EAAGI,kBAAmB,KAGpFC,OAAOC,eAAgBT,SAASC,UAAW,aAAc,CACrDS,eAAQ,OAAOJ,KAAKK,aAAeL,KAAKM,IAAIC,YAC5CC,aAAKX,GAAKG,KAAKK,YAAcR,KAGjCK,OAAOC,eAAgBT,SAASC,UAAW,SAAU,CACjDS,eAAQ,OAAOJ,KAAKM,IAAIG,UAG5BP,OAAOC,eAAgBT,SAASC,UAAW,MAAO,CAC9CS,eAEI,OAAOJ,KAAKU,MAAQX,OAAMC,OAG9BQ,aAAKZ,GAAUI,KAAKU,KAAOd,KAI/BM,OAAOS,iBAAkBC,KAAM,CAC3BC,UAAW,CACPjB,MAAOkB,iBAGXC,UAAW,CACPnB,MAAOoB,eASfC,OAAOC,QAAUC,UAEK,oBAAXC,SACPA,OAAOD,QAAUA"} \ No newline at end of file diff --git a/globals/lib/index.js.map b/globals/lib/index.js.map index 4bebb778..0223b598 100644 --- a/globals/lib/index.js.map +++ b/globals/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA8B9D,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;IAClC,OAAO,IAAI,sBAAsB,CAAE,EAAE,IAAI,EAAG,IAAI,EAAE,KAAK,EAAG,CAAC,EAAE,gBAAgB,EAAG,IAAI,EAAE,CAAE,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;IACrD,GAAG,gBAAK,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,GAAG,YAAE,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE;IACjD,GAAG,gBAAK,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE;IAC9C,GAAG;QAEC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAE,IAAI,CAAE,CAAC;IACrC,CAAC;IAED,GAAG,YAAE,KAAK,IAAK,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;CACtC,CAAE,CAAC;AAGJ,MAAM,CAAC,gBAAgB,CAAE,IAAI,EAAE;IAC3B,SAAS,EAAE;QACP,KAAK,EAAE,aAAa;KACvB;IAED,SAAS,EAAE;QACP,KAAK,EAAE,SAAS;KACnB;CACJ,CAAE,CAAC;AAOJ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;AAEzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAG;IAChC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;CAC5B"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AA8B9D,QAAQ,CAAC,SAAS,CAAC,KAAK,GAAG,UAAU,CAAC;IAClC,OAAO,IAAI,sBAAsB,CAAE,EAAE,IAAI,EAAG,IAAI,EAAE,KAAK,EAAG,CAAC,EAAE,gBAAgB,EAAG,IAAI,EAAE,CAAE,CAAC;AAC7F,CAAC,CAAC;AAEF,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,YAAY,EAAE;IACrD,GAAG,gBAAK,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,GAAG,YAAE,CAAC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE;IACjD,GAAG,gBAAK,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CACpC,CAAC,CAAC;AAEH,MAAM,CAAC,cAAc,CAAE,QAAQ,CAAC,SAAS,EAAE,KAAK,EAAE;IAC9C,GAAG;QAEC,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAE,IAAI,CAAE,CAAC;IACrC,CAAC;IAED,GAAG,YAAE,KAAK,IAAK,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;CACtC,CAAE,CAAC;AAGJ,MAAM,CAAC,gBAAgB,CAAE,IAAI,EAAE;IAC3B,SAAS,EAAE;QACP,KAAK,EAAE,aAAa;KACvB;IAED,SAAS,EAAE;QACP,KAAK,EAAE,SAAS;KACnB;CACJ,CAAE,CAAC;AAOJ,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;AAEzB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAG,CAAC;IACjC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;AAC7B,CAAC"} \ No newline at end of file diff --git a/globals/package.json b/globals/package.json index 673a1c4b..aecf9e32 100644 --- a/globals/package.json +++ b/globals/package.json @@ -7,14 +7,20 @@ "module": "./lib/index.js", "types": "./lib/index.d.ts", "scripts": { - "build":"tsc && rollup --config" + "build": "tsc && rollup --config" }, "dependencies": { - "@type-r/models" : "^4.0.0", - "@type-r/ext-types" : "^4.0.0", - "tslib" : "^1.10.0" + "@type-r/ext-types": "^4.0.0", + "@type-r/models": "^4.0.0", + "tslib": "^1.10.0" + }, + "devDependencies": { + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" }, "author": "Ivan Terpugov", "license": "MIT" } - \ No newline at end of file diff --git a/globals/tsconfig.json b/globals/tsconfig.json index 76e8d357..b3a81d76 100644 --- a/globals/tsconfig.json +++ b/globals/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib", }, "files": [ "./src/index.ts" ] -} \ No newline at end of file +} diff --git a/index.html b/index.html index 7175a69c..8daf4ad6 100644 --- a/index.html +++ b/index.html @@ -1549,7 +1549,7 @@

restfulIO( url, options? )

  • model.destroy() makes DELETE url.
  • Supports URI relative to owner (./relative/url resolves as /owner/:id/relative/url/:id ).

    -
    import { restfulIO } from 'type-r/endpoints/restful'
    +
    import { restfulIO } from '@type-r/endpoints'
     
     @define class Role extends Model {
         static endpoint = restfulIO( '/api/roles' );
    @@ -1568,7 +1568,7 @@ 

    restfulIO( url, options? )

    memoryIO( mockData?, delay? )

    Endpoint for mock testing. Takes optional array with mock data, and optional delay parameter which is the simulated I/O delay in milliseconds.

    -
    import { memoryIO } from 'type-r/endpoints/memory'
    +
    import { memoryIO } from '@type-r/endpoints'
     
     @define class User extends Model {
         static endpoint = memoryIO();
    @@ -1577,7 +1577,7 @@ 

    memoryIO( mockData?, delay? )

    localStorageIO( key )

    Endpoint for localStorage. Takes key parameter which must be unique for the persistent model's collection.

    -
    import { localStorageIO } from 'type-r/endpoints/localStorage'
    +
    import { localStorageIO } from '@type-r/endpoints'
     
     @define class User extends Model {
         static endpoint = localStorageIO( '/users' );
    @@ -1587,7 +1587,7 @@ 

    localStorageIO( key )

    attributesIO()

    Endpoint for I/O composition. Redirects model's fetch() request to its attributes and returns the combined abortable promise. Does not enable any other I/O methods and can be used with model.fetch() only.

    It's common pattern to use attributesIO endpoint in conjunction with Store to fetch all the data required by SPA page.

    -
    import { localStorageIO } from 'type-r/endpoints/attributes'
    +
    import { attributesIO } from '@type-r/endpoints'
     
     @define class PageStore extends Store {
         static endpoint = attributesIO();
    @@ -1605,7 +1605,7 @@ 

    proxyIO( RecordCtor )

    Assuming that you have Type-R models with endpoints working with the database, you can create an endpoint which will use an existing Model subclass as a transport. This endpoint can be connected to the RESTful endpoint API on the server side which will serve JSON to the restfulIO endpoint on the client.

    An advantage of this approach is that JSON schema will be transparently validated on the server side by the Type-R.

    -
        import { proxyIO } from 'type-r/endpoint/proxy'
    +
        import { proxyIO } from '@type-r/endpoints'
     
         ...
     
    @@ -1641,7 +1641,7 @@ 

    endpoint.unsubscribe(

    createIOPromise( init )

    Service function to create an abortable version of ES6 promise (with promise.abort() which meant to stop pending I/O and reject the promise).

    init function takes the third onAbort argument to register an optional abort handler. If no handler is registered, the default implementation of promise.abort() will just reject the promise.

    -
    import { createIOPromise } from 'type-r'
    +
    import { createIOPromise } from '@type-r/models'
     
     const abortablePromise = createIOPromise( ( resolve, reject, onAbort ) =>{
         ...
    @@ -2133,7 +2133,7 @@ 

    mixin Events

  • source.on( 'ev', callback ) - callback will not be called in the context of source by default.
  • Events is a mixin giving the object the ability to bind and trigger custom named events.

    -
    import { mixins, Events } from 'type-r'
    +
    import { mixins, Events } from '@type-r/mixture'
     
     @mixins( Events )
     class EventfulClass {
    @@ -2280,7 +2280,7 @@ 

    Type-R events list

    class Messenger

    Messenger is an abstract base class implementing Events mixin and some convenience methods.

    -
    import { define, Messenger } from 'type-r'
    +
    import { define, Messenger } from '@type-r/mixture'
     
     class MyMessenger extends Messenger {
     
    @@ -2458,7 +2458,7 @@ 

    Breaking changes

    New attribute definition notation

    Starting from version 3.X, Type-R does not modify built-in global JS objects. New type(T) attribute definition notation is introduced to replace T.has.

    -

    There's type-r/globals package for compatibility with version 2.x which must be imported once with import 'type-r/globals'. +

    There's @type-r/globals package for compatibility with version 2.x which must be imported once with import '@type-r/globals'. If this package is not used, the code must be refactored according to the rules below.

    @@ -2472,17 +2472,17 @@

    New attribute definition notation

    - + - + - + diff --git a/mixture/README.md b/mixture/README.md index 38687e67..3e5f2f40 100644 --- a/mixture/README.md +++ b/mixture/README.md @@ -116,7 +116,7 @@ The complete semantic if Backbone v1.1.x Events is supported with the following `Events` is a [mixin](#mixins) giving the object the ability to bind and trigger custom named events. ```javascript -import { mixins, Events } from 'type-r' +import { mixins, Events } from '@type-r/mixture' @mixins( Events ) class EventfulClass { @@ -247,7 +247,7 @@ change | (model, options) | The model is changed inside of collection. Messenger is an abstract base class implementing Events mixin and some convenience methods. ```javascript -import { define, Messenger } from 'type-r' +import { define, Messenger } from '@type-r/mixture' class MyMessenger extends Messenger { diff --git a/mixture/dist/index.js b/mixture/dist/index.js index 8cbea62c..c0059992 100644 --- a/mixture/dist/index.js +++ b/mixture/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).Mixture={})}(this,function(t){"use strict";function f(t,e){for(var n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n]);if(2( dest : T, ...sources : Object[] ) : T\r\nexport function defaults< T >( dest : T, source : Object ) : T {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) && !dest.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n if( arguments.length > 2 ){\r\n for( let i = 2; i < arguments.length; i++ ){\r\n const other = arguments[ i ];\r\n other && defaults( dest, other );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Check if value is raw JSON */\r\nexport function isValidJSON( value : any ) : boolean {\r\n if( value === null ){\r\n return true;\r\n }\r\n\r\n switch( typeof value ){\r\n case 'number' :\r\n case 'string' :\r\n case 'boolean' :\r\n return true;\r\n\r\n case 'object':\r\n var proto = Object.getPrototypeOf( value );\r\n\r\n if( proto === Object.prototype || proto === Array.prototype ){\r\n return every( value, isValidJSON );\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/** Get the base class constructor function.\r\n * @param Class Subclass constructor function.\r\n * @returns Base class constructor function.\r\n */\r\nexport function getBaseClass( Class : Function ) {\r\n return Object.getPrototypeOf( Class.prototype ).constructor\r\n}\r\n\r\nexport function assignToClassProto( Class, definition : T, ...names : K[] ) : void {\r\n for( let name of names ){\r\n const value = definition[ name ];\r\n value === void 0 || ( Class.prototype[ name ] = value );\r\n }\r\n}\r\n\r\n/** Checks whenever given object is an empty hash `{}` */\r\nexport function isEmpty( obj : {} ) : boolean {\r\n if( obj ){\r\n for( let key in obj ){\r\n if( obj.hasOwnProperty( key ) ){\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport type Iteratee = ( value : any, key? : string | number ) => any;\r\n\r\nfunction someArray( arr : any[], fun : Iteratee ) : any {\r\n let result;\r\n\r\n for( let i = 0; i < arr.length; i++ ){\r\n if( result = fun( arr[ i ], i ) ){\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nfunction someObject( obj : {}, fun : Iteratee ) : any {\r\n let result;\r\n\r\n for( let key in obj ){\r\n if( obj.hasOwnProperty( key ) ){\r\n if( result = fun( obj[ key ], key ) ){\r\n return result;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** Similar to underscore `_.some` */\r\nexport function some( obj, fun : Iteratee ) : any {\r\n if( Object.getPrototypeOf( obj ) === ArrayProto ){\r\n return someArray( obj, fun );\r\n }\r\n else{\r\n return someObject( obj, fun );\r\n }\r\n}\r\n\r\n/** Similar to underscore `_.every` */\r\nexport function every( obj : { }, predicate : Iteratee ) : boolean {\r\n return !some( obj, x => !predicate( x ) );\r\n}\r\n\r\n/** Similar to `getOwnPropertyDescriptor`, but traverse the whole prototype chain. */\r\nexport function getPropertyDescriptor( obj : {}, prop : string ) : PropertyDescriptor {\r\n let desc : PropertyDescriptor;\r\n\r\n for( let proto = obj; !desc && proto; proto = Object.getPrototypeOf( proto ) ) {\r\n desc = Object.getOwnPropertyDescriptor( proto, prop );\r\n }\r\n\r\n return desc;\r\n}\r\n\r\n/** Similar to underscore `_.omit` */\r\nexport function omit( source : {}, ...rest : string[] ) : {}\r\nexport function omit( source ) : {} {\r\n const dest = {}, discard = {};\r\n\r\n for( let i = 1; i < arguments.length; i ++ ){\r\n discard[ arguments[ i ] ] = true;\r\n }\r\n\r\n for( var name in source ) {\r\n if( !discard.hasOwnProperty( name ) && source.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** map `source` object properties with a given function, and assign the result to the `dest` object.\r\n * When `fun` returns `undefined`, skip this value. \r\n */\r\nexport function transform< A, B >( dest : { [ key : string ] : A }, source : { [ key : string ] : B }, fun : ( value : B, key : string ) => A | void ) : { [ key : string ] : A } {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) ) {\r\n var value = fun( source[ name ], name );\r\n value === void 0 || ( dest[ name ] = < A >value );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\nexport function fastAssign< A >( dest : A, source : {} ) : A {\r\n for( var name in source ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n\r\n return dest;\r\n}\r\n\r\nexport function fastDefaults< A >( dest : A, source : {} ) : A {\r\n for( var name in source ) {\r\n if( dest[ name ] === void 0 ){\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Similar to underscore `_.extend` and `Object.assign` */\r\nexport function assign< T >( dest : T, ...sources : Object[] ) : T\r\nexport function assign< T >( dest : T, source : Object ) : T {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n if( arguments.length > 2 ){\r\n for( let i = 2; i < arguments.length; i++ ){\r\n const other = arguments[ i ];\r\n other && assign( dest, other );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Similar to underscore `_.keys` */\r\nexport function keys( o : any ) : string[]{\r\n return o ? Object.keys( o ) : [];\r\n}\r\n\r\n/** Similar to underscore `_.once` */\r\nexport function once( func : Function ) : Function {\r\n var memo, first = true;\r\n return function() {\r\n if ( first ) {\r\n first = false;\r\n memo = func.apply(this, arguments);\r\n func = null;\r\n }\r\n return memo;\r\n };\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n DateProto = Date.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\n/**\r\n * Determine whenever two values are not equal, deeply traversing \r\n * arrays and plain JS objects (hashes). Dates are compared by enclosed timestamps, all other\r\n * values are compared with strict comparison.\r\n */\r\nexport function notEqual( a : any, b : any) : boolean {\r\n if( a === b ) return false;\r\n\r\n if( a && b && typeof a == 'object' && typeof b == 'object' ) {\r\n const protoA = Object.getPrototypeOf( a );\r\n\r\n if( protoA !== Object.getPrototypeOf( b ) ) return true;\r\n\r\n switch( protoA ){\r\n case DateProto : return +a !== +b;\r\n case ArrayProto : return arraysNotEqual( a, b );\r\n case ObjectProto :\r\n case null:\r\n return objectsNotEqual( a, b );\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction objectsNotEqual( a, b ) {\r\n const keysA = Object.keys( a );\r\n\r\n if( keysA.length !== Object.keys( b ).length ) return true;\r\n\r\n for( let i = 0; i < keysA.length; i++ ) {\r\n const key = keysA[ i ];\r\n\r\n if( !b.hasOwnProperty( key ) || notEqual( a[ key ], b[ key ] ) ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction arraysNotEqual( a, b ) {\r\n if( a.length !== b.length ) return true;\r\n\r\n for( let i = 0; i < a.length; i++ ) {\r\n if( notEqual( a[ i ], b[ i ] ) ) return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Create an object without Object prototype members except hasOwnProperty.\r\n * @param obj - optional parameter to populate the hash map from.\r\n */\r\nconst HashProto = Object.create( null );\r\nHashProto.hasOwnProperty = ObjectProto.hasOwnProperty;\r\n\r\nexport function hashMap( obj? ){\r\n const hash = Object.create( HashProto );\r\n return obj ? assign( hash, obj ) : hash;\r\n}\r\n\r\nexport function compare( a : any, b : any ) : -1 | 0 | 1 {\r\n // Handle strictly equal values.\r\n if( a == b ) return 0;\r\n\r\n // Handle nulls.\r\n if( a == null ) return -1;\r\n if( b == null ) return 1;\r\n\r\n // No nulls. Convert values to primitives.\r\n const av = a.valueOf(),\r\n bv = b.valueOf();\r\n\r\n return av < bv ? -1 :\r\n av > bv ? 1 :\r\n 0;\r\n}","import { once as _once } from './tools'\r\n\r\n/*******************\r\n * Prebuilt events map, used for optimized bulk event subscriptions.\r\n *\r\n * const events = new EventMap({\r\n * 'change' : true, // Resend this event from self as it is.\r\n * 'change:attr' : 'localTargetFunction',\r\n * 'executedInTargetContext' : function(){ ... }\r\n * 'executedInNativeContext' : '^props.handler'\r\n * })\r\n */\r\nexport interface EventsDefinition {\r\n [ events : string ] : Function | string | boolean\r\n}\r\n\r\nexport class EventMap {\r\n handlers : EventDescriptor[] = [];\r\n\r\n constructor( map? : EventsDefinition | EventMap ){\r\n if( map ){\r\n if( map instanceof EventMap ){\r\n this.handlers = map.handlers.slice();\r\n }\r\n else{\r\n map && this.addEventsMap( map );\r\n }\r\n }\r\n }\r\n\r\n merge( map : EventMap ){\r\n this.handlers = this.handlers.concat( map.handlers );\r\n }\r\n\r\n addEventsMap( map : EventsDefinition ){\r\n for( let names in map ){\r\n this.addEvent( names, map[ names ] )\r\n }\r\n }\r\n\r\n bubbleEvents( names : string ){\r\n for( let name of names.split( eventSplitter ) ){\r\n this.addEvent( name, getBubblingHandler( name ) );\r\n }\r\n }\r\n\r\n addEvent( names : string, callback : Function | string | boolean ){\r\n const { handlers } = this;\r\n\r\n for( let name of names.split( eventSplitter ) ){\r\n handlers.push( new EventDescriptor( name, callback ) );\r\n }\r\n }\r\n\r\n subscribe( target : {}, source : EventSource ){\r\n for( let event of this.handlers ){\r\n on( source, event.name, event.callback, target );\r\n }\r\n }\r\n\r\n unsubscribe( target : {}, source : EventSource ){\r\n for( let event of this.handlers ){\r\n off( source, event.name, event.callback, target );\r\n }\r\n }\r\n}\r\n\r\nexport class EventDescriptor {\r\n callback : Function\r\n\r\n constructor(\r\n public name : string,\r\n callback : Function | string | boolean\r\n ){\r\n if( callback === true ){\r\n this.callback = getBubblingHandler( name );\r\n }\r\n else if( typeof callback === 'string' ){\r\n this.callback =\r\n function localCallback(){\r\n const handler = this[ callback ];\r\n handler && handler.apply( this, arguments );\r\n };\r\n }\r\n else{\r\n this.callback = callback;\r\n }\r\n }\r\n}\r\n\r\nconst _bubblingHandlers = {};\r\n\r\nfunction getBubblingHandler( event : string ){\r\n return _bubblingHandlers[ event ] || (\r\n _bubblingHandlers[ event ] = function( a?, b?, c?, d?, e? ){\r\n if( d !== void 0 || e !== void 0 ) trigger5( this, event, a, b, c, d, e );\r\n if( c !== void 0 ) trigger3( this, event, a, b, c );\r\n else trigger2( this, event, a, b );\r\n }\r\n );\r\n}\r\n\r\nexport interface HandlersByEvent {\r\n [ name : string ] : EventHandler\r\n}\r\n\r\nexport class EventHandler {\r\n constructor( public callback : Callback, public context : any, public next = null ){}\r\n}\r\n\r\nfunction listOff( _events : HandlersByEvent, name : string, callback : Callback, context : any ){\r\n const head = _events[ name ];\r\n\r\n let filteredHead, prev;\r\n\r\n for( let ev = head; ev; ev = ev.next ){\r\n // Element must be kept\r\n if( ( callback && callback !== ev.callback && callback !== ev.callback._callback ) ||\r\n ( context && context !== ev.context ) ){\r\n \r\n prev = ev;\r\n filteredHead || ( filteredHead = ev );\r\n }\r\n // Element must be skipped\r\n else{\r\n if( prev ) prev.next = ev.next;\r\n }\r\n }\r\n\r\n if( head !== filteredHead ) _events[ name ] = filteredHead;\r\n}\r\n\r\nfunction listSend2( head : EventHandler, a, b ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b );\r\n}\r\n\r\nfunction listSend3( head : EventHandler, a, b, c ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c );\r\n}\r\n\r\nfunction listSend4( head : EventHandler, a, b, c, d ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d );\r\n}\r\n\r\nfunction listSend5( head : EventHandler, a, b, c, d, e ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e );\r\n}\r\n\r\nfunction listSend6( head : EventHandler, a, b, c, d, e, f ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e, f );\r\n}\r\n\r\nexport interface Callback extends Function {\r\n _callback? : Function\r\n}\r\n\r\nexport function on( source : EventSource, name : string, callback : Callback, context? : any ) : void {\r\n if( callback ){\r\n const _events = source._events || ( source._events = Object.create( null ) );\r\n _events[ name ] = new EventHandler( callback, context, _events[ name ] );\r\n }\r\n}\r\n\r\nexport function once( source : EventSource, name : string, callback : Callback, context? : any ) : void {\r\n if( callback ){\r\n const once : Callback = _once( function(){\r\n off( source, name, once );\r\n callback.apply(this, arguments);\r\n });\r\n\r\n once._callback = callback;\r\n on( source, name, once, context );\r\n }\r\n}\r\n\r\nexport function off( source : EventSource, name? : string, callback? : Callback, context? : any ) : void {\r\n const { _events } = source;\r\n if( _events ){\r\n if( callback || context ) {\r\n if( name ){\r\n listOff( _events, name, callback, context );\r\n }\r\n else{\r\n for( let name in _events ){\r\n listOff( _events, name, callback, context );\r\n }\r\n }\r\n }\r\n else if( name ){\r\n _events[ name ] = void 0;\r\n }\r\n else{\r\n source._events = void 0;\r\n }\r\n }\r\n}\r\n\r\nexport interface EventSource {\r\n /** @internal */\r\n _events : HandlersByEvent\r\n}\r\n\r\nconst eventSplitter = /\\s+/;\r\n\r\nexport function strings( api : ApiEntry, source : EventSource, events : string, callback : Callback, context ){\r\n if( eventSplitter.test( events ) ){\r\n const names = events.split( eventSplitter );\r\n for( let name of names ) api( source, name, callback, context );\r\n }\r\n else api( source, events, callback, context );\r\n}\r\n\r\nexport type ApiEntry = ( source : EventSource, event : string, callback : Callback, context? : any ) => void\r\n\r\n/*********************************\r\n * Event-triggering API\r\n */\r\n\r\n export function trigger2( self : EventSource, name : string, a, b ) : void {\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend2( queue, a, b );\r\n listSend3( all, name, a, b );\r\n }\r\n};\r\n\r\nexport function trigger3( self : EventSource, name : string, a, b, c ) : void{\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend3( queue, a, b, c );\r\n listSend4( all, name, a, b, c );\r\n }\r\n};\r\n\r\nexport function trigger5( self : EventSource, name : string, a, b, c, d, e ) : void{\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend5( queue, a, b, c, d, e );\r\n listSend6( all, name, a, b, c, d, e );\r\n }\r\n};","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*****************************************************************\r\n * Mixins engine and @define metaprogramming class extensions\r\n *\r\n * Vlad Balin & Volicon, (c) 2016-2017\r\n */\r\nimport { __extends } from 'tslib';\r\nimport { assign, defaults, getBaseClass, hashMap, transform } from './tools';\r\n\r\nexport interface Subclass< T > extends MixableConstructor {\r\n new ( ...args ) : T\r\n prototype : T\r\n}\r\n\r\nexport interface MixableConstructor extends Function{\r\n __super__? : object;\r\n mixins? : MixinsState;\r\n onExtend? : ( BaseClass : Function ) => void;\r\n onDefine? : ( definition : object, BaseClass : Function ) => void;\r\n define? : ( definition? : object, statics? : object ) => MixableConstructor;\r\n extend? : ( definition? : T, statics? : object ) => Subclass;\r\n}\r\n\r\nexport interface MixableDefinition {\r\n mixins? : Mixin[]\r\n}\r\n\r\n/**\r\n * Base class, holding metaprogramming class extensions.\r\n * Supports mixins and Class.define metaprogramming method.\r\n */\r\nexport class Mixable {\r\n static onExtend : ( BaseClass : Function ) => void;\r\n static onDefine : ( definition : object, BaseClass : Function ) => object; \r\n static __super__ : object\r\n static mixins : MixinsState;\r\n\r\n /** \r\n * Must be called after inheritance and before 'define'.\r\n */\r\n static define( protoProps : MixableDefinition = {}, staticProps? : object ) : MixableConstructor {\r\n const BaseClass : MixableConstructor = getBaseClass( this );\r\n\r\n // Assign statics.\r\n staticProps && assign( this, staticProps );\r\n\r\n // Extract and apply mixins from the definition.\r\n const { mixins, ...defineMixin } = protoProps;\r\n mixins && this.mixins.merge( mixins );\r\n\r\n // Unshift definition to the the prototype.\r\n this.mixins.mergeObject( this.prototype, defineMixin, true );\r\n\r\n // Unshift definition from statics to the prototype.\r\n this.mixins.mergeObject( this.prototype, this.mixins.getStaticDefinitions( BaseClass ), true );\r\n\r\n // Call onDefine hook, if it's present.\r\n this.onDefine && this.onDefine( this.mixins.definitions, BaseClass );\r\n \r\n // Apply merge rules to inherited members. No mixins can be added after this point.\r\n this.mixins.mergeInheritedMembers( BaseClass );\r\n\r\n return this;\r\n }\r\n\r\n /** Backbone-compatible extend method to be used in ES5 and for backward compatibility */\r\n static extend< T extends object>(spec? : T, statics? : {} ) : Subclass< T > {\r\n let TheSubclass : Subclass< T >;\r\n\r\n // 1. Create the subclass (ES5 compatibility shim).\r\n // If constructor function is given...\r\n if( spec && spec.hasOwnProperty( 'constructor' ) ){\r\n // ...we need to manually call internal TypeScript __extend function. Hack! Hack!\r\n TheSubclass = spec.constructor as any;\r\n __extends( TheSubclass, this );\r\n }\r\n // Otherwise, create the subclall in usual way.\r\n else{\r\n TheSubclass = class Subclass extends this {} as any;\r\n }\r\n\r\n predefine( TheSubclass );\r\n spec && TheSubclass.define( spec, statics );\r\n\r\n return TheSubclass;\r\n }\r\n}\r\n\r\n/** @decorator `@predefine` for forward definitions. Can be used with [[Mixable]] classes only.\r\n * Forwards the call to the [[Mixable.predefine]];\r\n */\r\nexport function predefine( Constructor : MixableConstructor ) : void {\r\n const BaseClass : MixableConstructor = getBaseClass( Constructor );\r\n\r\n // Legacy systems support\r\n Constructor.__super__ = BaseClass.prototype;\r\n \r\n // Initialize mixins structures...\r\n Constructor.define || MixinsState.get( Mixable ).populate( Constructor );\r\n\r\n // Make sure Ctor.mixins are ready before the callback...\r\n MixinsState.get( Constructor );\r\n\r\n // Call extend hook.\r\n Constructor.onExtend && Constructor.onExtend( BaseClass );\r\n}\r\n\r\n/** @decorator `@define` for metaprogramming magic. Can be used with [[Mixable]] classes only.\r\n * Forwards the call to [[Mixable.define]].\r\n */\r\nexport function define( ClassOrDefinition : Function ) : void;\r\nexport function define( ClassOrDefinition : object ) : ClassDecorator;\r\nexport function define( ClassOrDefinition : object | MixableConstructor ){\r\n // @define class\r\n if( typeof ClassOrDefinition === 'function' ){\r\n predefine( ClassOrDefinition );\r\n ( ClassOrDefinition as MixableConstructor ).define();\r\n }\r\n // @define({ prop : val, ... }) class\r\n else{\r\n return function( Ctor : MixableConstructor ){\r\n predefine( Ctor );\r\n Ctor.define( ClassOrDefinition );\r\n } as any;\r\n }\r\n}\r\n\r\nexport function definitions( rules : MixinMergeRules ) : ClassDecorator {\r\n return ( Class : Function ) => {\r\n const mixins = MixinsState.get( Class );\r\n mixins.definitionRules = defaults( hashMap(), rules, mixins.definitionRules );\r\n }\r\n}\r\n\r\n// Create simple property list decorator\r\nexport function propertyListDecorator( listName: string ) : PropertyDecorator {\r\n return function propList(proto, name : string) {\r\n const list = proto.hasOwnProperty( listName ) ?\r\n proto[ listName ] : (proto[ listName ] = (proto[ listName ] || []).slice()); \r\n\r\n list.push(name);\r\n }\r\n}\r\n\r\nexport function definitionDecorator( definitionKey, value ){\r\n return ( proto : object, name : string ) => {\r\n MixinsState\r\n .get( proto.constructor )\r\n .mergeObject( proto, {\r\n [ definitionKey ] : {\r\n [ name ] : value\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport class MixinsState {\r\n mergeRules : MixinMergeRules;\r\n definitionRules : MixinMergeRules;\r\n definitions : object = {};\r\n appliedMixins : Mixin[];\r\n\r\n // Return mixins state for the class. Initialize if it's not exist.\r\n static get( Class ) : MixinsState {\r\n const { mixins } = Class;\r\n \r\n return mixins && Class === mixins.Class ? mixins :\r\n Class.mixins = new MixinsState( Class );\r\n }\r\n\r\n constructor( public Class : MixableConstructor ){\r\n const { mixins } = getBaseClass( Class );\r\n\r\n this.mergeRules = ( mixins && mixins.mergeRules ) || hashMap();\r\n this.definitionRules = ( mixins && mixins.definitionRules ) || hashMap();\r\n this.appliedMixins = ( mixins && mixins.appliedMixins ) || [];\r\n }\r\n\r\n getStaticDefinitions( BaseClass : Function ){\r\n const definitions = hashMap(),\r\n { Class } = this;\r\n\r\n return transform( definitions, this.definitionRules, ( rule, name ) =>{\r\n if( BaseClass[ name ] !== Class[ name ]){\r\n return Class[ name ];\r\n }\r\n });\r\n }\r\n\r\n merge( mixins : Mixin[] ){\r\n const proto = this.Class.prototype,\r\n { mergeRules } = this;\r\n\r\n // Copy applied mixins array as it's going to be updated.\r\n const appliedMixins = this.appliedMixins = this.appliedMixins.slice();\r\n\r\n // Apply mixins in sequence...\r\n for( let mixin of mixins ) {\r\n // Mixins array should be flattened.\r\n if( Array.isArray( mixin ) ) {\r\n this.merge( mixin );\r\n }\r\n // Don't apply mixins twice.\r\n else if( appliedMixins.indexOf( mixin ) < 0 ){\r\n appliedMixins.push( mixin );\r\n\r\n // For constructors, merge _both_ static and prototype members.\r\n if( typeof mixin === 'function' ){\r\n // Merge static members\r\n this.mergeObject( this.Class, mixin );\r\n\r\n // merge definitionRules and mergeRules\r\n const sourceMixins = ( mixin as any ).mixins;\r\n if( sourceMixins ){\r\n this.mergeRules = defaults( hashMap(), this.mergeRules, sourceMixins.mergeRules );\r\n this.definitionRules = defaults( hashMap(), this.definitionRules, sourceMixins.definitionRules );\r\n this.appliedMixins = this.appliedMixins.concat( sourceMixins.appliedMixins );\r\n }\r\n\r\n // Prototypes are merged according with rules.\r\n this.mergeObject( proto, mixin.prototype );\r\n }\r\n // Handle plain object mixins.\r\n else {\r\n this.mergeObject( proto, mixin );\r\n }\r\n }\r\n }\r\n }\r\n\r\n populate( ...ctors : Function[] ){\r\n for( let Ctor of ctors ) {\r\n MixinsState.get( Ctor ).merge([ this.Class ]);\r\n }\r\n }\r\n\r\n mergeObject( dest : object, source : object, unshift? : boolean ) {\r\n forEachOwnProp( source, name => {\r\n const sourceProp = Object.getOwnPropertyDescriptor( source, name );\r\n let rule : MixinMergeRule;\r\n\r\n if( rule = this.definitionRules[ name ] ){\r\n assignProperty( this.definitions, name, sourceProp, rule, unshift );\r\n }\r\n\r\n if( !rule || rule === mixinRules.protoValue ){\r\n assignProperty( dest, name, sourceProp, this.mergeRules[ name ], unshift );\r\n }\r\n });\r\n }\r\n\r\n mergeInheritedMembers( BaseClass : Function ){\r\n const { mergeRules, Class } = this;\r\n\r\n if( mergeRules ){\r\n const proto = Class.prototype,\r\n baseProto = BaseClass.prototype;\r\n\r\n for( let name in mergeRules ) {\r\n const rule = mergeRules[ name ];\r\n\r\n if( proto.hasOwnProperty( name ) && name in baseProto ){\r\n proto[ name ] = resolveRule( proto[ name ], baseProto[ name ], rule );\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst dontMix = {\r\n function : hashMap({\r\n length : true,\r\n prototype : true,\r\n caller : true,\r\n arguments : true,\r\n name : true,\r\n __super__ : true\r\n }),\r\n \r\n object : hashMap({\r\n constructor : true\r\n }) \r\n}\r\n\r\nfunction forEachOwnProp( object : object, fun : ( name : string ) => void ){\r\n const ignore = dontMix[ typeof object ];\r\n\r\n for( let name of Object.getOwnPropertyNames( object ) ) {\r\n ignore[ name ] || fun( name );\r\n }\r\n}\r\n\r\nexport interface MixinMergeRules {\r\n [ name : string ] : MixinMergeRule\r\n}\r\n\r\nexport type MixinMergeRule = ( a : any, b : any ) => any\r\nexport type Mixin = { [ key : string ] : any } | Function\r\n\r\n// @mixins( A, B, ... ) decorator.\r\nexport interface MixinRulesDecorator {\r\n ( rules : MixinMergeRules ) : ClassDecorator\r\n value( a : object, b : object) : object;\r\n protoValue( a : object, b : object) : object;\r\n merge( a : object, b : object ) : object;\r\n pipe( a: Function, b : Function ) : Function;\r\n defaults( a: Function, b : Function ) : Function;\r\n classFirst( a: Function, b : Function ) : Function;\r\n classLast( a: Function, b : Function ) : Function;\r\n every( a: Function, b : Function ) : Function;\r\n some( a: Function, b : Function ) : Function;\r\n}\r\n\r\nexport const mixins = ( ...list : Mixin[] ) => (\r\n ( Class : Function ) => MixinsState.get( Class ).merge( list )\r\n);\r\n\r\n// @mixinRules({ name : rule, ... }) decorator.\r\nexport const mixinRules = ( ( rules : MixinMergeRules ) => (\r\n ( Class : Function ) => {\r\n const mixins = MixinsState.get( Class );\r\n mixins.mergeRules = defaults( rules, mixins.mergeRules );\r\n }\r\n) ) as MixinRulesDecorator;\r\n\r\n// Pre-defined mixin merge rules\r\n\r\nmixinRules.value = ( a, b ) => a;\r\n\r\nmixinRules.protoValue = ( a, b ) => a;\r\n\r\n// Recursively merge members\r\nmixinRules.merge = ( a, b ) => defaults( {}, a, b );\r\n\r\n // Execute methods in pipe, with the class method executed last.\r\nmixinRules.pipe = ( a, b ) => (\r\n function( x : any ) : any {\r\n return a.call( this, b.call( this, x ) );\r\n }\r\n);\r\n\r\n // Assume methods return an object, and merge results with defaults (class method executed first)\r\nmixinRules.defaults = ( a : Function, b : Function ) => (\r\n function() : object {\r\n return defaults( a.apply( this, arguments ), b.apply( this, arguments ) );\r\n }\r\n);\r\n\r\n// Execute methods in sequence staring with the class method.\r\nmixinRules.classFirst = ( a : Function, b : Function ) => (\r\n function() : void {\r\n a.apply( this, arguments );\r\n b.apply( this, arguments );\r\n }\r\n);\r\n\r\n // Execute methods in sequence ending with the class method.\r\nmixinRules.classLast = ( a : Function, b : Function ) => (\r\n function() : void {\r\n b.apply( this, arguments );\r\n a.apply( this, arguments );\r\n }\r\n)\r\n\r\n // Execute methods in sequence returning the first falsy result.\r\nmixinRules.every = ( a : Function, b : Function ) =>(\r\n function() : any {\r\n return a.apply( this, arguments ) && b.apply( this, arguments );\r\n }\r\n);\r\n // Execute methods in sequence returning the first truthy result.\r\nmixinRules.some = ( a : Function, b : Function ) =>(\r\n function() : any {\r\n return a.apply( this, arguments ) || b.apply( this, arguments );\r\n }\r\n);\r\n\r\n/**\r\n * Helpers\r\n */\r\n\r\nfunction assignProperty( dest : object, name : string, sourceProp : PropertyDescriptor, rule : MixinMergeRule, unshift? : boolean ){\r\n// Destination prop is defined, thus the merge rules must be applied.\r\n if( dest.hasOwnProperty( name ) ){\r\n const destProp = Object.getOwnPropertyDescriptor( dest, name );\r\n\r\n if( destProp.configurable && 'value' in destProp ){\r\n dest[ name ] = unshift ?\r\n resolveRule( sourceProp.value, destProp.value, rule ) :\r\n resolveRule( destProp.value, sourceProp.value, rule ) ;\r\n }\r\n }\r\n // If destination is empty, just copy the prop over.\r\n else{\r\n Object.defineProperty( dest, name, sourceProp );\r\n }\r\n}\r\n\r\nfunction resolveRule( dest, source, rule : MixinMergeRule ){\r\n // When destination is empty, take the source.\r\n if( dest === void 0 ) return source;\r\n\r\n // In these cases we take non-empty destination:\r\n if( !rule || source === void 0 ) return dest;\r\n\r\n // In other cases we must merge values.\r\n return rule( dest, source );\r\n}","import * as _eventsApi from './eventsource';\r\nimport { EventMap, EventsDefinition, EventSource, HandlersByEvent } from './eventsource';\r\nimport { define, definitions, Mixable, MixableConstructor, mixinRules, MixinsState } from './mixins';\r\nimport { omit, transform } from './tools';\r\n\r\nconst { strings, on, off, once, trigger5, trigger2, trigger3 } = _eventsApi;\r\n\r\nlet _idCount = 0;\r\n\r\nfunction uniqueId() : string {\r\n return 'l' + _idCount++;\r\n}\r\n\r\nexport { EventMap, EventsDefinition };\r\n\r\nexport interface MessengerDefinition {\r\n _localEvents? : EventMap\r\n localEvents? : EventsDefinition\r\n properties? : PropertyMap\r\n [ name : string ] : any\r\n}\r\n\r\nexport interface PropertyMap {\r\n [ name : string ] : Property\r\n}\r\n\r\nexport type Property = PropertyDescriptor | ( () => any )\r\n\r\nexport interface MessengersByCid {\r\n [ cid : string ] : Messenger\r\n}\r\n\r\nexport type EventCallbacks = { [ events : string ] : EventCallback }\r\nexport type EventCallback = ( this : Context, ...args : any[] ) => void\r\n\r\n/*************************\r\n * Messenger is mixable class with capabilities of sending and receiving synchronous events.\r\n * This class itself can serve as both mixin and base class.\r\n */\r\n\r\n@define\r\n@definitions({\r\n properties : mixinRules.merge,\r\n localEvents : mixinRules.merge\r\n})\r\nexport class Messenger implements Mixable, EventSource {\r\n // Define extendable mixin static properties.\r\n /** @internal */\r\n static __super__ : object;\r\n static mixins : MixinsState;\r\n static onExtend : ( BaseClass : Function ) => void;\r\n static define : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\r\n static extend : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\r\n static onDefine({ localEvents, _localEvents, properties } : MessengerDefinition, BaseClass? : typeof Mixable ){\r\n // Handle localEvents definition\r\n if( localEvents || _localEvents ){\r\n const eventsMap = new EventMap( this.prototype._localEvents );\r\n\r\n localEvents && eventsMap.addEventsMap( localEvents );\r\n _localEvents && eventsMap.merge( _localEvents );\r\n \r\n this.prototype._localEvents = eventsMap;\r\n }\r\n\r\n // Handle properties definitions...\r\n if( properties ){\r\n Object.defineProperties( this.prototype, transform( {}, properties, toPropertyDescriptor ) );\r\n }\r\n }\r\n\r\n /** @internal */ \r\n _events : HandlersByEvent = void 0;\r\n\r\n /** @internal */ \r\n _listeningTo : MessengersByCid = void 0\r\n\r\n /** Unique client-only id. */\r\n cid : string\r\n\r\n /** Prototype-only property to manage automatic local events subscription */ \r\n protected _localEvents : EventMap\r\n\r\n constructor(){\r\n this.cid = uniqueId();\r\n this.initialize.apply( this, arguments );\r\n\r\n // TODO: local events subscribe?\r\n }\r\n\r\n /** Method is called at the end of the constructor */\r\n initialize() : void {}\r\n \r\n on( events : string | EventCallbacks, callback?, context? ) : this {\r\n if( typeof events === 'string' ) strings( on, this, events, callback, context );\r\n else for( let name in events ) strings( on, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n once( events : string | EventCallbacks, callback?, context? ) : this {\r\n if( typeof events === 'string' ) strings( once, this, events, callback, context );\r\n else for( let name in events ) strings( once, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n off( events? : string | EventCallbacks, callback?, context? ) : this {\r\n if( !events ) off( this, void 0, callback, context );\r\n else if( typeof events === 'string' ) strings( off, this, events, callback, context );\r\n else for( let name in events ) strings( off, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n // Trigger one or many events, firing all bound callbacks. Callbacks are\r\n // passed the same arguments as `trigger` is, apart from the event name\r\n // (unless you're listening on `\"all\"`, which will cause your callback to\r\n // receive the true name of the event as the first argument).\r\n trigger(name : string, a?, b?, c?, d?, e? ) : this {\r\n if( d !== void 0 || e !== void 0 ) trigger5( this, name, a, b, c, d, e );\r\n else if( c !== void 0 ) trigger3( this, name, a, b, c );\r\n else trigger2( this, name, a, b );\r\n return this;\r\n }\r\n\r\n listenTo( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\r\n if( source ){\r\n addReference( this, source );\r\n source.on( a, !b && typeof a === 'object' ? this : b, this );\r\n }\r\n\r\n return this;\r\n }\r\n\r\n listenToOnce( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\r\n if( source ){\r\n addReference( this, source );\r\n source.once( a, !b && typeof a === 'object' ? this : b, this );\r\n }\r\n\r\n return this;\r\n }\r\n\r\n stopListening( a_source? : Messenger, a? : string | EventCallbacks, b? : Function ) : this {\r\n const { _listeningTo } = this;\r\n if( _listeningTo ){\r\n const removeAll = !( a || b ),\r\n second = !b && typeof a === 'object' ? this : b;\r\n\r\n if( a_source ){\r\n const source = _listeningTo[ a_source.cid ];\r\n if( source ){\r\n if( removeAll ) delete _listeningTo[ a_source.cid ];\r\n source.off( a, second, this );\r\n }\r\n }\r\n else if( a_source == null ){\r\n for( let cid in _listeningTo ) _listeningTo[ cid ].off( a, second, this );\r\n\r\n if( removeAll ) ( this._listeningTo = void 0 );\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Destructor. Stops messenger from listening to all objects,\r\n * and stop others from listening to the messenger. \r\n */\r\n _disposed : boolean\r\n\r\n dispose() : void {\r\n if( this._disposed ) return;\r\n\r\n this.stopListening();\r\n this.off();\r\n\r\n this._disposed = true;\r\n }\r\n}\r\n\r\n/**\r\n * Backbone 1.2 API conformant Events mixin.\r\n */\r\nexport const Events : Messenger = omit( Messenger.prototype, 'constructor', 'initialize' );\r\n\r\n/**\r\n * Messenger Private Helpers \r\n */\r\n\r\nfunction toPropertyDescriptor( x : Property ) : PropertyDescriptor {\r\n if( x ){\r\n return typeof x === 'function' ? { get : < () => any >x, configurable : true } : x;\r\n }\r\n}\r\n\r\nfunction addReference( listener : Messenger, source : Messenger ){\r\n const listeningTo = listener._listeningTo || (listener._listeningTo = Object.create( null ) ),\r\n cid = source.cid || ( source.cid = uniqueId() );\r\n\r\n listeningTo[ cid ] = source;\r\n}","import { Messenger } from './events'\r\nimport { define } from './mixins';\r\n\r\nexport type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log';\r\nexport type LoggerEventHandler = ( topic : string, msg : string, props : object ) => void;\r\n\r\nexport const isProduction = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production',\r\n logEvents : LogLevel[] = isProduction ?\r\n [ 'error', 'info' ] :\r\n [ 'error', 'warn', 'debug', 'info', 'log' ];\r\n\r\n@define\r\nexport class Logger extends Messenger {\r\n counter : { [ level in LogLevel ]? : number } = {}\r\n\r\n // Log events of the given log level to the console, optionally filtered by topic\r\n logToConsole( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n const args = [ `[${topic}] ${msg}` ];\r\n \r\n for( let name in props ){\r\n args.push( `\\n\\t${name}:`, toString( props[ name ] ) );\r\n }\r\n \r\n console[ level ].apply( console, args );\r\n }\r\n });\r\n }\r\n\r\n // Fire exception on the events of the given log level, optionally filtered by topic\r\n throwOn( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n throw new Error( `[${topic}] ${msg}` );\r\n }\r\n });\r\n }\r\n\r\n // Count log events of the given level, optionally filtered by topic\r\n count( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n this.counter[ level ] = ( this.counter[ level ] || 0 ) + 1;\r\n }\r\n });\r\n }\r\n\r\n trigger : ( level : LogLevel, topic : string, message : string, props? : object ) => this;\r\n \r\n off : ( event? : LogLevel ) => this;\r\n\r\n\r\n on( handlers : { [ name in LogLevel ] : LoggerEventHandler } ) : this;\r\n on( handlers : LogLevel, handler : LoggerEventHandler ) : this;\r\n on( handlers : 'all', handler : ( level : LogLevel, topic : string, msg : string, props : object ) => void ) : this;\r\n on( a : any, b? : any ){\r\n return super.on( a, b );\r\n }\r\n}\r\n\r\n/**\r\n * Convert objects to the plain text friendly format.\r\n * primitives as in JSON.\r\n */\r\nlet toString = typeof window === 'undefined' ? \r\n something => {\r\n if( something && typeof something === 'object' ){\r\n // Support custom object wrappers...\r\n const value = something.__inner_state__ || something,\r\n isArray = Array.isArray( value );\r\n\r\n const body = isArray ? `[ length = ${ value.length } ]` : `{ ${ Object.keys( value ).join( ', ' )} }`;\r\n\r\n return something.constructor.name + ' ' + body;\r\n }\r\n\r\n return JSON.stringify( something );\r\n }\r\n : x => x;\r\n\r\nexport const logger = new Logger();\r\n\r\nif( typeof console !== 'undefined' ) {\r\n for( let event of logEvents ){\r\n logger.logToConsole( event );\r\n }\r\n}\r\n\r\nexport const throwingLogger = new Logger();\r\nthrowingLogger.throwOn( 'error' ).throwOn( 'warn' );\r\n\r\nexport const log : typeof logger.trigger = logger.trigger.bind( logger );"],"names":["defaults","dest","source","name","hasOwnProperty","arguments","length","i","other","getBaseClass","Class","Object","getPrototypeOf","prototype","constructor","some","obj","fun","ArrayProto","arr","result","someArray","key","someObject","every","predicate","x","omit","discard","transform","value","assign","once","func","memo","first","apply","this","Array","DateProto","Date","ObjectProto","notEqual","a","b","protoA","arraysNotEqual","keysA","keys","objectsNotEqual","HashProto","create","hashMap","hash","isValidJSON","proto","definition","_i","names","names_1","_a","name_1","prop","desc","getOwnPropertyDescriptor","o","av","valueOf","bv","EventMap","map","handlers","concat","addEvent","split","eventSplitter","getBubblingHandler","callback","name_2","push","EventDescriptor","target","event_1","on","event_2","off","slice","addEventsMap","handler","_bubblingHandlers","event","c","d","e","trigger5","trigger3","trigger2","context","next","listOff","_events","filteredHead","prev","head","ev","_callback","listSend3","call","EventHandler","once_1","_once","name_3","strings","api","events","test","self","queue","all","listSend2","listSend4","listSend5","f","listSend6","extendStatics","setPrototypeOf","__proto__","p","__extends","__","__decorate","decorators","r","Reflect","decorate","defineProperty","Mixable","protoProps","staticProps","BaseClass","mixins","defineMixin","s","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","merge","mergeObject","getStaticDefinitions","onDefine","definitions","mergeInheritedMembers","spec","statics","TheSubclass","__extends_1","predefine","define","Constructor","__super__","MixinsState","get","populate","onExtend","ClassOrDefinition","Ctor","rules","definitionRules","rule","appliedMixins","mixins_1","mixin","isArray","sourceMixins","mergeRules","ctors","ctors_1","unshift","object","ignore","dontMix","getOwnPropertyNames","forEachOwnProp","sourceProp","_this","assignProperty","mixinRules","protoValue","baseProto","resolveRule","function","caller","destProp","configurable","pipe","classFirst","classLast","_idCount","uniqueId","Messenger","localEvents","_localEvents","properties","eventsMap","defineProperties","toPropertyDescriptor","addReference","a_source","_listeningTo","removeAll","second","cid","_disposed","stopListening","initialize","Events","listener","isProduction","process","env","NODE_ENV","logEvents","Logger","level","filter","topic","msg","props","args","toString","console","Error","counter","_super","window","something","__inner_state__","body","join","JSON","stringify","logger","logEvents_1","logToConsole","throwingLogger","throwOn","log","trigger","bind","definitionKey","list","listName"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/tools.ts","../src/eventsource.ts","../../node_modules/tslib/tslib.es6.js","../src/mixins.ts","../src/events.ts","../src/logging.ts"],"sourcesContent":[" /** Similar to underscore `_.defaults` */\nexport function defaults< T >( dest : T, ...sources : Object[] ) : T\nexport function defaults< T >( dest : T, source : Object ) : T {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) && !dest.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n if( arguments.length > 2 ){\n for( let i = 2; i < arguments.length; i++ ){\n const other = arguments[ i ];\n other && defaults( dest, other );\n }\n }\n\n return dest;\n}\n\n/** Check if value is raw JSON */\nexport function isValidJSON( value : any ) : boolean {\n if( value === null ){\n return true;\n }\n\n switch( typeof value ){\n case 'number' :\n case 'string' :\n case 'boolean' :\n return true;\n\n case 'object':\n var proto = Object.getPrototypeOf( value );\n\n if( proto === Object.prototype || proto === Array.prototype ){\n return every( value, isValidJSON );\n }\n }\n\n return false;\n}\n\n/** Get the base class constructor function.\n * @param Class Subclass constructor function.\n * @returns Base class constructor function.\n */\nexport function getBaseClass( Class : Function ) {\n return Object.getPrototypeOf( Class.prototype ).constructor\n}\n\nexport function assignToClassProto( Class, definition : T, ...names : K[] ) : void {\n for( let name of names ){\n const value = definition[ name ];\n value === void 0 || ( Class.prototype[ name ] = value );\n }\n}\n\n/** Checks whenever given object is an empty hash `{}` */\nexport function isEmpty( obj : {} ) : boolean {\n if( obj ){\n for( let key in obj ){\n if( obj.hasOwnProperty( key ) ){\n return false;\n }\n }\n }\n\n return true;\n}\n\nexport type Iteratee = ( value : any, key? : string | number ) => any;\n\nfunction someArray( arr : any[], fun : Iteratee ) : any {\n let result;\n\n for( let i = 0; i < arr.length; i++ ){\n if( result = fun( arr[ i ], i ) ){\n return result;\n }\n }\n}\n\nfunction someObject( obj : {}, fun : Iteratee ) : any {\n let result;\n\n for( let key in obj ){\n if( obj.hasOwnProperty( key ) ){\n if( result = fun( obj[ key ], key ) ){\n return result;\n }\n }\n }\n}\n\n/** Similar to underscore `_.some` */\nexport function some( obj, fun : Iteratee ) : any {\n if( Object.getPrototypeOf( obj ) === ArrayProto ){\n return someArray( obj, fun );\n }\n else{\n return someObject( obj, fun );\n }\n}\n\n/** Similar to underscore `_.every` */\nexport function every( obj : { }, predicate : Iteratee ) : boolean {\n return !some( obj, x => !predicate( x ) );\n}\n\n/** Similar to `getOwnPropertyDescriptor`, but traverse the whole prototype chain. */\nexport function getPropertyDescriptor( obj : {}, prop : string ) : PropertyDescriptor {\n let desc : PropertyDescriptor;\n\n for( let proto = obj; !desc && proto; proto = Object.getPrototypeOf( proto ) ) {\n desc = Object.getOwnPropertyDescriptor( proto, prop );\n }\n\n return desc;\n}\n\n/** Similar to underscore `_.omit` */\nexport function omit( source : {}, ...rest : string[] ) : {}\nexport function omit( source ) : {} {\n const dest = {}, discard = {};\n\n for( let i = 1; i < arguments.length; i ++ ){\n discard[ arguments[ i ] ] = true;\n }\n\n for( var name in source ) {\n if( !discard.hasOwnProperty( name ) && source.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n return dest;\n}\n\n/** map `source` object properties with a given function, and assign the result to the `dest` object.\n * When `fun` returns `undefined`, skip this value. \n */\nexport function transform< A, B >( dest : { [ key : string ] : A }, source : { [ key : string ] : B }, fun : ( value : B, key : string ) => A | void ) : { [ key : string ] : A } {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) ) {\n var value = fun( source[ name ], name );\n value === void 0 || ( dest[ name ] = < A >value );\n }\n }\n\n return dest;\n}\n\nexport function fastAssign< A >( dest : A, source : {} ) : A {\n for( var name in source ) {\n dest[ name ] = source[ name ];\n }\n\n return dest;\n}\n\nexport function fastDefaults< A >( dest : A, source : {} ) : A {\n for( var name in source ) {\n if( dest[ name ] === void 0 ){\n dest[ name ] = source[ name ];\n }\n }\n\n return dest;\n}\n\n/** Similar to underscore `_.extend` and `Object.assign` */\nexport function assign< T >( dest : T, ...sources : Object[] ) : T\nexport function assign< T >( dest : T, source : Object ) : T {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n if( arguments.length > 2 ){\n for( let i = 2; i < arguments.length; i++ ){\n const other = arguments[ i ];\n other && assign( dest, other );\n }\n }\n\n return dest;\n}\n\n/** Similar to underscore `_.keys` */\nexport function keys( o : any ) : string[]{\n return o ? Object.keys( o ) : [];\n}\n\n/** Similar to underscore `_.once` */\nexport function once( func : Function ) : Function {\n var memo, first = true;\n return function() {\n if ( first ) {\n first = false;\n memo = func.apply(this, arguments);\n func = null;\n }\n return memo;\n };\n}\n\nconst ArrayProto = Array.prototype,\n DateProto = Date.prototype,\n ObjectProto = Object.prototype;\n\n/**\n * Determine whenever two values are not equal, deeply traversing \n * arrays and plain JS objects (hashes). Dates are compared by enclosed timestamps, all other\n * values are compared with strict comparison.\n */\nexport function notEqual( a : any, b : any) : boolean {\n if( a === b ) return false;\n\n if( a && b && typeof a == 'object' && typeof b == 'object' ) {\n const protoA = Object.getPrototypeOf( a );\n\n if( protoA !== Object.getPrototypeOf( b ) ) return true;\n\n switch( protoA ){\n case DateProto : return +a !== +b;\n case ArrayProto : return arraysNotEqual( a, b );\n case ObjectProto :\n case null:\n return objectsNotEqual( a, b );\n }\n }\n\n return true;\n}\n\nfunction objectsNotEqual( a, b ) {\n const keysA = Object.keys( a );\n\n if( keysA.length !== Object.keys( b ).length ) return true;\n\n for( let i = 0; i < keysA.length; i++ ) {\n const key = keysA[ i ];\n\n if( !b.hasOwnProperty( key ) || notEqual( a[ key ], b[ key ] ) ) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction arraysNotEqual( a, b ) {\n if( a.length !== b.length ) return true;\n\n for( let i = 0; i < a.length; i++ ) {\n if( notEqual( a[ i ], b[ i ] ) ) return true;\n }\n\n return false;\n}\n\n/**\n * Create an object without Object prototype members except hasOwnProperty.\n * @param obj - optional parameter to populate the hash map from.\n */\nconst HashProto = Object.create( null );\nHashProto.hasOwnProperty = ObjectProto.hasOwnProperty;\n\nexport function hashMap( obj? ){\n const hash = Object.create( HashProto );\n return obj ? assign( hash, obj ) : hash;\n}\n\nexport function compare( a : any, b : any ) : -1 | 0 | 1 {\n // Handle strictly equal values.\n if( a == b ) return 0;\n\n // Handle nulls.\n if( a == null ) return -1;\n if( b == null ) return 1;\n\n // No nulls. Convert values to primitives.\n const av = a.valueOf(),\n bv = b.valueOf();\n\n return av < bv ? -1 :\n av > bv ? 1 :\n 0;\n}","import { once as _once } from './tools'\n\n/*******************\n * Prebuilt events map, used for optimized bulk event subscriptions.\n *\n * const events = new EventMap({\n * 'change' : true, // Resend this event from self as it is.\n * 'change:attr' : 'localTargetFunction',\n * 'executedInTargetContext' : function(){ ... }\n * 'executedInNativeContext' : '^props.handler'\n * })\n */\nexport interface EventsDefinition {\n [ events : string ] : Function | string | boolean\n}\n\nexport class EventMap {\n handlers : EventDescriptor[] = [];\n\n constructor( map? : EventsDefinition | EventMap ){\n if( map ){\n if( map instanceof EventMap ){\n this.handlers = map.handlers.slice();\n }\n else{\n map && this.addEventsMap( map );\n }\n }\n }\n\n merge( map : EventMap ){\n this.handlers = this.handlers.concat( map.handlers );\n }\n\n addEventsMap( map : EventsDefinition ){\n for( let names in map ){\n this.addEvent( names, map[ names ] )\n }\n }\n\n bubbleEvents( names : string ){\n for( let name of names.split( eventSplitter ) ){\n this.addEvent( name, getBubblingHandler( name ) );\n }\n }\n\n addEvent( names : string, callback : Function | string | boolean ){\n const { handlers } = this;\n\n for( let name of names.split( eventSplitter ) ){\n handlers.push( new EventDescriptor( name, callback ) );\n }\n }\n\n subscribe( target : {}, source : EventSource ){\n for( let event of this.handlers ){\n on( source, event.name, event.callback, target );\n }\n }\n\n unsubscribe( target : {}, source : EventSource ){\n for( let event of this.handlers ){\n off( source, event.name, event.callback, target );\n }\n }\n}\n\nexport class EventDescriptor {\n callback : Function\n\n constructor(\n public name : string,\n callback : Function | string | boolean\n ){\n if( callback === true ){\n this.callback = getBubblingHandler( name );\n }\n else if( typeof callback === 'string' ){\n this.callback =\n function localCallback(){\n const handler = this[ callback ];\n handler && handler.apply( this, arguments );\n };\n }\n else{\n this.callback = callback;\n }\n }\n}\n\nconst _bubblingHandlers = {};\n\nfunction getBubblingHandler( event : string ){\n return _bubblingHandlers[ event ] || (\n _bubblingHandlers[ event ] = function( a?, b?, c?, d?, e? ){\n if( d !== void 0 || e !== void 0 ) trigger5( this, event, a, b, c, d, e );\n if( c !== void 0 ) trigger3( this, event, a, b, c );\n else trigger2( this, event, a, b );\n }\n );\n}\n\nexport interface HandlersByEvent {\n [ name : string ] : EventHandler\n}\n\nexport class EventHandler {\n constructor( public callback : Callback, public context : any, public next = null ){}\n}\n\nfunction listOff( _events : HandlersByEvent, name : string, callback : Callback, context : any ){\n const head = _events[ name ];\n\n let filteredHead, prev;\n\n for( let ev = head; ev; ev = ev.next ){\n // Element must be kept\n if( ( callback && callback !== ev.callback && callback !== ev.callback._callback ) ||\n ( context && context !== ev.context ) ){\n \n prev = ev;\n filteredHead || ( filteredHead = ev );\n }\n // Element must be skipped\n else{\n if( prev ) prev.next = ev.next;\n }\n }\n\n if( head !== filteredHead ) _events[ name ] = filteredHead;\n}\n\nfunction listSend2( head : EventHandler, a, b ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b );\n}\n\nfunction listSend3( head : EventHandler, a, b, c ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c );\n}\n\nfunction listSend4( head : EventHandler, a, b, c, d ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d );\n}\n\nfunction listSend5( head : EventHandler, a, b, c, d, e ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e );\n}\n\nfunction listSend6( head : EventHandler, a, b, c, d, e, f ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e, f );\n}\n\nexport interface Callback extends Function {\n _callback? : Function\n}\n\nexport function on( source : EventSource, name : string, callback : Callback, context? : any ) : void {\n if( callback ){\n const _events = source._events || ( source._events = Object.create( null ) );\n _events[ name ] = new EventHandler( callback, context, _events[ name ] );\n }\n}\n\nexport function once( source : EventSource, name : string, callback : Callback, context? : any ) : void {\n if( callback ){\n const once : Callback = _once( function(){\n off( source, name, once );\n callback.apply(this, arguments);\n });\n\n once._callback = callback;\n on( source, name, once, context );\n }\n}\n\nexport function off( source : EventSource, name? : string, callback? : Callback, context? : any ) : void {\n const { _events } = source;\n if( _events ){\n if( callback || context ) {\n if( name ){\n listOff( _events, name, callback, context );\n }\n else{\n for( let name in _events ){\n listOff( _events, name, callback, context );\n }\n }\n }\n else if( name ){\n _events[ name ] = void 0;\n }\n else{\n source._events = void 0;\n }\n }\n}\n\nexport interface EventSource {\n /** @internal */\n _events : HandlersByEvent\n}\n\nconst eventSplitter = /\\s+/;\n\nexport function strings( api : ApiEntry, source : EventSource, events : string, callback : Callback, context ){\n if( eventSplitter.test( events ) ){\n const names = events.split( eventSplitter );\n for( let name of names ) api( source, name, callback, context );\n }\n else api( source, events, callback, context );\n}\n\nexport type ApiEntry = ( source : EventSource, event : string, callback : Callback, context? : any ) => void\n\n/*********************************\n * Event-triggering API\n */\n\n export function trigger2( self : EventSource, name : string, a, b ) : void {\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend2( queue, a, b );\n listSend3( all, name, a, b );\n }\n};\n\nexport function trigger3( self : EventSource, name : string, a, b, c ) : void{\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend3( queue, a, b, c );\n listSend4( all, name, a, b, c );\n }\n};\n\nexport function trigger5( self : EventSource, name : string, a, b, c, d, e ) : void{\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend5( queue, a, b, c, d, e );\n listSend6( all, name, a, b, c, d, e );\n }\n};","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*****************************************************************\n * Mixins engine and @define metaprogramming class extensions\n *\n * Vlad Balin & Volicon, (c) 2016-2017\n */\nimport { __extends } from 'tslib';\nimport { assign, defaults, getBaseClass, hashMap, transform } from './tools';\n\nexport interface Subclass< T > extends MixableConstructor {\n new ( ...args ) : T\n prototype : T\n}\n\nexport interface MixableConstructor extends Function{\n __super__? : object;\n mixins? : MixinsState;\n onExtend? : ( BaseClass : Function ) => void;\n onDefine? : ( definition : object, BaseClass : Function ) => void;\n define? : ( definition? : object, statics? : object ) => MixableConstructor;\n extend? : ( definition? : T, statics? : object ) => Subclass;\n}\n\nexport interface MixableDefinition {\n mixins? : Mixin[]\n}\n\n/**\n * Base class, holding metaprogramming class extensions.\n * Supports mixins and Class.define metaprogramming method.\n */\nexport class Mixable {\n static onExtend : ( BaseClass : Function ) => void;\n static onDefine : ( definition : object, BaseClass : Function ) => object; \n static __super__ : object\n static mixins : MixinsState;\n\n /** \n * Must be called after inheritance and before 'define'.\n */\n static define( protoProps : MixableDefinition = {}, staticProps? : object ) : MixableConstructor {\n const BaseClass : MixableConstructor = getBaseClass( this );\n\n // Assign statics.\n staticProps && assign( this, staticProps );\n\n // Extract and apply mixins from the definition.\n const { mixins, ...defineMixin } = protoProps;\n mixins && this.mixins.merge( mixins );\n\n // Unshift definition to the the prototype.\n this.mixins.mergeObject( this.prototype, defineMixin, true );\n\n // Unshift definition from statics to the prototype.\n this.mixins.mergeObject( this.prototype, this.mixins.getStaticDefinitions( BaseClass ), true );\n\n // Call onDefine hook, if it's present.\n this.onDefine && this.onDefine( this.mixins.definitions, BaseClass );\n \n // Apply merge rules to inherited members. No mixins can be added after this point.\n this.mixins.mergeInheritedMembers( BaseClass );\n\n return this;\n }\n\n /** Backbone-compatible extend method to be used in ES5 and for backward compatibility */\n static extend< T extends object>(spec? : T, statics? : {} ) : Subclass< T > {\n let TheSubclass : Subclass< T >;\n\n // 1. Create the subclass (ES5 compatibility shim).\n // If constructor function is given...\n if( spec && spec.hasOwnProperty( 'constructor' ) ){\n // ...we need to manually call internal TypeScript __extend function. Hack! Hack!\n TheSubclass = spec.constructor as any;\n __extends( TheSubclass, this );\n }\n // Otherwise, create the subclall in usual way.\n else{\n TheSubclass = class Subclass extends this {} as any;\n }\n\n predefine( TheSubclass );\n spec && TheSubclass.define( spec, statics );\n\n return TheSubclass;\n }\n}\n\n/** @decorator `@predefine` for forward definitions. Can be used with [[Mixable]] classes only.\n * Forwards the call to the [[Mixable.predefine]];\n */\nexport function predefine( Constructor : MixableConstructor ) : void {\n const BaseClass : MixableConstructor = getBaseClass( Constructor );\n\n // Legacy systems support\n Constructor.__super__ = BaseClass.prototype;\n \n // Initialize mixins structures...\n Constructor.define || MixinsState.get( Mixable ).populate( Constructor );\n\n // Make sure Ctor.mixins are ready before the callback...\n MixinsState.get( Constructor );\n\n // Call extend hook.\n Constructor.onExtend && Constructor.onExtend( BaseClass );\n}\n\n/** @decorator `@define` for metaprogramming magic. Can be used with [[Mixable]] classes only.\n * Forwards the call to [[Mixable.define]].\n */\nexport function define( ClassOrDefinition : Function ) : void;\nexport function define( ClassOrDefinition : object ) : ClassDecorator;\nexport function define( ClassOrDefinition : object | MixableConstructor ){\n // @define class\n if( typeof ClassOrDefinition === 'function' ){\n predefine( ClassOrDefinition );\n ( ClassOrDefinition as MixableConstructor ).define();\n }\n // @define({ prop : val, ... }) class\n else{\n return function( Ctor : MixableConstructor ){\n predefine( Ctor );\n Ctor.define( ClassOrDefinition );\n } as any;\n }\n}\n\nexport function definitions( rules : MixinMergeRules ) : ClassDecorator {\n return ( Class : Function ) => {\n const mixins = MixinsState.get( Class );\n mixins.definitionRules = defaults( hashMap(), rules, mixins.definitionRules );\n }\n}\n\n// Create simple property list decorator\nexport function propertyListDecorator( listName: string ) : PropertyDecorator {\n return function propList(proto, name : string) {\n const list = proto.hasOwnProperty( listName ) ?\n proto[ listName ] : (proto[ listName ] = (proto[ listName ] || []).slice()); \n\n list.push(name);\n }\n}\n\nexport function definitionDecorator( definitionKey, value ){\n return ( proto : object, name : string ) => {\n MixinsState\n .get( proto.constructor )\n .mergeObject( proto, {\n [ definitionKey ] : {\n [ name ] : value\n }\n });\n }\n}\n\nexport class MixinsState {\n mergeRules : MixinMergeRules;\n definitionRules : MixinMergeRules;\n definitions : object = {};\n appliedMixins : Mixin[];\n\n // Return mixins state for the class. Initialize if it's not exist.\n static get( Class ) : MixinsState {\n const { mixins } = Class;\n \n return mixins && Class === mixins.Class ? mixins :\n Class.mixins = new MixinsState( Class );\n }\n\n constructor( public Class : MixableConstructor ){\n const { mixins } = getBaseClass( Class );\n\n this.mergeRules = ( mixins && mixins.mergeRules ) || hashMap();\n this.definitionRules = ( mixins && mixins.definitionRules ) || hashMap();\n this.appliedMixins = ( mixins && mixins.appliedMixins ) || [];\n }\n\n getStaticDefinitions( BaseClass : Function ){\n const definitions = hashMap(),\n { Class } = this;\n\n return transform( definitions, this.definitionRules, ( rule, name ) =>{\n if( BaseClass[ name ] !== Class[ name ]){\n return Class[ name ];\n }\n });\n }\n\n merge( mixins : Mixin[] ){\n const proto = this.Class.prototype,\n { mergeRules } = this;\n\n // Copy applied mixins array as it's going to be updated.\n const appliedMixins = this.appliedMixins = this.appliedMixins.slice();\n\n // Apply mixins in sequence...\n for( let mixin of mixins ) {\n // Mixins array should be flattened.\n if( Array.isArray( mixin ) ) {\n this.merge( mixin );\n }\n // Don't apply mixins twice.\n else if( appliedMixins.indexOf( mixin ) < 0 ){\n appliedMixins.push( mixin );\n\n // For constructors, merge _both_ static and prototype members.\n if( typeof mixin === 'function' ){\n // Merge static members\n this.mergeObject( this.Class, mixin );\n\n // merge definitionRules and mergeRules\n const sourceMixins = ( mixin as any ).mixins;\n if( sourceMixins ){\n this.mergeRules = defaults( hashMap(), this.mergeRules, sourceMixins.mergeRules );\n this.definitionRules = defaults( hashMap(), this.definitionRules, sourceMixins.definitionRules );\n this.appliedMixins = this.appliedMixins.concat( sourceMixins.appliedMixins );\n }\n\n // Prototypes are merged according with rules.\n this.mergeObject( proto, mixin.prototype );\n }\n // Handle plain object mixins.\n else {\n this.mergeObject( proto, mixin );\n }\n }\n }\n }\n\n populate( ...ctors : Function[] ){\n for( let Ctor of ctors ) {\n MixinsState.get( Ctor ).merge([ this.Class ]);\n }\n }\n\n mergeObject( dest : object, source : object, unshift? : boolean ) {\n forEachOwnProp( source, name => {\n const sourceProp = Object.getOwnPropertyDescriptor( source, name );\n let rule : MixinMergeRule;\n\n if( rule = this.definitionRules[ name ] ){\n assignProperty( this.definitions, name, sourceProp, rule, unshift );\n }\n\n if( !rule || rule === mixinRules.protoValue ){\n assignProperty( dest, name, sourceProp, this.mergeRules[ name ], unshift );\n }\n });\n }\n\n mergeInheritedMembers( BaseClass : Function ){\n const { mergeRules, Class } = this;\n\n if( mergeRules ){\n const proto = Class.prototype,\n baseProto = BaseClass.prototype;\n\n for( let name in mergeRules ) {\n const rule = mergeRules[ name ];\n\n if( proto.hasOwnProperty( name ) && name in baseProto ){\n proto[ name ] = resolveRule( proto[ name ], baseProto[ name ], rule );\n }\n }\n }\n }\n}\n\nconst dontMix = {\n function : hashMap({\n length : true,\n prototype : true,\n caller : true,\n arguments : true,\n name : true,\n __super__ : true\n }),\n \n object : hashMap({\n constructor : true\n }) \n}\n\nfunction forEachOwnProp( object : object, fun : ( name : string ) => void ){\n const ignore = dontMix[ typeof object ];\n\n for( let name of Object.getOwnPropertyNames( object ) ) {\n ignore[ name ] || fun( name );\n }\n}\n\nexport interface MixinMergeRules {\n [ name : string ] : MixinMergeRule\n}\n\nexport type MixinMergeRule = ( a : any, b : any ) => any\nexport type Mixin = { [ key : string ] : any } | Function\n\n// @mixins( A, B, ... ) decorator.\nexport interface MixinRulesDecorator {\n ( rules : MixinMergeRules ) : ClassDecorator\n value( a : object, b : object) : object;\n protoValue( a : object, b : object) : object;\n merge( a : object, b : object ) : object;\n pipe( a: Function, b : Function ) : Function;\n defaults( a: Function, b : Function ) : Function;\n classFirst( a: Function, b : Function ) : Function;\n classLast( a: Function, b : Function ) : Function;\n every( a: Function, b : Function ) : Function;\n some( a: Function, b : Function ) : Function;\n}\n\nexport const mixins = ( ...list : Mixin[] ) => (\n ( Class : Function ) => MixinsState.get( Class ).merge( list )\n);\n\n// @mixinRules({ name : rule, ... }) decorator.\nexport const mixinRules = ( ( rules : MixinMergeRules ) => (\n ( Class : Function ) => {\n const mixins = MixinsState.get( Class );\n mixins.mergeRules = defaults( rules, mixins.mergeRules );\n }\n) ) as MixinRulesDecorator;\n\n// Pre-defined mixin merge rules\n\nmixinRules.value = ( a, b ) => a;\n\nmixinRules.protoValue = ( a, b ) => a;\n\n// Recursively merge members\nmixinRules.merge = ( a, b ) => defaults( {}, a, b );\n\n // Execute methods in pipe, with the class method executed last.\nmixinRules.pipe = ( a, b ) => (\n function( x : any ) : any {\n return a.call( this, b.call( this, x ) );\n }\n);\n\n // Assume methods return an object, and merge results with defaults (class method executed first)\nmixinRules.defaults = ( a : Function, b : Function ) => (\n function() : object {\n return defaults( a.apply( this, arguments ), b.apply( this, arguments ) );\n }\n);\n\n// Execute methods in sequence staring with the class method.\nmixinRules.classFirst = ( a : Function, b : Function ) => (\n function() : void {\n a.apply( this, arguments );\n b.apply( this, arguments );\n }\n);\n\n // Execute methods in sequence ending with the class method.\nmixinRules.classLast = ( a : Function, b : Function ) => (\n function() : void {\n b.apply( this, arguments );\n a.apply( this, arguments );\n }\n)\n\n // Execute methods in sequence returning the first falsy result.\nmixinRules.every = ( a : Function, b : Function ) =>(\n function() : any {\n return a.apply( this, arguments ) && b.apply( this, arguments );\n }\n);\n // Execute methods in sequence returning the first truthy result.\nmixinRules.some = ( a : Function, b : Function ) =>(\n function() : any {\n return a.apply( this, arguments ) || b.apply( this, arguments );\n }\n);\n\n/**\n * Helpers\n */\n\nfunction assignProperty( dest : object, name : string, sourceProp : PropertyDescriptor, rule : MixinMergeRule, unshift? : boolean ){\n// Destination prop is defined, thus the merge rules must be applied.\n if( dest.hasOwnProperty( name ) ){\n const destProp = Object.getOwnPropertyDescriptor( dest, name );\n\n if( destProp.configurable && 'value' in destProp ){\n dest[ name ] = unshift ?\n resolveRule( sourceProp.value, destProp.value, rule ) :\n resolveRule( destProp.value, sourceProp.value, rule ) ;\n }\n }\n // If destination is empty, just copy the prop over.\n else{\n Object.defineProperty( dest, name, sourceProp );\n }\n}\n\nfunction resolveRule( dest, source, rule : MixinMergeRule ){\n // When destination is empty, take the source.\n if( dest === void 0 ) return source;\n\n // In these cases we take non-empty destination:\n if( !rule || source === void 0 ) return dest;\n\n // In other cases we must merge values.\n return rule( dest, source );\n}","import * as _eventsApi from './eventsource';\nimport { EventMap, EventsDefinition, EventSource, HandlersByEvent } from './eventsource';\nimport { define, definitions, Mixable, MixableConstructor, mixinRules, MixinsState } from './mixins';\nimport { omit, transform } from './tools';\n\nconst { strings, on, off, once, trigger5, trigger2, trigger3 } = _eventsApi;\n\nlet _idCount = 0;\n\nfunction uniqueId() : string {\n return 'l' + _idCount++;\n}\n\nexport { EventMap, EventsDefinition };\n\nexport interface MessengerDefinition {\n _localEvents? : EventMap\n localEvents? : EventsDefinition\n properties? : PropertyMap\n [ name : string ] : any\n}\n\nexport interface PropertyMap {\n [ name : string ] : Property\n}\n\nexport type Property = PropertyDescriptor | ( () => any )\n\nexport interface MessengersByCid {\n [ cid : string ] : Messenger\n}\n\nexport type EventCallbacks = { [ events : string ] : EventCallback }\nexport type EventCallback = ( this : Context, ...args : any[] ) => void\n\n/*************************\n * Messenger is mixable class with capabilities of sending and receiving synchronous events.\n * This class itself can serve as both mixin and base class.\n */\n\n@define\n@definitions({\n properties : mixinRules.merge,\n localEvents : mixinRules.merge\n})\nexport class Messenger implements Mixable, EventSource {\n // Define extendable mixin static properties.\n /** @internal */\n static __super__ : object;\n static mixins : MixinsState;\n static onExtend : ( BaseClass : Function ) => void;\n static define : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\n static extend : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\n static onDefine({ localEvents, _localEvents, properties } : MessengerDefinition, BaseClass? : typeof Mixable ){\n // Handle localEvents definition\n if( localEvents || _localEvents ){\n const eventsMap = new EventMap( this.prototype._localEvents );\n\n localEvents && eventsMap.addEventsMap( localEvents );\n _localEvents && eventsMap.merge( _localEvents );\n \n this.prototype._localEvents = eventsMap;\n }\n\n // Handle properties definitions...\n if( properties ){\n Object.defineProperties( this.prototype, transform( {}, properties, toPropertyDescriptor ) );\n }\n }\n\n /** @internal */ \n _events : HandlersByEvent = void 0;\n\n /** @internal */ \n _listeningTo : MessengersByCid = void 0\n\n /** Unique client-only id. */\n cid : string\n\n /** Prototype-only property to manage automatic local events subscription */ \n protected _localEvents : EventMap\n\n constructor(){\n this.cid = uniqueId();\n this.initialize.apply( this, arguments );\n\n // TODO: local events subscribe?\n }\n\n /** Method is called at the end of the constructor */\n initialize() : void {}\n \n on( events : string | EventCallbacks, callback?, context? ) : this {\n if( typeof events === 'string' ) strings( on, this, events, callback, context );\n else for( let name in events ) strings( on, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n once( events : string | EventCallbacks, callback?, context? ) : this {\n if( typeof events === 'string' ) strings( once, this, events, callback, context );\n else for( let name in events ) strings( once, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n off( events? : string | EventCallbacks, callback?, context? ) : this {\n if( !events ) off( this, void 0, callback, context );\n else if( typeof events === 'string' ) strings( off, this, events, callback, context );\n else for( let name in events ) strings( off, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n trigger(name : string, a?, b?, c?, d?, e? ) : this {\n if( d !== void 0 || e !== void 0 ) trigger5( this, name, a, b, c, d, e );\n else if( c !== void 0 ) trigger3( this, name, a, b, c );\n else trigger2( this, name, a, b );\n return this;\n }\n\n listenTo( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\n if( source ){\n addReference( this, source );\n source.on( a, !b && typeof a === 'object' ? this : b, this );\n }\n\n return this;\n }\n\n listenToOnce( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\n if( source ){\n addReference( this, source );\n source.once( a, !b && typeof a === 'object' ? this : b, this );\n }\n\n return this;\n }\n\n stopListening( a_source? : Messenger, a? : string | EventCallbacks, b? : Function ) : this {\n const { _listeningTo } = this;\n if( _listeningTo ){\n const removeAll = !( a || b ),\n second = !b && typeof a === 'object' ? this : b;\n\n if( a_source ){\n const source = _listeningTo[ a_source.cid ];\n if( source ){\n if( removeAll ) delete _listeningTo[ a_source.cid ];\n source.off( a, second, this );\n }\n }\n else if( a_source == null ){\n for( let cid in _listeningTo ) _listeningTo[ cid ].off( a, second, this );\n\n if( removeAll ) ( this._listeningTo = void 0 );\n }\n }\n\n return this;\n }\n\n /**\n * Destructor. Stops messenger from listening to all objects,\n * and stop others from listening to the messenger. \n */\n _disposed : boolean\n\n dispose() : void {\n if( this._disposed ) return;\n\n this.stopListening();\n this.off();\n\n this._disposed = true;\n }\n}\n\n/**\n * Backbone 1.2 API conformant Events mixin.\n */\nexport const Events : Messenger = omit( Messenger.prototype, 'constructor', 'initialize' );\n\n/**\n * Messenger Private Helpers \n */\n\nfunction toPropertyDescriptor( x : Property ) : PropertyDescriptor {\n if( x ){\n return typeof x === 'function' ? { get : < () => any >x, configurable : true } : x;\n }\n}\n\nfunction addReference( listener : Messenger, source : Messenger ){\n const listeningTo = listener._listeningTo || (listener._listeningTo = Object.create( null ) ),\n cid = source.cid || ( source.cid = uniqueId() );\n\n listeningTo[ cid ] = source;\n}","import { Messenger } from './events'\nimport { define } from './mixins';\n\ndeclare var process : any;\n\nexport type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log';\nexport type LoggerEventHandler = ( topic : string, msg : string, props : object ) => void;\n\nexport const isProduction = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production',\n logEvents : LogLevel[] = isProduction ?\n [ 'error', 'info' ] :\n [ 'error', 'warn', 'debug', 'info', 'log' ];\n\n@define\nexport class Logger extends Messenger {\n counter : { [ level in LogLevel ]? : number } = {}\n\n // Log events of the given log level to the console, optionally filtered by topic\n logToConsole( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n const args = [ `[${topic}] ${msg}` ];\n \n for( let name in props ){\n args.push( `\\n\\t${name}:`, toString( props[ name ] ) );\n }\n \n console[ level ].apply( console, args );\n }\n });\n }\n\n // Fire exception on the events of the given log level, optionally filtered by topic\n throwOn( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n throw new Error( `[${topic}] ${msg}` );\n }\n });\n }\n\n // Count log events of the given level, optionally filtered by topic\n count( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n this.counter[ level ] = ( this.counter[ level ] || 0 ) + 1;\n }\n });\n }\n\n trigger : ( level : LogLevel, topic : string, message : string, props? : object ) => this;\n \n off : ( event? : LogLevel ) => this;\n\n\n on( handlers : { [ name in LogLevel ] : LoggerEventHandler } ) : this;\n on( handlers : LogLevel, handler : LoggerEventHandler ) : this;\n on( handlers : 'all', handler : ( level : LogLevel, topic : string, msg : string, props : object ) => void ) : this;\n on( a : any, b? : any ){\n return super.on( a, b );\n }\n}\n\n/**\n * Convert objects to the plain text friendly format.\n * primitives as in JSON.\n */\nlet toString = typeof window === 'undefined' ? \n something => {\n if( something && typeof something === 'object' ){\n // Support custom object wrappers...\n const value = something.__inner_state__ || something,\n isArray = Array.isArray( value );\n\n const body = isArray ? `[ length = ${ value.length } ]` : `{ ${ Object.keys( value ).join( ', ' )} }`;\n\n return something.constructor.name + ' ' + body;\n }\n\n return JSON.stringify( something );\n }\n : x => x;\n\nexport const logger = new Logger();\n\nif( typeof console !== 'undefined' ) {\n for( let event of logEvents ){\n logger.logToConsole( event );\n }\n}\n\nexport const throwingLogger = new Logger();\nthrowingLogger.throwOn( 'error' ).throwOn( 'warn' );\n\nexport const log : typeof logger.trigger = logger.trigger.bind( logger );\n"],"names":["defaults","dest","source","name","hasOwnProperty","arguments","length","i","other","getBaseClass","Class","Object","getPrototypeOf","prototype","constructor","some","obj","fun","ArrayProto","arr","result","someArray","key","someObject","every","predicate","x","omit","discard","transform","value","assign","once","func","memo","first","apply","this","Array","DateProto","Date","ObjectProto","notEqual","a","b","protoA","arraysNotEqual","keysA","keys","objectsNotEqual","HashProto","create","hashMap","hash","isValidJSON","proto","definition","_i","names","names_1","_a","name_1","prop","desc","getOwnPropertyDescriptor","o","av","valueOf","bv","EventMap","map","handlers","concat","addEvent","split","eventSplitter","getBubblingHandler","callback","name_2","push","EventDescriptor","target","event_1","on","event_2","off","slice","addEventsMap","handler","_bubblingHandlers","event","c","d","e","trigger5","trigger3","trigger2","context","next","listOff","_events","filteredHead","prev","head","ev","_callback","listSend3","call","EventHandler","once_1","_once","name_3","strings","api","events","test","self","queue","all","listSend2","listSend4","listSend5","f","listSend6","extendStatics","setPrototypeOf","__proto__","p","__extends","__","__decorate","decorators","r","Reflect","decorate","defineProperty","Mixable","protoProps","staticProps","BaseClass","mixins","defineMixin","s","t","indexOf","getOwnPropertySymbols","propertyIsEnumerable","merge","mergeObject","getStaticDefinitions","onDefine","definitions","mergeInheritedMembers","spec","statics","TheSubclass","__extends_1","predefine","define","Constructor","__super__","MixinsState","get","populate","onExtend","ClassOrDefinition","Ctor","rules","definitionRules","rule","appliedMixins","mixins_1","mixin","isArray","sourceMixins","mergeRules","ctors","ctors_1","unshift","object","ignore","dontMix","getOwnPropertyNames","forEachOwnProp","sourceProp","_this","assignProperty","mixinRules","protoValue","baseProto","resolveRule","function","caller","destProp","configurable","pipe","classFirst","classLast","_eventsApi.strings","_eventsApi.on","_eventsApi.off","_eventsApi.once","_eventsApi.trigger5","_eventsApi.trigger2","_eventsApi.trigger3","_idCount","uniqueId","Messenger","localEvents","_localEvents","properties","eventsMap","defineProperties","toPropertyDescriptor","addReference","a_source","_listeningTo","removeAll","second","cid","_disposed","stopListening","initialize","Events","listener","isProduction","process","env","NODE_ENV","logEvents","Logger","level","filter","topic","msg","props","args","toString","console","Error","counter","_super","window","something","__inner_state__","body","join","JSON","stringify","logger","logEvents_1","logToConsole","throwingLogger","throwOn","log","trigger","bind","definitionKey","list","listName"],"mappings":"6MAEgBA,EAAeC,EAAUC,GACrC,IAAK,IAAIC,KAAQD,EACTA,EAAOE,eAAgBD,KAAWF,EAAKG,eAAgBD,KACvDF,EAAME,GAASD,EAAQC,IAI/B,GAAuB,EAAnBE,UAAUC,OACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAAK,CACvC,IAAMC,EAAQH,UAAWE,GACzBC,GAASR,EAAUC,EAAMO,GAIjC,OAAOP,WA8BKQ,EAAcC,GAC1B,OAAOC,OAAOC,eAAgBF,EAAMG,WAAYC,qBAgDpCC,EAAMC,EAAKC,GACvB,OAAIN,OAAOC,eAAgBI,KAAUE,EAxBzC,SAAoBC,EAAaF,GAG7B,IAFA,IAAIG,EAEKb,EAAI,EAAGA,EAAIY,EAAIb,OAAQC,IAC5B,GAAIa,EAASH,EAAKE,EAAKZ,GAAKA,GACxB,OAAOa,EAoBJC,CAAWL,EAAKC,GAf/B,SAAqBD,EAAUC,GAC3B,IAAIG,EAEJ,IAAK,IAAIE,KAAON,EACZ,GAAIA,EAAIZ,eAAgBkB,KAChBF,EAASH,EAAKD,EAAKM,GAAOA,IAC1B,OAAOF,EAYRG,CAAYP,EAAKC,YAKhBO,EAAOR,EAAWS,GAC9B,OAAQV,EAAMC,EAAK,SAAAU,GAAK,OAACD,EAAWC,cAgBxBC,EAAMzB,GAGlB,IAFA,IAAMD,EAAO,GAAI2B,EAAU,GAElBrB,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAClCqB,EAASvB,UAAWE,KAAQ,EAGhC,IAAK,IAAIJ,KAAQD,GACR0B,EAAQxB,eAAgBD,IAAUD,EAAOE,eAAgBD,KAC1DF,EAAME,GAASD,EAAQC,IAI/B,OAAOF,WAMK4B,EAAmB5B,EAAiCC,EAAmCe,GACnG,IAAK,IAAId,KAAQD,EACb,GAAIA,EAAOE,eAAgBD,GAAS,CAChC,IAAI2B,EAAQb,EAAKf,EAAQC,GAAQA,QACvB,IAAV2B,IAAsB7B,EAAME,GAAc2B,GAIlD,OAAO7B,WAuBK8B,EAAa9B,EAAUC,GACnC,IAAK,IAAIC,KAAQD,EACTA,EAAOE,eAAgBD,KACvBF,EAAME,GAASD,EAAQC,IAI/B,GAAuB,EAAnBE,UAAUC,OACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAAK,CACvC,IAAMC,EAAQH,UAAWE,GACzBC,GAASuB,EAAQ9B,EAAMO,GAI/B,OAAOP,WASK+B,EAAMC,GAClB,IAAIC,EAAMC,GAAQ,EAClB,OAAO,WAMH,OALKA,IACDA,GAAQ,EACRD,EAAOD,EAAKG,MAAMC,KAAMhC,WACxB4B,EAAO,MAEJC,GAIf,IAAMhB,EAAaoB,MAAMzB,UACnB0B,EAAYC,KAAK3B,UACjB4B,EAAc9B,OAAOE,mBAOX6B,EAAUC,EAASC,GAC/B,GAAID,IAAMC,EAAI,OAAO,EAErB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAgB,CACzD,IAAMC,EAASlC,OAAOC,eAAgB+B,GAEtC,GAAIE,IAAWlC,OAAOC,eAAgBgC,GAAM,OAAO,EAEnD,OAAQC,GACJ,KAAKN,EAAc,OAAQI,IAAOC,EAClC,KAAK1B,EAAc,OA0B/B,SAAyByB,EAAGC,GACxB,GAAID,EAAErC,SAAWsC,EAAEtC,OAAS,OAAO,EAEnC,IAAK,IAAIC,EAAI,EAAGA,EAAIoC,EAAErC,OAAQC,IAC1B,GAAImC,EAAUC,EAAGpC,GAAKqC,EAAGrC,IAAQ,OAAO,EAG5C,OAAO,EAjC2BuC,CAAgBH,EAAGC,GAC7C,KAAKH,EACL,KAAK,KACD,OAOhB,SAA0BE,EAAGC,GACzB,IAAMG,EAAQpC,OAAOqC,KAAML,GAE3B,GAAII,EAAMzC,SAAWK,OAAOqC,KAAMJ,GAAItC,OAAS,OAAO,EAEtD,IAAK,IAAIC,EAAI,EAAGA,EAAIwC,EAAMzC,OAAQC,IAAM,CACpC,IAAMe,EAAMyB,EAAOxC,GAEnB,IAAKqC,EAAExC,eAAgBkB,IAASoB,EAAUC,EAAGrB,GAAOsB,EAAGtB,IACnD,OAAO,EAIf,OAAO,EApBY2B,CAAiBN,EAAGC,IAIvC,OAAO,EAiCX,IAAMM,EAAYvC,OAAOwC,OAAQ,eAGjBC,EAASpC,GACrB,IAAMqC,EAAO1C,OAAOwC,OAAQD,GAC5B,OAAOlC,EAAMe,EAAQsB,EAAMrC,GAAQqC,EAJvCH,EAAU9C,eAAiBqC,EAAYrC,oEAvPvBkD,EAAaxB,GACzB,GAAc,OAAVA,EACA,OAAO,EAGX,cAAeA,GACf,IAAK,SACL,IAAK,SACL,IAAK,UACD,OAAO,EAEX,IAAK,SACD,IAAIyB,EAAQ5C,OAAOC,eAAgBkB,GAEnC,GAAIyB,IAAU5C,OAAOE,WAAa0C,IAAUjB,MAAMzB,UAC9C,OAAOW,EAAOM,EAAOwB,GAI7B,OAAO,8CAW+C5C,EAAO8C,OAAgB,aAAAC,mBAAAA,IAAAC,oBAC7E,IAAiB,QAAAC,IAAAC,WAAAA,IAAO,CAAnB,IAAIC,OACC/B,EAAQ0B,EAAYK,QAChB,IAAV/B,IAAsBpB,EAAMG,UAAWgD,GAAS/B,sBAK/Bd,GACrB,GAAIA,EACA,IAAK,IAAIM,KAAON,EACZ,GAAIA,EAAIZ,eAAgBkB,GACpB,OAAO,EAKnB,OAAO,iDA2C4BN,EAAU8C,GAG7C,IAFA,IAAIC,EAEKR,EAAQvC,GAAM+C,GAAQR,EAAOA,EAAQ5C,OAAOC,eAAgB2C,GACjEQ,EAAOpD,OAAOqD,yBAA0BT,EAAOO,GAGnD,OAAOC,0CAmCsB9D,EAAUC,GACvC,IAAK,IAAIC,KAAQD,EACbD,EAAME,GAASD,EAAQC,GAG3B,OAAOF,yBAGwBA,EAAUC,GACzC,IAAK,IAAIC,KAAQD,OACQ,IAAjBD,EAAME,KACNF,EAAME,GAASD,EAAQC,IAI/B,OAAOF,0BAuBWgE,GAClB,OAAOA,EAAItD,OAAOqC,KAAMiB,GAAM,iDAmFTtB,EAASC,GAE9B,GAAID,GAAKC,EAAI,OAAO,EAGpB,GAAS,MAALD,EAAY,OAAQ,EACxB,GAAS,MAALC,EAAY,OAAO,EAGvB,IAAMsB,EAAKvB,EAAEwB,UACTC,EAAKxB,EAAEuB,UAEX,OAAQD,EAAKE,GAAM,EACNA,EAALF,EAAU,EACV,QClQRG,kBAAA,SAAOC,GACHjC,KAAKkC,SAAWlC,KAAKkC,SAASC,OAAQF,EAAIC,WAG9CF,yBAAA,SAAcC,GACV,IAAK,IAAIZ,KAASY,EACdjC,KAAKoC,SAAUf,EAAOY,EAAKZ,KAInCW,yBAAA,SAAcX,GACV,IAAiB,QAAAE,EAAAF,EAAMgB,MAAOC,GAAblB,WAAAA,IAA8B,CAA1C,IAAII,OACLxB,KAAKoC,SAAUZ,EAAMe,EAAoBf,MAIjDQ,qBAAA,SAAUX,EAAgBmB,GAGtB,IAFQ,IAAAN,EAAalC,kBAEJuB,EAAAF,EAAMgB,MAAOC,GAAblB,WAAAA,IAA8B,CAA1C,IAAIqB,OACLP,EAASQ,KAAM,IAAIC,EAAiBF,EAAMD,MAIlDR,sBAAA,SAAWY,EAAa/E,GACpB,IAAkB,QAAA0D,EAAAvB,KAAKkC,SAALd,WAAAA,IAAe,CAA5B,IAAIyB,OACLC,EAAIjF,EAAQgF,EAAM/E,KAAM+E,EAAML,SAAUI,KAIhDZ,wBAAA,SAAaY,EAAa/E,GACtB,IAAkB,QAAA0D,EAAAvB,KAAKkC,SAALd,WAAAA,IAAe,CAA5B,IAAI2B,OACLC,EAAKnF,EAAQkF,EAAMjF,KAAMiF,EAAMP,SAAUI,QA3CjD,WAAaX,GAFbjC,cAA+B,GAGvBiC,IACIA,aAAeD,EACfhC,KAAKkC,SAAWD,EAAIC,SAASe,QAG7BhB,GAAOjC,KAAKkD,aAAcjB,IA0C1C,MAGI,SACWnE,EACP0E,GADOxC,UAAAlC,EAIHkC,KAAKwC,UADQ,IAAbA,EACgBD,EAAoBzE,GAEX,iBAAb0E,EAER,WACI,IAAMW,EAAUnD,KAAMwC,GACtBW,GAAWA,EAAQpD,MAAOC,KAAMhC,YAIdwE,GAKhCY,EAAoB,GAE1B,SAASb,EAAoBc,GACzB,OAAOD,EAAmBC,KACtBD,EAAmBC,GAAU,SAAU/C,EAAIC,EAAI+C,EAAIC,EAAIC,QACzC,IAAND,QAAsB,IAANC,GAAeC,EAAUzD,KAAMqD,EAAO/C,EAAGC,EAAG+C,EAAGC,EAAGC,QAC5D,IAANF,EAAeI,EAAU1D,KAAMqD,EAAO/C,EAAGC,EAAG+C,GAC3CK,EAAU3D,KAAMqD,EAAO/C,EAAGC,KAS3C,MACI,SAAoBiC,EAA4BoB,EAAsBC,gBAAAA,QAAlD7D,cAAAwC,EAA4BxC,aAAA4D,EAAsB5D,UAAA6D,GAG1E,SAASC,EAASC,EAA2BjG,EAAe0E,EAAqBoB,GAK7E,IAJA,IAEII,EAAcC,EAFZC,EAAOH,EAASjG,GAIbqG,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAEtBrB,GAAYA,IAAa2B,EAAG3B,UAAYA,IAAa2B,EAAG3B,SAAS4B,WACjER,GAAWA,IAAYO,EAAGP,SAE5BK,EAAOE,EACWH,EAAlBA,GAAiCG,GAI7BF,IAAOA,EAAKJ,KAAOM,EAAGN,MAI9BK,IAASF,IAAeD,EAASjG,GAASkG,GAOlD,SAASK,EAAWH,EAAqB5D,EAAGC,EAAG+C,GAC3C,IAAK,IAAIa,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAAStD,EAAGC,EAAG+C,YAmB/DR,EAAIjF,EAAsBC,EAAe0E,EAAqBoB,GAC1E,GAAIpB,EAAU,CACV,IAAMuB,EAAUlG,EAAOkG,UAAalG,EAAOkG,QAAUzF,OAAOwC,OAAQ,OACpEiD,EAASjG,GAAS,IAAIyG,EAAc/B,EAAUoB,EAASG,EAASjG,cAIxD6B,EAAM9B,EAAsBC,EAAe0E,EAAqBoB,GAC5E,GAAIpB,EAAU,CACV,IAAMgC,EAAkBC,EAAO,WAC3BzB,EAAKnF,EAAQC,EAAM0G,GACnBhC,EAASzC,MAAMC,KAAMhC,aAGzBwG,EAAKJ,UAAY5B,EACjBM,EAAIjF,EAAQC,EAAM0G,EAAMZ,aAIhBZ,EAAKnF,EAAsBC,EAAgB0E,EAAsBoB,GACrE,IAAAG,EAAYlG,UACpB,GAAIkG,EACA,GAAIvB,GAAYoB,EACZ,GAAI9F,EACAgG,EAASC,EAASjG,EAAM0E,EAAUoB,QAGlC,IAAK,IAAIc,KAAQX,EACbD,EAASC,EAASW,EAAMlC,EAAUoB,QAIrC9F,EACLiG,EAASjG,QAAS,EAGlBD,EAAOkG,aAAU,EAU7B,IAAMzB,EAAgB,eAENqC,EAASC,EAAgB/G,EAAsBgH,EAAiBrC,EAAqBoB,GACjG,GAAItB,EAAcwC,KAAMD,GAEpB,IADA,QACiBvD,EADHuD,EAAOxC,MAAOC,GACXlB,WAAAA,KAAQwD,EAAK/G,OAAc2E,EAAUoB,QAErDgB,EAAK/G,EAAQgH,EAAQrC,EAAUoB,YASvBD,EAAUoB,EAAoBjH,EAAewC,EAAGC,GACrD,IAAAwD,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASjG,GACjBmH,EAAQlB,OA1FtB,SAAoBG,EAAqB5D,EAAGC,GACxC,IAAK,IAAI4D,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAAStD,EAAGC,GA2FpE2E,CAAWF,EAAO1E,EAAGC,GACrB8D,EAAWY,EAAKnH,EAAMwC,EAAGC,aAIjBmD,EAAUqB,EAAoBjH,EAAewC,EAAGC,EAAG+C,GACvD,IAAAS,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASjG,GACjBmH,EAAQlB,MAEdM,EAAWW,EAAO1E,EAAGC,EAAG+C,GA/FhC,SAAoBY,EAAqB5D,EAAGC,EAAG+C,EAAGC,GAC9C,IAAK,IAAIY,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAAStD,EAAGC,EAAG+C,EAAGC,GA+F1E4B,CAAWF,EAAKnH,EAAMwC,EAAGC,EAAG+C,aAIpBG,EAAUsB,EAAoBjH,EAAewC,EAAGC,EAAG+C,EAAGC,EAAGC,GAC7D,IAAAO,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASjG,GACjBmH,EAAQlB,OApGtB,SAAoBG,EAAqB5D,EAAGC,EAAG+C,EAAGC,EAAGC,GACjD,IAAK,IAAIW,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAAStD,EAAGC,EAAG+C,EAAGC,EAAGC,GAqG7E4B,CAAWJ,EAAO1E,EAAGC,EAAG+C,EAAGC,EAAGC,GAlGtC,SAAoBU,EAAqB5D,EAAGC,EAAG+C,EAAGC,EAAGC,EAAG6B,GACpD,IAAK,IAAIlB,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAAStD,EAAGC,EAAG+C,EAAGC,EAAGC,EAAG6B,GAkGhFC,CAAWL,EAAKnH,EAAMwC,EAAGC,EAAG+C,EAAGC,EAAGC,oICvOtC+B,EAAgB,SAAShC,EAAGhD,GAI5B,OAHAgF,EAAgBjH,OAAOkH,gBAClB,CAAEC,UAAW,cAAgBxF,OAAS,SAAUsD,EAAGhD,GAAKgD,EAAEkC,UAAYlF,IACvE,SAAUgD,EAAGhD,GAAK,IAAK,IAAImF,KAAKnF,EAAOA,EAAExC,eAAe2H,KAAInC,EAAEmC,GAAKnF,EAAEmF,MACpDnC,EAAGhD,IAGrB,SAASoF,EAAUpC,EAAGhD,GAEzB,SAASqF,IAAO5F,KAAKvB,YAAc8E,EADnCgC,EAAchC,EAAGhD,GAEjBgD,EAAE/E,UAAkB,OAAN+B,EAAajC,OAAOwC,OAAOP,IAAMqF,EAAGpH,UAAY+B,EAAE/B,UAAW,IAAIoH,GA0B5E,SAASC,EAAWC,EAAYlD,EAAQ3D,EAAKyC,GAChD,IAA2H6B,EAAvHD,EAAItF,UAAUC,OAAQ8H,EAAIzC,EAAI,EAAIV,EAAkB,OAATlB,EAAgBA,EAAOpD,OAAOqD,yBAAyBiB,EAAQ3D,GAAOyC,EACrH,GAAuB,iBAAZsE,SAAoD,mBAArBA,QAAQC,SAAyBF,EAAIC,QAAQC,SAASH,EAAYlD,EAAQ3D,EAAKyC,QACpH,IAAK,IAAIxD,EAAI4H,EAAW7H,OAAS,EAAQ,GAALC,EAAQA,KAASqF,EAAIuC,EAAW5H,MAAI6H,GAAKzC,EAAI,EAAIC,EAAEwC,GAAS,EAAJzC,EAAQC,EAAEX,EAAQ3D,EAAK8G,GAAKxC,EAAEX,EAAQ3D,KAAS8G,GAChJ,OAAW,EAAJzC,GAASyC,GAAKzH,OAAO4H,eAAetD,EAAQ3D,EAAK8G,GAAIA,SCjBrDI,SAAP,SAAeC,EAAqCC,gBAArCD,MACX,IAAME,EAAiClI,EAAc4B,MAGrDqG,GAAe3G,EAAQM,KAAMqG,GAGrB,IAAAE,EAA2BH,SAAhBI,EDNpB,SAAgBC,EAAGjD,GACtB,IAAIkD,EAAI,GACR,IAAK,IAAIhB,KAAKe,EAAOnI,OAAOE,UAAUT,eAAeuG,KAAKmC,EAAGf,IAAMlC,EAAEmD,QAAQjB,GAAK,IAC9EgB,EAAEhB,GAAKe,EAAEf,IACb,GAAS,MAALe,GAAqD,mBAAjCnI,OAAOsI,sBACtB,CAAA,IAAI1I,EAAI,EAAb,IAAgBwH,EAAIpH,OAAOsI,sBAAsBH,GAAIvI,EAAIwH,EAAEzH,OAAQC,IAC3DsF,EAAEmD,QAAQjB,EAAExH,IAAM,GAAKI,OAAOE,UAAUqI,qBAAqBvC,KAAKmC,EAAGf,EAAExH,MACvEwI,EAAEhB,EAAExH,IAAMuI,EAAEf,EAAExH,KAE1B,OAAOwI,GCHgCN,EAA7B,YAeN,OAdAG,GAAUvG,KAAKuG,OAAOO,MAAOP,GAG7BvG,KAAKuG,OAAOQ,YAAa/G,KAAKxB,UAAWgI,GAAa,GAGtDxG,KAAKuG,OAAOQ,YAAa/G,KAAKxB,UAAWwB,KAAKuG,OAAOS,qBAAsBV,IAAa,GAGxFtG,KAAKiH,UAAYjH,KAAKiH,SAAUjH,KAAKuG,OAAOW,YAAaZ,GAGzDtG,KAAKuG,OAAOY,sBAAuBb,GAE5BtG,MAIJmG,SAAP,SAAiCiB,EAAWC,GACxC,IAAIC,IAWc,4DAMlB,OAbIF,GAAQA,EAAKrJ,eAAgB,eAG7B4H,EADA2B,EAAcF,EAAK3I,YACKuB,OAIauH,MAAAvH,MAArCsH,KAGJE,EAAWF,GACXF,GAAQE,EAAYG,OAAQL,EAAMC,GAE3BC,MArDf,uBA4DgBE,EAAWE,GACvB,IAAMpB,EAAiClI,EAAcsJ,GAGrDA,EAAYC,UAAYrB,EAAU9H,UAGlCkJ,EAAYD,QAAUG,EAAYC,IAAK1B,GAAU2B,SAAUJ,GAG3DE,EAAYC,IAAKH,GAGjBA,EAAYK,UAAYL,EAAYK,SAAUzB,YAQlCmB,EAAQO,GAEpB,GAAiC,mBAAtBA,EAMP,OAAO,SAAUC,GACbT,EAAWS,GACXA,EAAKR,OAAQO,IAPjBR,EAAWQ,GACTA,EAA0CP,kBAWpCP,EAAagB,GACzB,OAAO,SAAE7J,GACL,IAAMkI,EAASqB,EAAYC,IAAKxJ,GAChCkI,EAAO4B,gBAAkBxK,EAAUoD,IAAWmH,EAAO3B,EAAO4B,yBAiCzDP,MAAP,SAAYvJ,GACA,IAAAkI,EAAWlI,SAEnB,OAAOkI,GAAUlI,IAAUkI,EAAOlI,MAAQkI,EACrClI,EAAMkI,OAAS,IAAIqB,EAAavJ,IAWzCuJ,iCAAA,SAAsBtB,GACZ,IAAAY,EAAcnG,IACd1C,EAAU2B,WAEhB,OAAOR,EAAW0H,EAAalH,KAAKmI,gBAAiB,SAAEC,EAAMtK,GACzD,GAAIwI,EAAWxI,KAAWO,EAAOP,GAC7B,OAAOO,EAAOP,MAK1B8J,kBAAA,SAAOrB,GAQH,IAPM,IAAArF,EAAalB,KAAK3B,MAAMG,UAIxB6J,GAHerI,gBAGCA,KAAKqI,cAAgBrI,KAAKqI,cAAcpF,aAG5CqF,IAAAlH,WAAAA,IAAS,CAAtB,IAAImH,OAEL,GAAItI,MAAMuI,QAASD,GACfvI,KAAK8G,MAAOyB,QAGX,GAAIF,EAAc1B,QAAS4B,GAAU,EAItC,GAHAF,EAAc3F,KAAM6F,GAGC,mBAAVA,EAAsB,CAE7BvI,KAAK+G,YAAa/G,KAAK3B,MAAOkK,GAG9B,IAAME,EAAiBF,EAAehC,OAClCkC,IACAzI,KAAK0I,WAAa/K,EAAUoD,IAAWf,KAAK0I,WAAYD,EAAaC,YACrE1I,KAAKmI,gBAAkBxK,EAAUoD,IAAWf,KAAKmI,gBAAiBM,EAAaN,iBAC/EnI,KAAKqI,cAAgBrI,KAAKqI,cAAclG,OAAQsG,EAAaJ,gBAIjErI,KAAK+G,YAAa7F,EAAOqH,EAAM/J,gBAI/BwB,KAAK+G,YAAa7F,EAAOqH,KAMzCX,qBAAA,eAAU,aAAAxG,mBAAAA,IAAAuH,kBACN,IAAiB,QAAAC,IAAArH,WAAAA,IAAQ,CAApB,IAAI0G,OACLL,EAAYC,IAAKI,GAAOnB,MAAM,CAAE9G,KAAK3B,UAI7CuJ,wBAAA,SAAahK,EAAeC,EAAiBgL,GAA7C,YAgDJ,SAAyBC,EAAiBlK,GAGtC,IAFA,IAAMmK,EAASC,SAAgBF,OAEdvH,EAAAjD,OAAO2K,oBAAqBH,GAA5B1H,WAAAA,IAAuC,CAAnD,IAAIqB,OACLsG,EAAQtG,IAAU7D,EAAK6D,IAnDvByG,CAAgBrL,EAAQ,SAAAC,GACpB,IACIsK,EADEe,EAAa7K,OAAOqD,yBAA0B9D,EAAQC,IAGxDsK,EAAOgB,EAAKjB,gBAAiBrK,KAC7BuL,EAAgBD,EAAKlC,YAAapJ,EAAMqL,EAAYf,EAAMS,GAGzDT,GAAQA,IAASkB,EAAWC,YAC7BF,EAAgBzL,EAAME,EAAMqL,EAAYC,EAAKV,WAAY5K,GAAQ+K,MAK7EjB,kCAAA,SAAuBtB,GACb,IAAEoC,EAAsB1I,gBAAV3B,EAAU2B,WAE9B,GAAI0I,EAAY,CACZ,IAAMxH,EAAQ7C,EAAMG,UAChBgL,EAAYlD,EAAU9H,UAE1B,IAAK,IAAIgD,KAAQkH,EAAa,CAC1B,IAAMN,EAAOM,EAAYlH,GAErBN,EAAMnD,eAAgByD,IAAUA,KAAQgI,IACxCtI,EAAOM,GAASiI,EAAavI,EAAOM,GAAQgI,EAAWhI,GAAQ4G,UA5F/E,WAAoB/J,GAAA2B,WAAA3B,EAXpB2B,iBAAuB,GAYX,IAAAuG,EAAWnI,EAAcC,UAEjC2B,KAAK0I,WAAenC,GAAUA,EAAOmC,YAAgB3H,IACrDf,KAAKmI,gBAAoB5B,GAAUA,EAAO4B,iBAAqBpH,IAC/Df,KAAKqI,cAAkB9B,GAAUA,EAAO8B,eAAmB,GA8FnE,IAAMW,EAAU,CACZU,SAAW3I,EAAQ,CACf9C,QAAS,EACTO,WAAY,EACZmL,QAAS,EACT3L,WAAY,EACZF,MAAO,EACP6J,WAAY,IAGhBmB,OAAS/H,EAAQ,CACbtC,aAAc,SAsCT6K,WAAiBpB,GAA6B,gBACrD7J,GACE,IAAMkI,EAASqB,EAAYC,IAAKxJ,GAChCkI,EAAOmC,WAAa/K,EAAUuK,EAAO3B,EAAOmC,cA4DpD,SAASW,EAAgBzL,EAAeE,EAAeqL,EAAiCf,EAAuBS,GAE3G,GAAIjL,EAAKG,eAAgBD,GAAQ,CAC7B,IAAM8L,EAAWtL,OAAOqD,yBAA0B/D,EAAME,GAEpD8L,EAASC,cAAgB,UAAWD,IACpChM,EAAME,GAAS+K,EACXY,EAAaN,EAAW1J,MAAOmK,EAASnK,MAAO2I,GAC/CqB,EAAaG,EAASnK,MAAO0J,EAAW1J,MAAO2I,SAKvD9J,OAAO4H,eAAgBtI,EAAME,EAAMqL,GAI3C,SAASM,EAAa7L,EAAMC,EAAQuK,GAEhC,YAAa,IAATxK,EAAyBC,EAGxBuK,QAAmB,IAAXvK,EAGNuK,EAAMxK,EAAMC,GAHqBD,EA5E5C0L,EAAW7J,MAAQ,SAAEa,EAAGC,GAAO,OAAAD,GAE/BgJ,EAAWC,WAAa,SAAEjJ,EAAGC,GAAO,OAAAD,GAGpCgJ,EAAWxC,MAAQ,SAAExG,EAAGC,GAAO,OAAA5C,EAAU,GAAI2C,EAAGC,IAGhD+I,EAAWQ,KAAO,SAAExJ,EAAGC,GAAO,gBAChBlB,GACN,OAAOiB,EAAEgE,KAAMtE,KAAMO,EAAE+D,KAAMtE,KAAMX,MAK3CiK,EAAW3L,SAAW,SAAE2C,EAAcC,GAAkB,kBAEhD,OAAO5C,EAAU2C,EAAEP,MAAOC,KAAMhC,WAAauC,EAAER,MAAOC,KAAMhC,cAKpEsL,EAAWS,WAAa,SAAEzJ,EAAcC,GAAkB,kBAElDD,EAAEP,MAAOC,KAAMhC,WACfuC,EAAER,MAAOC,KAAMhC,aAKvBsL,EAAWU,UAAY,SAAE1J,EAAcC,GAAkB,kBAEjDA,EAAER,MAAOC,KAAMhC,WACfsC,EAAEP,MAAOC,KAAMhC,aAKvBsL,EAAWnK,MAAQ,SAAEmB,EAAcC,GAAiB,kBAE5C,OAAOD,EAAEP,MAAOC,KAAMhC,YAAeuC,EAAER,MAAOC,KAAMhC,aAI5DsL,EAAW5K,KAAO,SAAE4B,EAAcC,GAAiB,kBAE3C,OAAOD,EAAEP,MAAOC,KAAMhC,YAAeuC,EAAER,MAAOC,KAAMhC,aC/WpD,IAAA2G,EAAyDsF,EAAhDnH,EAAgDoH,EAA5ClH,EAA4CmH,EAAvCxK,EAAuCyK,EAAjC3G,EAAiC4G,EAAvB1G,EAAuB2G,EAAb5G,EAAa6G,EAE7DC,GAAW,EAEf,SAASC,KACL,MAAO,IAAMD,aA2CNE,YAAP,SAAgBnJ,EAAiE+E,OAA/DqE,gBAAaC,iBAAcC,eAEzC,GAAIF,GAAeC,EAAc,CAC7B,IAAME,EAAY,IAAI9I,EAAUhC,KAAKxB,UAAUoM,cAE/CD,GAAeG,EAAU5H,aAAcyH,GACvCC,GAAgBE,EAAUhE,MAAO8D,GAEjC5K,KAAKxB,UAAUoM,aAAeE,EAI9BD,GACAvM,OAAOyM,iBAAkB/K,KAAKxB,UAAWgB,EAAW,GAAiBqL,EAAYG,MAwBzFN,wBAAA,aAEAA,gBAAA,SAAI7F,EAAwCrC,EAAWoB,GACnD,GAAsB,iBAAXiB,EAAsBF,EAAS7B,EAAI9C,KAAM6E,EAAQrC,EAAUoB,QACjE,IAAK,IAAIpC,KAAQqD,EAASF,EAAS7B,EAAI9C,KAAMwB,EAAMqD,EAAQrD,GAAQoC,GAAWpB,GAEnF,OAAOxC,MAGX0K,kBAAA,SAAM7F,EAAwCrC,EAAWoB,GACrD,GAAsB,iBAAXiB,EAAsBF,EAAShF,EAAMK,KAAM6E,EAAQrC,EAAUoB,QACnE,IAAK,IAAInB,KAAQoC,EAASF,EAAShF,EAAMK,KAAMyC,EAAMoC,EAAQpC,GAAQmB,GAAWpB,GAErF,OAAOxC,MAGX0K,iBAAA,SAAK7F,EAAyCrC,EAAWoB,GACrD,GAAKiB,EACA,GAAsB,iBAAXA,EAAsBF,EAAS3B,EAAKhD,KAAM6E,EAAQrC,EAAUoB,QACvE,IAAK,IAAIc,KAAQG,EAASF,EAAS3B,EAAKhD,KAAM0E,EAAMG,EAAQH,GAAQd,GAAWpB,QAFtEQ,EAAKhD,UAAM,EAAQwC,EAAUoB,GAI3C,OAAO5D,MAOX0K,qBAAA,SAAQ5M,EAAewC,EAAIC,EAAI+C,EAAIC,EAAIC,GAInC,YAHU,IAAND,QAAsB,IAANC,EAAeC,EAAUzD,KAAMlC,EAAMwC,EAAGC,EAAG+C,EAAGC,EAAGC,QACtD,IAANF,EAAeI,EAAU1D,KAAMlC,EAAMwC,EAAGC,EAAG+C,GAC/CK,EAAU3D,KAAMlC,EAAMwC,EAAGC,GACvBP,MAGX0K,sBAAA,SAAU7M,EAAoByC,EAAmCC,GAM7D,OALI1C,IACAoN,GAAcjL,KAAMnC,GACpBA,EAAOiF,GAAIxC,EAAIC,GAAkB,iBAAND,EAAwBC,EAAPP,KAAUA,OAGnDA,MAGX0K,0BAAA,SAAc7M,EAAoByC,EAAmCC,GAMjE,OALI1C,IACAoN,GAAcjL,KAAMnC,GACpBA,EAAO8B,KAAMW,EAAIC,GAAkB,iBAAND,EAAwBC,EAAPP,KAAUA,OAGrDA,MAGX0K,2BAAA,SAAeQ,EAAuB5K,EAAoCC,GAC9D,IAAA4K,EAAiBnL,kBACzB,GAAImL,EAAc,CACd,IAAMC,IAAe9K,GAAKC,GACpB8K,EAAU9K,GAAkB,iBAAND,EAAwBC,EAAPP,KAE7C,GAAIkL,EAAU,CACV,IAAMrN,EAASsN,EAAcD,EAASI,KAClCzN,IACIuN,UAAmBD,EAAcD,EAASI,KAC9CzN,EAAOmF,IAAK1C,EAAG+K,EAAQrL,YAG1B,GAAgB,MAAZkL,EAAkB,CACvB,IAAK,IAAII,KAAOH,EAAeA,EAAcG,GAAMtI,IAAK1C,EAAG+K,EAAQrL,MAE/DoL,IAAcpL,KAAKmL,kBAAe,IAI9C,OAAOnL,MASX0K,qBAAA,WACQ1K,KAAKuL,YAETvL,KAAKwL,gBACLxL,KAAKgD,MAELhD,KAAKuL,WAAY,IArIZb,MALZjD,EACAP,EAAY,CACT2D,WAAavB,EAAWxC,MACxB6D,YAAcrB,EAAWxC,SAEhB4D,KAqCT,cAXA1K,kBAA4B,EAG5BA,uBAAiC,EAS7BA,KAAKsL,IAAMb,KACXzK,KAAKyL,WAAW1L,MAAOC,KAAMhC,eAqGxB0N,GAAiCpM,EAAMoL,GAAUlM,UAAW,cAAe,cAMxF,SAASwM,GAAsB3L,GAC3B,GAAIA,EACA,MAAoB,mBAANA,EAAmB,CAAEwI,IAAmBxI,EAAGwK,cAAe,GAA8BxK,EAI9G,SAAS4L,GAAcU,EAAsB9N,IACnB8N,EAASR,eAAiBQ,EAASR,aAAe7M,OAAOwC,OAAQ,QACzEjD,EAAOyN,MAASzN,EAAOyN,IAAMb,OAEpB5M,SCjMd+N,GAAkC,oBAAZC,SAA2BA,QAAQC,KAAgC,eAAzBD,QAAQC,IAAIC,SACrFC,GAA0BJ,GACtB,CAAE,QAAS,QACX,CAAE,QAAS,OAAQ,QAAS,OAAQ,WAGhBjG,QAAA+E,IAIxBuB,0BAAA,SAAcC,EAAkBC,GAC5B,OAAOnM,KAAK8C,GAAIoJ,EAAO,SAAEE,EAAOC,EAAKC,GACjC,IAAKH,GAAUA,EAAOrH,KAAMsH,GAAS,CACjC,IAAMG,EAAO,CAAE,WAAIH,eAAUC,IAE7B,IAAK,IAAI7K,KAAQ8K,EACbC,EAAK7J,KAAM,cAAOlB,OAASgL,GAAUF,EAAO9K,KAGhDiL,QAASP,GAAQnM,MAAO0M,QAASF,OAM7CN,qBAAA,SAASC,EAAkBC,GACvB,OAAOnM,KAAK8C,GAAIoJ,EAAO,SAAEE,EAAOC,EAAKC,GACjC,IAAKH,GAAUA,EAAOrH,KAAMsH,GACxB,MAAM,IAAIM,MAAO,WAAIN,eAAUC,OAM3CJ,mBAAA,SAAOC,EAAkBC,GAAzB,WACI,OAAOnM,KAAK8C,GAAIoJ,EAAO,SAAEE,EAAOC,EAAKC,GAC5BH,IAAUA,EAAOrH,KAAMsH,KACxBhD,EAAKuD,QAAST,IAAY9C,EAAKuD,QAAST,IAAW,GAAM,MAarED,gBAAA,SAAI3L,EAASC,GACT,OAAOqM,aAAM9J,aAAIxC,EAAGC,IA7Cf0L,MADZxE,GACYwE,KAAb,qEACI7C,UAAgD,KAoDpD,IAAIoD,GAA6B,oBAAXK,OAClB,SAAAC,GACI,GAAIA,GAAkC,iBAAdA,EAAwB,CAE5C,IAAMrN,EAAQqN,EAAUC,iBAAmBD,EAGrCE,EAFQ/M,MAAMuI,QAAS/I,GAEN,qBAAeA,EAAMxB,aAAc,YAAMK,OAAOqC,KAAMlB,GAAQwN,KAAM,YAE3F,OAAOH,EAAUrO,YAAYX,KAAO,IAAMkP,EAG9C,OAAOE,KAAKC,UAAWL,IAEzB,SAAAzN,GAAK,OAAAA,GAEE+N,GAAS,IAAInB,GAE1B,GAAuB,oBAAZQ,QACP,IAAkB,SAAAY,MAAAjM,aAAAA,KAAW,CAAxB,IAAIyB,UACLuK,GAAOE,aAAczK,QAIhB0K,GAAiB,IAAItB,GAClCsB,GAAeC,QAAS,SAAUA,QAAS,YAE9BC,GAA8BL,GAAOM,QAAQC,KAAMP,8HFiD3BQ,EAAenO,GAChD,OAAO,SAAEyB,EAAgBpD,WACrB8J,EACKC,IAAK3G,EAAMzC,aACXsI,YAAa7F,UACR0M,WACI9P,GAAS2B,uHAmKT,eAAE,aAAA2B,mBAAAA,IAAAyM,kBAAuB,gBACzCxP,GAAsB,OAAAuJ,EAAYC,IAAKxJ,GAAQyI,MAAO+G,oDAnLrBC,GACnC,OAAO,SAAkB5M,EAAOpD,IACfoD,EAAMnD,eAAgB+P,GAC/B5M,EAAO4M,GAAc5M,EAAO4M,IAAc5M,EAAO4M,IAAc,IAAI7K,SAElEP,KAAK5E"} \ No newline at end of file diff --git a/mixture/lib/events.d.ts b/mixture/lib/events.d.ts index 79c1567b..72db359f 100644 --- a/mixture/lib/events.d.ts +++ b/mixture/lib/events.d.ts @@ -10,14 +10,14 @@ export interface MessengerDefinition { export interface PropertyMap { [name: string]: Property; } -export declare type Property = PropertyDescriptor | (() => any); +export type Property = PropertyDescriptor | (() => any); export interface MessengersByCid { [cid: string]: Messenger; } -export declare type EventCallbacks = { +export type EventCallbacks = { [events: string]: EventCallback; }; -export declare type EventCallback = (this: Context, ...args: any[]) => void; +export type EventCallback = (this: Context, ...args: any[]) => void; export declare class Messenger implements Mixable, EventSource { static mixins: MixinsState; static onExtend: (BaseClass: Function) => void; diff --git a/mixture/lib/events.js.map b/mixture/lib/events.js.map index 064f4097..7430946a 100644 --- a/mixture/lib/events.js.map +++ b/mixture/lib/events.js.map @@ -1 +1 @@ -{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mixture/lib/eventsource.d.ts b/mixture/lib/eventsource.d.ts index 3e4d98a6..d7b86e8e 100644 --- a/mixture/lib/eventsource.d.ts +++ b/mixture/lib/eventsource.d.ts @@ -34,7 +34,7 @@ export declare function off(source: EventSource, name?: string, callback?: Callb export interface EventSource { } export declare function strings(api: ApiEntry, source: EventSource, events: string, callback: Callback, context: any): void; -export declare type ApiEntry = (source: EventSource, event: string, callback: Callback, context?: any) => void; +export type ApiEntry = (source: EventSource, event: string, callback: Callback, context?: any) => void; export declare function trigger2(self: EventSource, name: string, a: any, b: any): void; export declare function trigger3(self: EventSource, name: string, a: any, b: any, c: any): void; export declare function trigger5(self: EventSource, name: string, a: any, b: any, c: any, d: any, e: any): void; diff --git a/mixture/lib/eventsource.js.map b/mixture/lib/eventsource.js.map index bb0e9675..6509d65e 100644 --- a/mixture/lib/eventsource.js.map +++ b/mixture/lib/eventsource.js.map @@ -1 +1 @@ -{"version":3,"file":"eventsource.js","sourceRoot":"","sources":["../src/eventsource.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"eventsource.js","sourceRoot":"","sources":["../src/eventsource.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mixture/lib/index.d.ts b/mixture/lib/index.d.ts index 053ce5d9..e4867567 100644 --- a/mixture/lib/index.d.ts +++ b/mixture/lib/index.d.ts @@ -5,6 +5,6 @@ export * from './logging'; export * from './mixins'; export { tools }; export { eventsApi }; -export declare type TheType = { +export type TheType = { [K in keyof X]: X[K]; }; diff --git a/mixture/lib/logging.d.ts b/mixture/lib/logging.d.ts index f2658c90..eb6c1034 100644 --- a/mixture/lib/logging.d.ts +++ b/mixture/lib/logging.d.ts @@ -1,6 +1,6 @@ import { Messenger } from './events'; -export declare type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log'; -export declare type LoggerEventHandler = (topic: string, msg: string, props: object) => void; +export type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log'; +export type LoggerEventHandler = (topic: string, msg: string, props: object) => void; export declare const isProduction: boolean, logEvents: LogLevel[]; export declare class Logger extends Messenger { counter: { diff --git a/mixture/lib/logging.js b/mixture/lib/logging.js index 3dcd3626..0d96e9d3 100644 --- a/mixture/lib/logging.js +++ b/mixture/lib/logging.js @@ -14,9 +14,9 @@ var Logger = (function (_super) { Logger.prototype.logToConsole = function (level, filter) { return this.on(level, function (topic, msg, props) { if (!filter || filter.test(topic)) { - var args = ["[" + topic + "] " + msg]; + var args = ["[".concat(topic, "] ").concat(msg)]; for (var name_1 in props) { - args.push("\n\t" + name_1 + ":", toString(props[name_1])); + args.push("\n\t".concat(name_1, ":"), toString(props[name_1])); } console[level].apply(console, args); } @@ -25,7 +25,7 @@ var Logger = (function (_super) { Logger.prototype.throwOn = function (level, filter) { return this.on(level, function (topic, msg, props) { if (!filter || filter.test(topic)) { - throw new Error("[" + topic + "] " + msg); + throw new Error("[".concat(topic, "] ").concat(msg)); } }); }; @@ -50,7 +50,7 @@ var toString = typeof window === 'undefined' ? function (something) { if (something && typeof something === 'object') { var value = something.__inner_state__ || something, isArray = Array.isArray(value); - var body = isArray ? "[ length = " + value.length + " ]" : "{ " + Object.keys(value).join(', ') + " }"; + var body = isArray ? "[ length = ".concat(value.length, " ]") : "{ ".concat(Object.keys(value).join(', '), " }"); return something.constructor.name + ' ' + body; } return JSON.stringify(something); diff --git a/mixture/lib/logging.js.map b/mixture/lib/logging.js.map index b89d3a6d..3dc9c03f 100644 --- a/mixture/lib/logging.js.map +++ b/mixture/lib/logging.js.map @@ -1 +1 @@ -{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"logging.js","sourceRoot":"","sources":["../src/logging.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mixture/lib/mixins.d.ts b/mixture/lib/mixins.d.ts index aa9c7501..d51d2b9c 100644 --- a/mixture/lib/mixins.d.ts +++ b/mixture/lib/mixins.d.ts @@ -46,8 +46,8 @@ export declare class MixinsState { export interface MixinMergeRules { [name: string]: MixinMergeRule; } -export declare type MixinMergeRule = (a: any, b: any) => any; -export declare type Mixin = { +export type MixinMergeRule = (a: any, b: any) => any; +export type Mixin = { [key: string]: any; } | Function; export interface MixinRulesDecorator { diff --git a/mixture/lib/mixins.js.map b/mixture/lib/mixins.js.map index 11e3e9b0..47b2588c 100644 --- a/mixture/lib/mixins.js.map +++ b/mixture/lib/mixins.js.map @@ -1 +1 @@ -{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mixins.js","sourceRoot":"","sources":["../src/mixins.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mixture/lib/tools.d.ts b/mixture/lib/tools.d.ts index cb3ba913..1efe752f 100644 --- a/mixture/lib/tools.d.ts +++ b/mixture/lib/tools.d.ts @@ -3,7 +3,7 @@ export declare function isValidJSON(value: any): boolean; export declare function getBaseClass(Class: Function): any; export declare function assignToClassProto(Class: any, definition: T, ...names: K[]): void; export declare function isEmpty(obj: {}): boolean; -export declare type Iteratee = (value: any, key?: string | number) => any; +export type Iteratee = (value: any, key?: string | number) => any; export declare function some(obj: any, fun: Iteratee): any; export declare function every(obj: {}, predicate: Iteratee): boolean; export declare function getPropertyDescriptor(obj: {}, prop: string): PropertyDescriptor; diff --git a/mixture/lib/tools.js.map b/mixture/lib/tools.js.map index d1874308..b8785ff4 100644 --- a/mixture/lib/tools.js.map +++ b/mixture/lib/tools.js.map @@ -1 +1 @@ -{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/mixture/package.json b/mixture/package.json index 56b14a36..7792c0b6 100644 --- a/mixture/package.json +++ b/mixture/package.json @@ -36,5 +36,12 @@ "dependencies": { "tslib": "^1.10.0" }, - "private": false + "devDependencies": { + "rimraf": "^2.6.3", + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" + } } diff --git a/mixture/src/logging.ts b/mixture/src/logging.ts index 657f8dba..d945fb8f 100644 --- a/mixture/src/logging.ts +++ b/mixture/src/logging.ts @@ -1,6 +1,8 @@ import { Messenger } from './events' import { define } from './mixins'; +declare var process : any; + export type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log'; export type LoggerEventHandler = ( topic : string, msg : string, props : object ) => void; @@ -90,4 +92,4 @@ if( typeof console !== 'undefined' ) { export const throwingLogger = new Logger(); throwingLogger.throwOn( 'error' ).throwOn( 'warn' ); -export const log : typeof logger.trigger = logger.trigger.bind( logger ); \ No newline at end of file +export const log : typeof logger.trigger = logger.trigger.bind( logger ); diff --git a/mixture/tsconfig.json b/mixture/tsconfig.json index d8186a01..8f3ae575 100644 --- a/mixture/tsconfig.json +++ b/mixture/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib", }, "include":[ "./src/index.ts" ] -} \ No newline at end of file +} diff --git a/models/dist/index.js b/models/dist/index.js index 3d26b907..1d6234a1 100644 --- a/models/dist/index.js +++ b/models/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t=t||self).Nested={})}(this,function(s){"use strict";function a(t,e){for(var n in e)e.hasOwnProperty(n)&&!t.hasOwnProperty(n)&&(t[n]=e[n]);if(2( dest : T, ...sources : Object[] ) : T\r\nexport function defaults< T >( dest : T, source : Object ) : T {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) && !dest.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n if( arguments.length > 2 ){\r\n for( let i = 2; i < arguments.length; i++ ){\r\n const other = arguments[ i ];\r\n other && defaults( dest, other );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Check if value is raw JSON */\r\nexport function isValidJSON( value : any ) : boolean {\r\n if( value === null ){\r\n return true;\r\n }\r\n\r\n switch( typeof value ){\r\n case 'number' :\r\n case 'string' :\r\n case 'boolean' :\r\n return true;\r\n\r\n case 'object':\r\n var proto = Object.getPrototypeOf( value );\r\n\r\n if( proto === Object.prototype || proto === Array.prototype ){\r\n return every( value, isValidJSON );\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/** Get the base class constructor function.\r\n * @param Class Subclass constructor function.\r\n * @returns Base class constructor function.\r\n */\r\nexport function getBaseClass( Class : Function ) {\r\n return Object.getPrototypeOf( Class.prototype ).constructor\r\n}\r\n\r\nexport function assignToClassProto( Class, definition : T, ...names : K[] ) : void {\r\n for( let name of names ){\r\n const value = definition[ name ];\r\n value === void 0 || ( Class.prototype[ name ] = value );\r\n }\r\n}\r\n\r\n/** Checks whenever given object is an empty hash `{}` */\r\nexport function isEmpty( obj : {} ) : boolean {\r\n if( obj ){\r\n for( let key in obj ){\r\n if( obj.hasOwnProperty( key ) ){\r\n return false;\r\n }\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nexport type Iteratee = ( value : any, key? : string | number ) => any;\r\n\r\nfunction someArray( arr : any[], fun : Iteratee ) : any {\r\n let result;\r\n\r\n for( let i = 0; i < arr.length; i++ ){\r\n if( result = fun( arr[ i ], i ) ){\r\n return result;\r\n }\r\n }\r\n}\r\n\r\nfunction someObject( obj : {}, fun : Iteratee ) : any {\r\n let result;\r\n\r\n for( let key in obj ){\r\n if( obj.hasOwnProperty( key ) ){\r\n if( result = fun( obj[ key ], key ) ){\r\n return result;\r\n }\r\n }\r\n }\r\n}\r\n\r\n/** Similar to underscore `_.some` */\r\nexport function some( obj, fun : Iteratee ) : any {\r\n if( Object.getPrototypeOf( obj ) === ArrayProto ){\r\n return someArray( obj, fun );\r\n }\r\n else{\r\n return someObject( obj, fun );\r\n }\r\n}\r\n\r\n/** Similar to underscore `_.every` */\r\nexport function every( obj : { }, predicate : Iteratee ) : boolean {\r\n return !some( obj, x => !predicate( x ) );\r\n}\r\n\r\n/** Similar to `getOwnPropertyDescriptor`, but traverse the whole prototype chain. */\r\nexport function getPropertyDescriptor( obj : {}, prop : string ) : PropertyDescriptor {\r\n let desc : PropertyDescriptor;\r\n\r\n for( let proto = obj; !desc && proto; proto = Object.getPrototypeOf( proto ) ) {\r\n desc = Object.getOwnPropertyDescriptor( proto, prop );\r\n }\r\n\r\n return desc;\r\n}\r\n\r\n/** Similar to underscore `_.omit` */\r\nexport function omit( source : {}, ...rest : string[] ) : {}\r\nexport function omit( source ) : {} {\r\n const dest = {}, discard = {};\r\n\r\n for( let i = 1; i < arguments.length; i ++ ){\r\n discard[ arguments[ i ] ] = true;\r\n }\r\n\r\n for( var name in source ) {\r\n if( !discard.hasOwnProperty( name ) && source.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** map `source` object properties with a given function, and assign the result to the `dest` object.\r\n * When `fun` returns `undefined`, skip this value. \r\n */\r\nexport function transform< A, B >( dest : { [ key : string ] : A }, source : { [ key : string ] : B }, fun : ( value : B, key : string ) => A | void ) : { [ key : string ] : A } {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) ) {\r\n var value = fun( source[ name ], name );\r\n value === void 0 || ( dest[ name ] = < A >value );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\nexport function fastAssign< A >( dest : A, source : {} ) : A {\r\n for( var name in source ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n\r\n return dest;\r\n}\r\n\r\nexport function fastDefaults< A >( dest : A, source : {} ) : A {\r\n for( var name in source ) {\r\n if( dest[ name ] === void 0 ){\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Similar to underscore `_.extend` and `Object.assign` */\r\nexport function assign< T >( dest : T, ...sources : Object[] ) : T\r\nexport function assign< T >( dest : T, source : Object ) : T {\r\n for( var name in source ) {\r\n if( source.hasOwnProperty( name ) ) {\r\n dest[ name ] = source[ name ];\r\n }\r\n }\r\n\r\n if( arguments.length > 2 ){\r\n for( let i = 2; i < arguments.length; i++ ){\r\n const other = arguments[ i ];\r\n other && assign( dest, other );\r\n }\r\n }\r\n\r\n return dest;\r\n}\r\n\r\n/** Similar to underscore `_.keys` */\r\nexport function keys( o : any ) : string[]{\r\n return o ? Object.keys( o ) : [];\r\n}\r\n\r\n/** Similar to underscore `_.once` */\r\nexport function once( func : Function ) : Function {\r\n var memo, first = true;\r\n return function() {\r\n if ( first ) {\r\n first = false;\r\n memo = func.apply(this, arguments);\r\n func = null;\r\n }\r\n return memo;\r\n };\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n DateProto = Date.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\n/**\r\n * Determine whenever two values are not equal, deeply traversing \r\n * arrays and plain JS objects (hashes). Dates are compared by enclosed timestamps, all other\r\n * values are compared with strict comparison.\r\n */\r\nexport function notEqual( a : any, b : any) : boolean {\r\n if( a === b ) return false;\r\n\r\n if( a && b && typeof a == 'object' && typeof b == 'object' ) {\r\n const protoA = Object.getPrototypeOf( a );\r\n\r\n if( protoA !== Object.getPrototypeOf( b ) ) return true;\r\n\r\n switch( protoA ){\r\n case DateProto : return +a !== +b;\r\n case ArrayProto : return arraysNotEqual( a, b );\r\n case ObjectProto :\r\n case null:\r\n return objectsNotEqual( a, b );\r\n }\r\n }\r\n\r\n return true;\r\n}\r\n\r\nfunction objectsNotEqual( a, b ) {\r\n const keysA = Object.keys( a );\r\n\r\n if( keysA.length !== Object.keys( b ).length ) return true;\r\n\r\n for( let i = 0; i < keysA.length; i++ ) {\r\n const key = keysA[ i ];\r\n\r\n if( !b.hasOwnProperty( key ) || notEqual( a[ key ], b[ key ] ) ) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}\r\n\r\nfunction arraysNotEqual( a, b ) {\r\n if( a.length !== b.length ) return true;\r\n\r\n for( let i = 0; i < a.length; i++ ) {\r\n if( notEqual( a[ i ], b[ i ] ) ) return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**\r\n * Create an object without Object prototype members except hasOwnProperty.\r\n * @param obj - optional parameter to populate the hash map from.\r\n */\r\nconst HashProto = Object.create( null );\r\nHashProto.hasOwnProperty = ObjectProto.hasOwnProperty;\r\n\r\nexport function hashMap( obj? ){\r\n const hash = Object.create( HashProto );\r\n return obj ? assign( hash, obj ) : hash;\r\n}\r\n\r\nexport function compare( a : any, b : any ) : -1 | 0 | 1 {\r\n // Handle strictly equal values.\r\n if( a == b ) return 0;\r\n\r\n // Handle nulls.\r\n if( a == null ) return -1;\r\n if( b == null ) return 1;\r\n\r\n // No nulls. Convert values to primitives.\r\n const av = a.valueOf(),\r\n bv = b.valueOf();\r\n\r\n return av < bv ? -1 :\r\n av > bv ? 1 :\r\n 0;\r\n}","import { once as _once } from './tools'\r\n\r\n/*******************\r\n * Prebuilt events map, used for optimized bulk event subscriptions.\r\n *\r\n * const events = new EventMap({\r\n * 'change' : true, // Resend this event from self as it is.\r\n * 'change:attr' : 'localTargetFunction',\r\n * 'executedInTargetContext' : function(){ ... }\r\n * 'executedInNativeContext' : '^props.handler'\r\n * })\r\n */\r\nexport interface EventsDefinition {\r\n [ events : string ] : Function | string | boolean\r\n}\r\n\r\nexport class EventMap {\r\n handlers : EventDescriptor[] = [];\r\n\r\n constructor( map? : EventsDefinition | EventMap ){\r\n if( map ){\r\n if( map instanceof EventMap ){\r\n this.handlers = map.handlers.slice();\r\n }\r\n else{\r\n map && this.addEventsMap( map );\r\n }\r\n }\r\n }\r\n\r\n merge( map : EventMap ){\r\n this.handlers = this.handlers.concat( map.handlers );\r\n }\r\n\r\n addEventsMap( map : EventsDefinition ){\r\n for( let names in map ){\r\n this.addEvent( names, map[ names ] )\r\n }\r\n }\r\n\r\n bubbleEvents( names : string ){\r\n for( let name of names.split( eventSplitter ) ){\r\n this.addEvent( name, getBubblingHandler( name ) );\r\n }\r\n }\r\n\r\n addEvent( names : string, callback : Function | string | boolean ){\r\n const { handlers } = this;\r\n\r\n for( let name of names.split( eventSplitter ) ){\r\n handlers.push( new EventDescriptor( name, callback ) );\r\n }\r\n }\r\n\r\n subscribe( target : {}, source : EventSource ){\r\n for( let event of this.handlers ){\r\n on( source, event.name, event.callback, target );\r\n }\r\n }\r\n\r\n unsubscribe( target : {}, source : EventSource ){\r\n for( let event of this.handlers ){\r\n off( source, event.name, event.callback, target );\r\n }\r\n }\r\n}\r\n\r\nexport class EventDescriptor {\r\n callback : Function\r\n\r\n constructor(\r\n public name : string,\r\n callback : Function | string | boolean\r\n ){\r\n if( callback === true ){\r\n this.callback = getBubblingHandler( name );\r\n }\r\n else if( typeof callback === 'string' ){\r\n this.callback =\r\n function localCallback(){\r\n const handler = this[ callback ];\r\n handler && handler.apply( this, arguments );\r\n };\r\n }\r\n else{\r\n this.callback = callback;\r\n }\r\n }\r\n}\r\n\r\nconst _bubblingHandlers = {};\r\n\r\nfunction getBubblingHandler( event : string ){\r\n return _bubblingHandlers[ event ] || (\r\n _bubblingHandlers[ event ] = function( a?, b?, c?, d?, e? ){\r\n if( d !== void 0 || e !== void 0 ) trigger5( this, event, a, b, c, d, e );\r\n if( c !== void 0 ) trigger3( this, event, a, b, c );\r\n else trigger2( this, event, a, b );\r\n }\r\n );\r\n}\r\n\r\nexport interface HandlersByEvent {\r\n [ name : string ] : EventHandler\r\n}\r\n\r\nexport class EventHandler {\r\n constructor( public callback : Callback, public context : any, public next = null ){}\r\n}\r\n\r\nfunction listOff( _events : HandlersByEvent, name : string, callback : Callback, context : any ){\r\n const head = _events[ name ];\r\n\r\n let filteredHead, prev;\r\n\r\n for( let ev = head; ev; ev = ev.next ){\r\n // Element must be kept\r\n if( ( callback && callback !== ev.callback && callback !== ev.callback._callback ) ||\r\n ( context && context !== ev.context ) ){\r\n \r\n prev = ev;\r\n filteredHead || ( filteredHead = ev );\r\n }\r\n // Element must be skipped\r\n else{\r\n if( prev ) prev.next = ev.next;\r\n }\r\n }\r\n\r\n if( head !== filteredHead ) _events[ name ] = filteredHead;\r\n}\r\n\r\nfunction listSend2( head : EventHandler, a, b ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b );\r\n}\r\n\r\nfunction listSend3( head : EventHandler, a, b, c ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c );\r\n}\r\n\r\nfunction listSend4( head : EventHandler, a, b, c, d ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d );\r\n}\r\n\r\nfunction listSend5( head : EventHandler, a, b, c, d, e ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e );\r\n}\r\n\r\nfunction listSend6( head : EventHandler, a, b, c, d, e, f ){\r\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e, f );\r\n}\r\n\r\nexport interface Callback extends Function {\r\n _callback? : Function\r\n}\r\n\r\nexport function on( source : EventSource, name : string, callback : Callback, context? : any ) : void {\r\n if( callback ){\r\n const _events = source._events || ( source._events = Object.create( null ) );\r\n _events[ name ] = new EventHandler( callback, context, _events[ name ] );\r\n }\r\n}\r\n\r\nexport function once( source : EventSource, name : string, callback : Callback, context? : any ) : void {\r\n if( callback ){\r\n const once : Callback = _once( function(){\r\n off( source, name, once );\r\n callback.apply(this, arguments);\r\n });\r\n\r\n once._callback = callback;\r\n on( source, name, once, context );\r\n }\r\n}\r\n\r\nexport function off( source : EventSource, name? : string, callback? : Callback, context? : any ) : void {\r\n const { _events } = source;\r\n if( _events ){\r\n if( callback || context ) {\r\n if( name ){\r\n listOff( _events, name, callback, context );\r\n }\r\n else{\r\n for( let name in _events ){\r\n listOff( _events, name, callback, context );\r\n }\r\n }\r\n }\r\n else if( name ){\r\n _events[ name ] = void 0;\r\n }\r\n else{\r\n source._events = void 0;\r\n }\r\n }\r\n}\r\n\r\nexport interface EventSource {\r\n /** @internal */\r\n _events : HandlersByEvent\r\n}\r\n\r\nconst eventSplitter = /\\s+/;\r\n\r\nexport function strings( api : ApiEntry, source : EventSource, events : string, callback : Callback, context ){\r\n if( eventSplitter.test( events ) ){\r\n const names = events.split( eventSplitter );\r\n for( let name of names ) api( source, name, callback, context );\r\n }\r\n else api( source, events, callback, context );\r\n}\r\n\r\nexport type ApiEntry = ( source : EventSource, event : string, callback : Callback, context? : any ) => void\r\n\r\n/*********************************\r\n * Event-triggering API\r\n */\r\n\r\n export function trigger2( self : EventSource, name : string, a, b ) : void {\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend2( queue, a, b );\r\n listSend3( all, name, a, b );\r\n }\r\n};\r\n\r\nexport function trigger3( self : EventSource, name : string, a, b, c ) : void{\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend3( queue, a, b, c );\r\n listSend4( all, name, a, b, c );\r\n }\r\n};\r\n\r\nexport function trigger5( self : EventSource, name : string, a, b, c, d, e ) : void{\r\n const { _events } = self;\r\n if( _events ){\r\n const queue = _events[ name ],\r\n { all } = _events;\r\n\r\n listSend5( queue, a, b, c, d, e );\r\n listSend6( all, name, a, b, c, d, e );\r\n }\r\n};","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*****************************************************************\r\n * Mixins engine and @define metaprogramming class extensions\r\n *\r\n * Vlad Balin & Volicon, (c) 2016-2017\r\n */\r\nimport { __extends } from 'tslib';\r\nimport { assign, defaults, getBaseClass, hashMap, transform } from './tools';\r\n\r\nexport interface Subclass< T > extends MixableConstructor {\r\n new ( ...args ) : T\r\n prototype : T\r\n}\r\n\r\nexport interface MixableConstructor extends Function{\r\n __super__? : object;\r\n mixins? : MixinsState;\r\n onExtend? : ( BaseClass : Function ) => void;\r\n onDefine? : ( definition : object, BaseClass : Function ) => void;\r\n define? : ( definition? : object, statics? : object ) => MixableConstructor;\r\n extend? : ( definition? : T, statics? : object ) => Subclass;\r\n}\r\n\r\nexport interface MixableDefinition {\r\n mixins? : Mixin[]\r\n}\r\n\r\n/**\r\n * Base class, holding metaprogramming class extensions.\r\n * Supports mixins and Class.define metaprogramming method.\r\n */\r\nexport class Mixable {\r\n static onExtend : ( BaseClass : Function ) => void;\r\n static onDefine : ( definition : object, BaseClass : Function ) => object; \r\n static __super__ : object\r\n static mixins : MixinsState;\r\n\r\n /** \r\n * Must be called after inheritance and before 'define'.\r\n */\r\n static define( protoProps : MixableDefinition = {}, staticProps? : object ) : MixableConstructor {\r\n const BaseClass : MixableConstructor = getBaseClass( this );\r\n\r\n // Assign statics.\r\n staticProps && assign( this, staticProps );\r\n\r\n // Extract and apply mixins from the definition.\r\n const { mixins, ...defineMixin } = protoProps;\r\n mixins && this.mixins.merge( mixins );\r\n\r\n // Unshift definition to the the prototype.\r\n this.mixins.mergeObject( this.prototype, defineMixin, true );\r\n\r\n // Unshift definition from statics to the prototype.\r\n this.mixins.mergeObject( this.prototype, this.mixins.getStaticDefinitions( BaseClass ), true );\r\n\r\n // Call onDefine hook, if it's present.\r\n this.onDefine && this.onDefine( this.mixins.definitions, BaseClass );\r\n \r\n // Apply merge rules to inherited members. No mixins can be added after this point.\r\n this.mixins.mergeInheritedMembers( BaseClass );\r\n\r\n return this;\r\n }\r\n\r\n /** Backbone-compatible extend method to be used in ES5 and for backward compatibility */\r\n static extend< T extends object>(spec? : T, statics? : {} ) : Subclass< T > {\r\n let TheSubclass : Subclass< T >;\r\n\r\n // 1. Create the subclass (ES5 compatibility shim).\r\n // If constructor function is given...\r\n if( spec && spec.hasOwnProperty( 'constructor' ) ){\r\n // ...we need to manually call internal TypeScript __extend function. Hack! Hack!\r\n TheSubclass = spec.constructor as any;\r\n __extends( TheSubclass, this );\r\n }\r\n // Otherwise, create the subclall in usual way.\r\n else{\r\n TheSubclass = class Subclass extends this {} as any;\r\n }\r\n\r\n predefine( TheSubclass );\r\n spec && TheSubclass.define( spec, statics );\r\n\r\n return TheSubclass;\r\n }\r\n}\r\n\r\n/** @decorator `@predefine` for forward definitions. Can be used with [[Mixable]] classes only.\r\n * Forwards the call to the [[Mixable.predefine]];\r\n */\r\nexport function predefine( Constructor : MixableConstructor ) : void {\r\n const BaseClass : MixableConstructor = getBaseClass( Constructor );\r\n\r\n // Legacy systems support\r\n Constructor.__super__ = BaseClass.prototype;\r\n \r\n // Initialize mixins structures...\r\n Constructor.define || MixinsState.get( Mixable ).populate( Constructor );\r\n\r\n // Make sure Ctor.mixins are ready before the callback...\r\n MixinsState.get( Constructor );\r\n\r\n // Call extend hook.\r\n Constructor.onExtend && Constructor.onExtend( BaseClass );\r\n}\r\n\r\n/** @decorator `@define` for metaprogramming magic. Can be used with [[Mixable]] classes only.\r\n * Forwards the call to [[Mixable.define]].\r\n */\r\nexport function define( ClassOrDefinition : Function ) : void;\r\nexport function define( ClassOrDefinition : object ) : ClassDecorator;\r\nexport function define( ClassOrDefinition : object | MixableConstructor ){\r\n // @define class\r\n if( typeof ClassOrDefinition === 'function' ){\r\n predefine( ClassOrDefinition );\r\n ( ClassOrDefinition as MixableConstructor ).define();\r\n }\r\n // @define({ prop : val, ... }) class\r\n else{\r\n return function( Ctor : MixableConstructor ){\r\n predefine( Ctor );\r\n Ctor.define( ClassOrDefinition );\r\n } as any;\r\n }\r\n}\r\n\r\nexport function definitions( rules : MixinMergeRules ) : ClassDecorator {\r\n return ( Class : Function ) => {\r\n const mixins = MixinsState.get( Class );\r\n mixins.definitionRules = defaults( hashMap(), rules, mixins.definitionRules );\r\n }\r\n}\r\n\r\n// Create simple property list decorator\r\nexport function propertyListDecorator( listName: string ) : PropertyDecorator {\r\n return function propList(proto, name : string) {\r\n const list = proto.hasOwnProperty( listName ) ?\r\n proto[ listName ] : (proto[ listName ] = (proto[ listName ] || []).slice()); \r\n\r\n list.push(name);\r\n }\r\n}\r\n\r\nexport function definitionDecorator( definitionKey, value ){\r\n return ( proto : object, name : string ) => {\r\n MixinsState\r\n .get( proto.constructor )\r\n .mergeObject( proto, {\r\n [ definitionKey ] : {\r\n [ name ] : value\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport class MixinsState {\r\n mergeRules : MixinMergeRules;\r\n definitionRules : MixinMergeRules;\r\n definitions : object = {};\r\n appliedMixins : Mixin[];\r\n\r\n // Return mixins state for the class. Initialize if it's not exist.\r\n static get( Class ) : MixinsState {\r\n const { mixins } = Class;\r\n \r\n return mixins && Class === mixins.Class ? mixins :\r\n Class.mixins = new MixinsState( Class );\r\n }\r\n\r\n constructor( public Class : MixableConstructor ){\r\n const { mixins } = getBaseClass( Class );\r\n\r\n this.mergeRules = ( mixins && mixins.mergeRules ) || hashMap();\r\n this.definitionRules = ( mixins && mixins.definitionRules ) || hashMap();\r\n this.appliedMixins = ( mixins && mixins.appliedMixins ) || [];\r\n }\r\n\r\n getStaticDefinitions( BaseClass : Function ){\r\n const definitions = hashMap(),\r\n { Class } = this;\r\n\r\n return transform( definitions, this.definitionRules, ( rule, name ) =>{\r\n if( BaseClass[ name ] !== Class[ name ]){\r\n return Class[ name ];\r\n }\r\n });\r\n }\r\n\r\n merge( mixins : Mixin[] ){\r\n const proto = this.Class.prototype,\r\n { mergeRules } = this;\r\n\r\n // Copy applied mixins array as it's going to be updated.\r\n const appliedMixins = this.appliedMixins = this.appliedMixins.slice();\r\n\r\n // Apply mixins in sequence...\r\n for( let mixin of mixins ) {\r\n // Mixins array should be flattened.\r\n if( Array.isArray( mixin ) ) {\r\n this.merge( mixin );\r\n }\r\n // Don't apply mixins twice.\r\n else if( appliedMixins.indexOf( mixin ) < 0 ){\r\n appliedMixins.push( mixin );\r\n\r\n // For constructors, merge _both_ static and prototype members.\r\n if( typeof mixin === 'function' ){\r\n // Merge static members\r\n this.mergeObject( this.Class, mixin );\r\n\r\n // merge definitionRules and mergeRules\r\n const sourceMixins = ( mixin as any ).mixins;\r\n if( sourceMixins ){\r\n this.mergeRules = defaults( hashMap(), this.mergeRules, sourceMixins.mergeRules );\r\n this.definitionRules = defaults( hashMap(), this.definitionRules, sourceMixins.definitionRules );\r\n this.appliedMixins = this.appliedMixins.concat( sourceMixins.appliedMixins );\r\n }\r\n\r\n // Prototypes are merged according with rules.\r\n this.mergeObject( proto, mixin.prototype );\r\n }\r\n // Handle plain object mixins.\r\n else {\r\n this.mergeObject( proto, mixin );\r\n }\r\n }\r\n }\r\n }\r\n\r\n populate( ...ctors : Function[] ){\r\n for( let Ctor of ctors ) {\r\n MixinsState.get( Ctor ).merge([ this.Class ]);\r\n }\r\n }\r\n\r\n mergeObject( dest : object, source : object, unshift? : boolean ) {\r\n forEachOwnProp( source, name => {\r\n const sourceProp = Object.getOwnPropertyDescriptor( source, name );\r\n let rule : MixinMergeRule;\r\n\r\n if( rule = this.definitionRules[ name ] ){\r\n assignProperty( this.definitions, name, sourceProp, rule, unshift );\r\n }\r\n\r\n if( !rule || rule === mixinRules.protoValue ){\r\n assignProperty( dest, name, sourceProp, this.mergeRules[ name ], unshift );\r\n }\r\n });\r\n }\r\n\r\n mergeInheritedMembers( BaseClass : Function ){\r\n const { mergeRules, Class } = this;\r\n\r\n if( mergeRules ){\r\n const proto = Class.prototype,\r\n baseProto = BaseClass.prototype;\r\n\r\n for( let name in mergeRules ) {\r\n const rule = mergeRules[ name ];\r\n\r\n if( proto.hasOwnProperty( name ) && name in baseProto ){\r\n proto[ name ] = resolveRule( proto[ name ], baseProto[ name ], rule );\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\nconst dontMix = {\r\n function : hashMap({\r\n length : true,\r\n prototype : true,\r\n caller : true,\r\n arguments : true,\r\n name : true,\r\n __super__ : true\r\n }),\r\n \r\n object : hashMap({\r\n constructor : true\r\n }) \r\n}\r\n\r\nfunction forEachOwnProp( object : object, fun : ( name : string ) => void ){\r\n const ignore = dontMix[ typeof object ];\r\n\r\n for( let name of Object.getOwnPropertyNames( object ) ) {\r\n ignore[ name ] || fun( name );\r\n }\r\n}\r\n\r\nexport interface MixinMergeRules {\r\n [ name : string ] : MixinMergeRule\r\n}\r\n\r\nexport type MixinMergeRule = ( a : any, b : any ) => any\r\nexport type Mixin = { [ key : string ] : any } | Function\r\n\r\n// @mixins( A, B, ... ) decorator.\r\nexport interface MixinRulesDecorator {\r\n ( rules : MixinMergeRules ) : ClassDecorator\r\n value( a : object, b : object) : object;\r\n protoValue( a : object, b : object) : object;\r\n merge( a : object, b : object ) : object;\r\n pipe( a: Function, b : Function ) : Function;\r\n defaults( a: Function, b : Function ) : Function;\r\n classFirst( a: Function, b : Function ) : Function;\r\n classLast( a: Function, b : Function ) : Function;\r\n every( a: Function, b : Function ) : Function;\r\n some( a: Function, b : Function ) : Function;\r\n}\r\n\r\nexport const mixins = ( ...list : Mixin[] ) => (\r\n ( Class : Function ) => MixinsState.get( Class ).merge( list )\r\n);\r\n\r\n// @mixinRules({ name : rule, ... }) decorator.\r\nexport const mixinRules = ( ( rules : MixinMergeRules ) => (\r\n ( Class : Function ) => {\r\n const mixins = MixinsState.get( Class );\r\n mixins.mergeRules = defaults( rules, mixins.mergeRules );\r\n }\r\n) ) as MixinRulesDecorator;\r\n\r\n// Pre-defined mixin merge rules\r\n\r\nmixinRules.value = ( a, b ) => a;\r\n\r\nmixinRules.protoValue = ( a, b ) => a;\r\n\r\n// Recursively merge members\r\nmixinRules.merge = ( a, b ) => defaults( {}, a, b );\r\n\r\n // Execute methods in pipe, with the class method executed last.\r\nmixinRules.pipe = ( a, b ) => (\r\n function( x : any ) : any {\r\n return a.call( this, b.call( this, x ) );\r\n }\r\n);\r\n\r\n // Assume methods return an object, and merge results with defaults (class method executed first)\r\nmixinRules.defaults = ( a : Function, b : Function ) => (\r\n function() : object {\r\n return defaults( a.apply( this, arguments ), b.apply( this, arguments ) );\r\n }\r\n);\r\n\r\n// Execute methods in sequence staring with the class method.\r\nmixinRules.classFirst = ( a : Function, b : Function ) => (\r\n function() : void {\r\n a.apply( this, arguments );\r\n b.apply( this, arguments );\r\n }\r\n);\r\n\r\n // Execute methods in sequence ending with the class method.\r\nmixinRules.classLast = ( a : Function, b : Function ) => (\r\n function() : void {\r\n b.apply( this, arguments );\r\n a.apply( this, arguments );\r\n }\r\n)\r\n\r\n // Execute methods in sequence returning the first falsy result.\r\nmixinRules.every = ( a : Function, b : Function ) =>(\r\n function() : any {\r\n return a.apply( this, arguments ) && b.apply( this, arguments );\r\n }\r\n);\r\n // Execute methods in sequence returning the first truthy result.\r\nmixinRules.some = ( a : Function, b : Function ) =>(\r\n function() : any {\r\n return a.apply( this, arguments ) || b.apply( this, arguments );\r\n }\r\n);\r\n\r\n/**\r\n * Helpers\r\n */\r\n\r\nfunction assignProperty( dest : object, name : string, sourceProp : PropertyDescriptor, rule : MixinMergeRule, unshift? : boolean ){\r\n// Destination prop is defined, thus the merge rules must be applied.\r\n if( dest.hasOwnProperty( name ) ){\r\n const destProp = Object.getOwnPropertyDescriptor( dest, name );\r\n\r\n if( destProp.configurable && 'value' in destProp ){\r\n dest[ name ] = unshift ?\r\n resolveRule( sourceProp.value, destProp.value, rule ) :\r\n resolveRule( destProp.value, sourceProp.value, rule ) ;\r\n }\r\n }\r\n // If destination is empty, just copy the prop over.\r\n else{\r\n Object.defineProperty( dest, name, sourceProp );\r\n }\r\n}\r\n\r\nfunction resolveRule( dest, source, rule : MixinMergeRule ){\r\n // When destination is empty, take the source.\r\n if( dest === void 0 ) return source;\r\n\r\n // In these cases we take non-empty destination:\r\n if( !rule || source === void 0 ) return dest;\r\n\r\n // In other cases we must merge values.\r\n return rule( dest, source );\r\n}","import * as _eventsApi from './eventsource';\r\nimport { EventMap, EventsDefinition, EventSource, HandlersByEvent } from './eventsource';\r\nimport { define, definitions, Mixable, MixableConstructor, mixinRules, MixinsState } from './mixins';\r\nimport { omit, transform } from './tools';\r\n\r\nconst { strings, on, off, once, trigger5, trigger2, trigger3 } = _eventsApi;\r\n\r\nlet _idCount = 0;\r\n\r\nfunction uniqueId() : string {\r\n return 'l' + _idCount++;\r\n}\r\n\r\nexport { EventMap, EventsDefinition };\r\n\r\nexport interface MessengerDefinition {\r\n _localEvents? : EventMap\r\n localEvents? : EventsDefinition\r\n properties? : PropertyMap\r\n [ name : string ] : any\r\n}\r\n\r\nexport interface PropertyMap {\r\n [ name : string ] : Property\r\n}\r\n\r\nexport type Property = PropertyDescriptor | ( () => any )\r\n\r\nexport interface MessengersByCid {\r\n [ cid : string ] : Messenger\r\n}\r\n\r\nexport type EventCallbacks = { [ events : string ] : EventCallback }\r\nexport type EventCallback = ( this : Context, ...args : any[] ) => void\r\n\r\n/*************************\r\n * Messenger is mixable class with capabilities of sending and receiving synchronous events.\r\n * This class itself can serve as both mixin and base class.\r\n */\r\n\r\n@define\r\n@definitions({\r\n properties : mixinRules.merge,\r\n localEvents : mixinRules.merge\r\n})\r\nexport class Messenger implements Mixable, EventSource {\r\n // Define extendable mixin static properties.\r\n /** @internal */\r\n static __super__ : object;\r\n static mixins : MixinsState;\r\n static onExtend : ( BaseClass : Function ) => void;\r\n static define : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\r\n static extend : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\r\n static onDefine({ localEvents, _localEvents, properties } : MessengerDefinition, BaseClass? : typeof Mixable ){\r\n // Handle localEvents definition\r\n if( localEvents || _localEvents ){\r\n const eventsMap = new EventMap( this.prototype._localEvents );\r\n\r\n localEvents && eventsMap.addEventsMap( localEvents );\r\n _localEvents && eventsMap.merge( _localEvents );\r\n \r\n this.prototype._localEvents = eventsMap;\r\n }\r\n\r\n // Handle properties definitions...\r\n if( properties ){\r\n Object.defineProperties( this.prototype, transform( {}, properties, toPropertyDescriptor ) );\r\n }\r\n }\r\n\r\n /** @internal */ \r\n _events : HandlersByEvent = void 0;\r\n\r\n /** @internal */ \r\n _listeningTo : MessengersByCid = void 0\r\n\r\n /** Unique client-only id. */\r\n cid : string\r\n\r\n /** Prototype-only property to manage automatic local events subscription */ \r\n protected _localEvents : EventMap\r\n\r\n constructor(){\r\n this.cid = uniqueId();\r\n this.initialize.apply( this, arguments );\r\n\r\n // TODO: local events subscribe?\r\n }\r\n\r\n /** Method is called at the end of the constructor */\r\n initialize() : void {}\r\n \r\n on( events : string | EventCallbacks, callback?, context? ) : this {\r\n if( typeof events === 'string' ) strings( on, this, events, callback, context );\r\n else for( let name in events ) strings( on, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n once( events : string | EventCallbacks, callback?, context? ) : this {\r\n if( typeof events === 'string' ) strings( once, this, events, callback, context );\r\n else for( let name in events ) strings( once, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n off( events? : string | EventCallbacks, callback?, context? ) : this {\r\n if( !events ) off( this, void 0, callback, context );\r\n else if( typeof events === 'string' ) strings( off, this, events, callback, context );\r\n else for( let name in events ) strings( off, this, name, events[ name ], context || callback );\r\n\r\n return this;\r\n }\r\n\r\n // Trigger one or many events, firing all bound callbacks. Callbacks are\r\n // passed the same arguments as `trigger` is, apart from the event name\r\n // (unless you're listening on `\"all\"`, which will cause your callback to\r\n // receive the true name of the event as the first argument).\r\n trigger(name : string, a?, b?, c?, d?, e? ) : this {\r\n if( d !== void 0 || e !== void 0 ) trigger5( this, name, a, b, c, d, e );\r\n else if( c !== void 0 ) trigger3( this, name, a, b, c );\r\n else trigger2( this, name, a, b );\r\n return this;\r\n }\r\n\r\n listenTo( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\r\n if( source ){\r\n addReference( this, source );\r\n source.on( a, !b && typeof a === 'object' ? this : b, this );\r\n }\r\n\r\n return this;\r\n }\r\n\r\n listenToOnce( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\r\n if( source ){\r\n addReference( this, source );\r\n source.once( a, !b && typeof a === 'object' ? this : b, this );\r\n }\r\n\r\n return this;\r\n }\r\n\r\n stopListening( a_source? : Messenger, a? : string | EventCallbacks, b? : Function ) : this {\r\n const { _listeningTo } = this;\r\n if( _listeningTo ){\r\n const removeAll = !( a || b ),\r\n second = !b && typeof a === 'object' ? this : b;\r\n\r\n if( a_source ){\r\n const source = _listeningTo[ a_source.cid ];\r\n if( source ){\r\n if( removeAll ) delete _listeningTo[ a_source.cid ];\r\n source.off( a, second, this );\r\n }\r\n }\r\n else if( a_source == null ){\r\n for( let cid in _listeningTo ) _listeningTo[ cid ].off( a, second, this );\r\n\r\n if( removeAll ) ( this._listeningTo = void 0 );\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Destructor. Stops messenger from listening to all objects,\r\n * and stop others from listening to the messenger. \r\n */\r\n _disposed : boolean\r\n\r\n dispose() : void {\r\n if( this._disposed ) return;\r\n\r\n this.stopListening();\r\n this.off();\r\n\r\n this._disposed = true;\r\n }\r\n}\r\n\r\n/**\r\n * Backbone 1.2 API conformant Events mixin.\r\n */\r\nexport const Events : Messenger = omit( Messenger.prototype, 'constructor', 'initialize' );\r\n\r\n/**\r\n * Messenger Private Helpers \r\n */\r\n\r\nfunction toPropertyDescriptor( x : Property ) : PropertyDescriptor {\r\n if( x ){\r\n return typeof x === 'function' ? { get : < () => any >x, configurable : true } : x;\r\n }\r\n}\r\n\r\nfunction addReference( listener : Messenger, source : Messenger ){\r\n const listeningTo = listener._listeningTo || (listener._listeningTo = Object.create( null ) ),\r\n cid = source.cid || ( source.cid = uniqueId() );\r\n\r\n listeningTo[ cid ] = source;\r\n}","import { Messenger } from './events'\r\nimport { define } from './mixins';\r\n\r\nexport type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log';\r\nexport type LoggerEventHandler = ( topic : string, msg : string, props : object ) => void;\r\n\r\nexport const isProduction = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production',\r\n logEvents : LogLevel[] = isProduction ?\r\n [ 'error', 'info' ] :\r\n [ 'error', 'warn', 'debug', 'info', 'log' ];\r\n\r\n@define\r\nexport class Logger extends Messenger {\r\n counter : { [ level in LogLevel ]? : number } = {}\r\n\r\n // Log events of the given log level to the console, optionally filtered by topic\r\n logToConsole( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n const args = [ `[${topic}] ${msg}` ];\r\n \r\n for( let name in props ){\r\n args.push( `\\n\\t${name}:`, toString( props[ name ] ) );\r\n }\r\n \r\n console[ level ].apply( console, args );\r\n }\r\n });\r\n }\r\n\r\n // Fire exception on the events of the given log level, optionally filtered by topic\r\n throwOn( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n throw new Error( `[${topic}] ${msg}` );\r\n }\r\n });\r\n }\r\n\r\n // Count log events of the given level, optionally filtered by topic\r\n count( level : LogLevel, filter? : RegExp ) : this {\r\n return this.on( level, ( topic, msg, props ) => {\r\n if( !filter || filter.test( topic ) ){\r\n this.counter[ level ] = ( this.counter[ level ] || 0 ) + 1;\r\n }\r\n });\r\n }\r\n\r\n trigger : ( level : LogLevel, topic : string, message : string, props? : object ) => this;\r\n \r\n off : ( event? : LogLevel ) => this;\r\n\r\n\r\n on( handlers : { [ name in LogLevel ] : LoggerEventHandler } ) : this;\r\n on( handlers : LogLevel, handler : LoggerEventHandler ) : this;\r\n on( handlers : 'all', handler : ( level : LogLevel, topic : string, msg : string, props : object ) => void ) : this;\r\n on( a : any, b? : any ){\r\n return super.on( a, b );\r\n }\r\n}\r\n\r\n/**\r\n * Convert objects to the plain text friendly format.\r\n * primitives as in JSON.\r\n */\r\nlet toString = typeof window === 'undefined' ? \r\n something => {\r\n if( something && typeof something === 'object' ){\r\n // Support custom object wrappers...\r\n const value = something.__inner_state__ || something,\r\n isArray = Array.isArray( value );\r\n\r\n const body = isArray ? `[ length = ${ value.length } ]` : `{ ${ Object.keys( value ).join( ', ' )} }`;\r\n\r\n return something.constructor.name + ' ' + body;\r\n }\r\n\r\n return JSON.stringify( something );\r\n }\r\n : x => x;\r\n\r\nexport const logger = new Logger();\r\n\r\nif( typeof console !== 'undefined' ) {\r\n for( let event of logEvents ){\r\n logger.logToConsole( event );\r\n }\r\n}\r\n\r\nexport const throwingLogger = new Logger();\r\nthrowingLogger.throwOn( 'error' ).throwOn( 'warn' );\r\n\r\nexport const log : typeof logger.trigger = logger.trigger.bind( logger );","export interface IONode {\r\n /** @internal */\r\n _endpoint : IOEndpoint\r\n\r\n /** @internal */\r\n _ioPromise : IOPromise< this >\r\n}\r\n\r\nexport interface IOPromise extends Promise {\r\n abort? : () => void\r\n}\r\n\r\nexport interface IOEndpoint {\r\n list( options : IOOptions, collection? ) : IOPromise\r\n create( json : any, options : IOOptions, record? ) : IOPromise\r\n update( id : string | number, json :any, options : IOOptions, record? ) : IOPromise\r\n read( id : string | number, options : IOOptions, record? ) : IOPromise\r\n destroy( id : string | number, options : IOOptions, record? ) : IOPromise\r\n subscribe( events : IOEvents, collection? ) : IOPromise\r\n unsubscribe( events : IOEvents, collection? ) : void\r\n}\r\n\r\nexport interface IOOptions {\r\n ioMethod? : 'save' | 'fetch'\r\n}\r\n\r\nexport interface IOEvents {\r\n updated? : ( json : any ) => void\r\n removed? : ( json : any ) => void\r\n}\r\n\r\nexport function getOwnerEndpoint( self ) : IOEndpoint {\r\n // Check if we are the member of the collection...\r\n const { collection } = self;\r\n if( collection ){\r\n return getOwnerEndpoint( collection );\r\n }\r\n\r\n // Now, if we're the member of the model...\r\n if( self._owner ){\r\n const { _endpoints } = self._owner;\r\n return _endpoints && _endpoints[ self._ownerKey ];\r\n }\r\n}\r\n\r\n/**\r\n * Create abortable promise.\r\n * Adds `promise.abort()` function which rejects the promise by default\r\n * initialize() function takes third optional argument `abort : ( resolve, reject ) => void`,\r\n * which can be used to add custom abort handling.\r\n */\r\ndeclare var Promise: PromiseConstructorLike;\r\n\r\nexport function createIOPromise( initialize : InitIOPromise ) : IOPromise{\r\n let resolve, reject, onAbort;\r\n\r\n function abort( fn ){\r\n onAbort = fn;\r\n }\r\n\r\n const promise : IOPromise = new Promise( ( a_resolve, a_reject ) =>{\r\n reject = a_reject;\r\n resolve = a_resolve;\r\n initialize( resolve, reject, abort );\r\n }) as IOPromise;\r\n\r\n promise.abort = () => {\r\n onAbort ? onAbort( resolve, reject ) : reject( new Error( \"I/O Aborted\" ) );\r\n }\r\n\r\n return promise;\r\n}\r\n\r\nexport type InitIOPromise = ( resolve : ( x? : any ) => void, reject : ( x? : any ) => void, abort? : ( fn : Function ) => void ) => void;\r\n\r\nexport function startIO( self : IONode, promise : IOPromise, options : IOOptions, thenDo : ( json : any ) => any ) : IOPromise {\r\n // Stop pending I/O first...\r\n abortIO( self );\r\n\r\n self._ioPromise = promise\r\n .then( resp => {\r\n self._ioPromise = null;\r\n \r\n const result = thenDo ? thenDo( resp ) : resp;\r\n \r\n triggerAndBubble( self, 'sync', self, resp, options );\r\n \r\n return result;\r\n } ) \r\n .catch( err => {\r\n self._ioPromise = null;\r\n \r\n // Overlaps with a new `error` event.\r\n triggerAndBubble( self, 'error', self, err, options );\r\n \r\n throw err;\r\n } ) as IOPromise;\r\n\r\n self._ioPromise.abort = promise.abort;\r\n\r\n return self._ioPromise;\r\n}\r\n\r\nexport function abortIO( self : IONode ){\r\n if( self._ioPromise && self._ioPromise.abort ){\r\n self._ioPromise.abort();\r\n self._ioPromise = null;\r\n }\r\n}\r\n\r\nexport function triggerAndBubble( eventSource, ...args ){\r\n eventSource.trigger.apply( eventSource, args );\r\n const { collection } = eventSource;\r\n collection && collection.trigger.apply( collection, args ); \r\n}","/**\r\n * Traversable objects and symbolic references\r\n */\r\nexport interface Traversable {\r\n getStore() : Traversable\r\n getOwner() : Traversable\r\n get( key : string ) : any \r\n}\r\n\r\nconst referenceMask = /\\^|(store\\.[^.]+)|([^.]+)/g;\r\n\r\n// Compile reference to function\r\nexport type ResolveReference = ( root : Traversable ) => any; \r\n\r\nexport class CompiledReference {\r\n resolve : ResolveReference\r\n tail : string\r\n local : boolean\r\n\r\n constructor( reference : string, splitTail : boolean = false ){\r\n const path = reference\r\n .match( referenceMask )\r\n .map( key => {\r\n if( key === '^' || key === 'owner' ) return 'getOwner()';\r\n\r\n if( key[ 0 ] === '~' ) return `getStore().get(\"${ key.substr( 1 ) }\")`;\r\n\r\n if( key.indexOf( 'store.' ) === 0 ) return `getStore().get(\"${ key.substr( 6 ) }\")`;\r\n \r\n return key;\r\n } );\r\n \r\n this.tail = splitTail && path.pop();\r\n this.local = !path.length;\r\n \r\n this.resolve = new Function( 'self', `\r\n var v = self.${ path.shift() };\r\n \r\n ${ path.map( x => `\r\n v = v && v.${ x };\r\n `).join('')}\r\n\r\n return v;\r\n ` );\r\n }\r\n}\r\n\r\nexport function resolveReference( root : Traversable, reference : string, action : ( object, key : string ) => any ) : any {\r\n const path = reference.match( referenceMask ),\r\n skip = path.length - 1;\r\n \r\n let self = root;\r\n\r\n for( var i = 0; i < skip; i++ ){\r\n const key = path[ i ];\r\n switch( key ){\r\n case '~' : self = self.getStore(); break;\r\n case '^' : self = self.getOwner(); break;\r\n default : self = self.get( key );\r\n }\r\n\r\n // Do nothing if object on the path doesn't exist.\r\n if( !self ) return;\r\n }\r\n\r\n return action( self, path[ skip ] );\r\n}","export interface ChildrenErrors {\r\n [ key : string ] : ValidationError | any\r\n} \r\n\r\nexport interface Validatable {\r\n /** @internal */\r\n _validateNested( errors : ChildrenErrors ) : number;\r\n \r\n validate( self : any ) : any\r\n get( key : string ) : any\r\n}\r\n\r\n// Validation error object.\r\nexport class ValidationError {\r\n // Invalid nested object keys \r\n nested : ChildrenErrors \r\n length : number\r\n\r\n // Local error\r\n error : any\r\n\r\n constructor( obj : Validatable ){\r\n this.length = obj._validateNested( this.nested = {} );\r\n\r\n if( this.error = obj.validate( obj ) ){\r\n this.length++;\r\n }\r\n }\r\n\r\n each( iteratee : ( value : any, key : string ) => void ) : void {\r\n const { error, nested } = this;\r\n\r\n if( error ) iteratee( error, null );\r\n\r\n for( const key in nested ){\r\n iteratee( nested[ key ], key );\r\n }\r\n }\r\n\r\n eachError( iteratee : ( error : any, key : string, object : Validatable ) => void, object : Validatable ) : void {\r\n this.each( ( value : any, key : string ) => {\r\n if( value instanceof ValidationError ){\r\n (value).eachError( iteratee, object.get( key ) );\r\n }\r\n else{\r\n iteratee( value, key, object );\r\n }\r\n });\r\n }\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\r\n * Select appropriate helpers function for particular value type.\r\n */\r\nexport interface IterableLink {\r\n value : any\r\n at( key : number | string ) : any\r\n}\r\n\r\nexport type Iterator = ( link : any, key : string | number ) => any;\r\n\r\nexport interface Helper {\r\n map( link : IterableLink, iterator : Iterator ) : any[]\r\n clone( obj : any ) : any,\r\n remove( obj : any, key : string | number ) : any\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\nexport function helpers( value ) : Helper {\r\n if( value && typeof value === 'object' ){\r\n switch( Object.getPrototypeOf( value ) ){\r\n case ArrayProto : return arrayHelpers;\r\n case ObjectProto : return objectHelpers;\r\n }\r\n }\r\n\r\n return dummyHelpers;\r\n}\r\n\r\n// Do nothing for types other than Array and plain Object.\r\nconst dummyHelpers : Helper = {\r\n clone( value ){ return value; },\r\n map( link : IterableLink, fun ){ return []; },\r\n remove( value ){ return value; }\r\n};\r\n\r\n// `map` and `clone` for plain JS objects\r\nexport const objectHelpers : Helper = {\r\n // Map through the link to object\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n let mapped = [],\r\n { value } = link\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n const element = iterator( link.at( key ), key );\r\n element === void 0 || ( mapped.push( element ) ); \r\n }\r\n }\r\n\r\n return mapped;\r\n },\r\n\r\n remove( object : {}, key : string ) : {} {\r\n delete object[ key ];\r\n return object;\r\n },\r\n\r\n // Shallow clone plain JS object\r\n clone( object : {} ) : {} {\r\n return { ...object };\r\n }\r\n};\r\n\r\n// `map` and `clone` helpers for arrays.\r\nexport const arrayHelpers : Helper = {\r\n // Shallow clone array\r\n clone( array : any[] ) : any[] {\r\n return array.slice();\r\n },\r\n\r\n remove( array : any[], i : number ) : any[] {\r\n array.splice( i, 1 );\r\n return array;\r\n },\r\n\r\n // Map through the link to array\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n const length = link.value.length,\r\n mapped = Array( length );\r\n\r\n for( var i = 0, j = 0; i < length; i++ ){\r\n const y = iterator( link.at( i ), i );\r\n y === void 0 || ( mapped[ j++ ] = y );\r\n }\r\n\r\n mapped.length === j || ( mapped.length = j );\r\n\r\n return mapped;\r\n }\r\n};","/**\r\n * Advanced React links for purely functional two-way data binding\r\n *\r\n * MIT License, (c) 2016 Vlad Balin, Volicon.\r\n */\r\nimport { arrayHelpers, helpers } from './helpers';\r\n\r\nexport * from './helpers'\r\n\r\n/** \r\n * `Linked` class is an abstract linked value - the value, the function to update this value, and its validation error.\r\n * The enclosed value is considered as immutable.\r\n */ \r\nexport abstract class Linked{\r\n /** Validation error. Usually is a string with error text, but can hold any type. */ \r\n error : any = void 0\r\n \r\n /** Set linked value */ \r\n abstract set( x : T ) : void\r\n\r\n constructor( public value : T ){}\r\n\r\n /** EXPERIMENTAL: Support useRef interface. */ \r\n get current(){ return this.value; }\r\n set current( x : T ){ this.set( x ); }\r\n\r\n // Private accessor for whenChanged. Uniform with Type-R models and collections API.\r\n protected get _changeToken(){\r\n return this.value;\r\n }\r\n\r\n /** Produce the new link executing the given function before the link value will be updated. */\r\n onChange( handler : ( x : T ) => void ) : Linked {\r\n return new ClonedValueLink( this, ( x : T ) => {\r\n handler( x );\r\n this.set( x );\r\n });\r\n }\r\n\r\n /** Produce the new link which transform the value before `set` with a given function. */\r\n pipe( handler : Linked.Transform ) : Linked< T > {\r\n return new ClonedValueLink( this, x =>{\r\n const next = handler( x, this.value );\r\n next === void 0 || this.set( next );\r\n } );\r\n }\r\n\r\n /** \r\n * Create React component props for the component.\r\n * \r\n * \r\n */ \r\n get props() :\r\n T extends boolean ? { checked : boolean, onChange : ( e : any ) => void } :\r\n { value : T, onChange : ( e : any ) => void }\r\n {\r\n return typeof this.value === 'boolean' ? {\r\n checked : this.value,\r\n onChange : e => this.set( Boolean( e.target.checked ) as any )\r\n }:{\r\n value : this.value,\r\n onChange : e => this.set( e.target.value )\r\n } as any;\r\n }\r\n\r\n /** Update the linked value using given transform function. */ \r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const next = transform( this.clone(), e );\r\n next === void 0 || this.set( next );\r\n }\r\n\r\n // Create UI event handler function which will update the link with a given transform function.\r\n action( transform : Linked.Transform< T > ) : Linked.EventHandler {\r\n return e => this.update( transform, e );\r\n }\r\n\r\n equals( truthyValue : T ) : Linked {\r\n return new EqualsValueLink( this, truthyValue );\r\n }\r\n\r\n get true( this : Linked ){\r\n return () => this.set( true );\r\n }\r\n\r\n get false( this : Linked ){\r\n return () => this.set( false );\r\n }\r\n\r\n get null(){\r\n return () => this.set( null );\r\n }\r\n\r\n get isTruthy(){\r\n return this.value ? true : undefined;\r\n }\r\n\r\n enabled( defaultValue? : T ) : Linked {\r\n return new EnabledValueLink( this, defaultValue || \"\" );\r\n }\r\n\r\n // Array-only links methods\r\n contains( this : Linked, element : E ) : Linked{\r\n return new ContainsRef( this, element );\r\n }\r\n\r\n push( this : Linked, ...args : E[] ) : void;\r\n push(){\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.push.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n unshift( this : Linked, ...args : E[] ) : void;\r\n unshift() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.unshift.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n \r\n splice( this : Linked, start : number, deleteCount? : number ) : void;\r\n splice() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.splice.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n // Array and objects universal collection methods\r\n map( this : Linked, iterator : ( link : PropValueLink, idx : number ) => Z ) : Z[];\r\n map( this : Linked<{[ key : string ] : E }>, iterator : ( link : PropValueLink, idx : string ) => Z ) : Z[];\r\n map( iterator ) {\r\n return helpers( this.value ).map( this, iterator );\r\n }\r\n\r\n removeAt( this : Linked, key : number ) : void;\r\n removeAt( this : Linked<{ [ key : string ] : E }>, key : string ) : void;\r\n removeAt( key ){\r\n const { value } = this,\r\n _ = helpers( value );\r\n\r\n this.set( _.remove( _.clone( value ), key ) );\r\n }\r\n\r\n at( this : Linked, key : number ) : PropValueLink;\r\n at( key : K ) : PropValueLink;\r\n at( key ){\r\n return new PropValueLink( this, key );\r\n }\r\n\r\n clone() : T {\r\n let { value } = this;\r\n return helpers( value ).clone( value );\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links. Optionally filter by \r\n */\r\n pick< K extends keyof T >( ...keys : K[]) : {[ P in K ]: Linked}\r\n pick() {\r\n let links = {}, keys = arguments.length ? arguments : Object.keys( this.value );\r\n\r\n for( let i = 0; i < keys.length; i++ ){\r\n const key : string = keys[ i ];\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links.\r\n * Memorises the result, subsequent calls are cheap.\r\n */\r\n get $() : T extends object ? Linked.Hash : never {\r\n if( !this._value$ ){\r\n let links : Linked.Hash = this._value$ = {},\r\n { value } = this;\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n }\r\n }\r\n\r\n return this._value$ as any;\r\n }\r\n\r\n private _value$ : object\r\n\r\n /**\r\n * Validate link with validness predicate and optional custom error object. Can be chained.\r\n */\r\n check( whenValid : Linked.Validator, error? : any ) : this {\r\n if( !this.error && !whenValid( this.value ) ){\r\n this.error = error || whenValid.error || defaultError;\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n\r\nexport namespace Linked {\r\n export interface Validator< T >{\r\n ( value : T ) : boolean\r\n error? : any\r\n } \r\n\r\n export type Transform< T > = ( value : T, event? : {} ) => T\r\n export type EventHandler = ( event : {} ) => void\r\n\r\n export type Hash = {\r\n [K in keyof T] : Linked\r\n }\r\n\r\n /** Create linked value out of its value and the set function */ \r\n export function value( value : T, set : ( x : T ) => void ) : Linked{\r\n return new CustomValueLink( value, set );\r\n }\r\n\r\n export function mutable( state : T ) : Linked{\r\n return new CustomValueLink( state, x => {\r\n for( let key in x ){\r\n if( x.hasOwnProperty( key ) ){\r\n state[ key ] = x[ key ];\r\n }\r\n }\r\n } );\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link values.\r\n */\r\n export function getValues( links : Linked.Hash ) : T {\r\n return unwrap( links, 'value' ) as any;\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link errors.\r\n */\r\n export function getErrors( links : Linked.Hash ) : { [ name in keyof T ] : any } {\r\n return unwrap( links, 'error' ) as any;\r\n }\r\n\r\n /**\r\n * Return true if an object with links contains any errors.\r\n */\r\n export function hasErrors( links : Linked.Hash ) : boolean {\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) && links[ key ].error ){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Assing links with values from the source object.\r\n */\r\n export function setValues( links : Linked.Hash, source : T ) : void {\r\n if( source ){\r\n for( let key in links ){\r\n const sourceKey = trim( key );\r\n if( source.hasOwnProperty( sourceKey ) ){\r\n const sourceVal = source[ sourceKey ];\r\n sourceVal === void 0 || links[ key ].set( sourceVal );\r\n }\r\n } \r\n }\r\n }\r\n\r\n}\r\n\r\nclass CustomValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( value : T, set : ( x : T ) => void ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\nclass ClonedValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( parent : Linked< T >, set : ( x : T ) => void ){\r\n super( parent.value );\r\n this.set = set;\r\n\r\n const { error } = parent;\r\n if( error ) this.error = error;\r\n }\r\n}\r\n\r\nclass EqualsValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public truthyValue ){\r\n super( parent.value === truthyValue );\r\n }\r\n\r\n set( x : boolean ) : void {\r\n this.parent.set( x ? this.truthyValue : null );\r\n }\r\n}\r\n\r\nclass EnabledValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public defaultValue ){\r\n super( parent.value != null );\r\n }\r\n\r\n set( x : boolean ){\r\n this.parent.set( x ? this.defaultValue : null );\r\n }\r\n}\r\n\r\nclass ContainsRef extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public element : any ){\r\n super( parent.value.indexOf( element ) >= 0 );\r\n }\r\n\r\n set( x : boolean ){\r\n var next = Boolean( x );\r\n\r\n if( this.value !== next ){\r\n var arr : any[] = this.parent.value,\r\n nextValue = x ? arr.concat( this.element ) : arr.filter( el => el !== this.element );\r\n\r\n this.parent.set( nextValue );\r\n }\r\n }\r\n}\r\n\r\nconst defaultError = 'Invalid value';\r\n\r\n/**\r\n * Link to array or object element enclosed in parent link.\r\n * Performs purely functional update of the parent, shallow copying its value on `set`.\r\n */\r\nexport class PropValueLink< E, K > extends Linked< E > {\r\n constructor( private parent : Linked< any >, public key : K ){\r\n super( parent.value[ key ] );\r\n }\r\n\r\n remove(){\r\n this.parent.removeAt( this.key );\r\n }\r\n\r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n const prev = obj[ key ],\r\n next = transform( helpers( prev ).clone( prev ), e );\r\n\r\n if( next !== void 0 ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n } );\r\n }\r\n\r\n // Set new element value to parent array or object, performing purely functional update.\r\n set( next : E ) : void {\r\n /*\r\n this.update( prev => {\r\n if( prev !== next ) return next\r\n })*/\r\n\r\n // A bit more efficient implementation.\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n if( obj[ key ] !== next ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n });\r\n\r\n \r\n };\r\n}\r\n\r\nfunction unwrap( links : Linked.Hash, field : string) : object {\r\n const values = {};\r\n\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) ){\r\n const value = links[ key ][ field ];\r\n if( value !== void 0 ){\r\n values[ trim( key ) ] = value;\r\n }\r\n }\r\n }\r\n\r\n return values;\r\n}\r\n\r\nfunction trim( key : string ){\r\n return key[ 0 ] === '$' ? key.slice( 1 ) : key;\r\n}","import { abortIO, IOEndpoint, IONode, IOPromise } from './io-tools';\r\nimport { EventCallbacks, define, definitions, eventsApi, Logger, LogLevel, Messenger, MessengerDefinition, MessengersByCid, mixinRules, mixins, MixinsState, throwingLogger } from '@type-r/mixture';\r\nimport { resolveReference, Traversable } from './traversable';\r\nimport { ChildrenErrors, Validatable, ValidationError } from './validation';\r\nimport { Linked } from '@linked/value/lib';\r\n\r\nconst { trigger3, on, off } = eventsApi;\r\n/***\r\n * Abstract class implementing ownership tree, tho-phase transactions, and validation. \r\n * 1. createTransaction() - apply changes to an object tree, and if there are some events to send, transaction object is created.\r\n * 2. transaction.commit() - send and process all change events, and close transaction.\r\n */\r\n\r\n/** @private */\r\nexport interface TransactionalDefinition extends MessengerDefinition {\r\n endpoint? : IOEndpoint\r\n}\r\n\r\nexport enum ItemsBehavior {\r\n share = 0b0001,\r\n listen = 0b0010,\r\n persistent = 0b0100\r\n}\r\n\r\n// Transactional object interface\r\n\r\n/**\r\n * Used to access the version token of the object,\r\n * which changes every time something inside of the object is changed.\r\n * \r\n * useEffect( () => data.fetch(), [ state[versionToken] ])\r\n */\r\nexport const versionToken = '_changeToken';\r\nexport const defaultStore = '_defaultStore';\r\n\r\nexport interface Transactional extends Messenger {}\r\n\r\n@define\r\n@definitions({\r\n endpoint : mixinRules.value\r\n})\r\n@mixins( Messenger )\r\nexport abstract class Transactional implements Messenger, IONode, Validatable, Traversable {\r\n // Mixins are hard in TypeScript. We need to copy type signatures over...\r\n // Here goes 'Mixable' mixin.\r\n static endpoint : IOEndpoint;\r\n \r\n /** @internal */\r\n static __super__ : object;\r\n \r\n static mixins : MixinsState;\r\n static define : ( definition? : TransactionalDefinition, statics? : object ) => typeof Transactional;\r\n static extend : ( definition? : T, statics? : object ) => any;\r\n\r\n static onDefine( definitions : TransactionalDefinition, BaseClass : typeof Transactional ){\r\n if( definitions.endpoint ) this.prototype._endpoint = definitions.endpoint;\r\n Messenger.onDefine.call( this, definitions, BaseClass );\r\n };\r\n\r\n static onExtend( BaseClass : typeof Transactional ) : void {\r\n // Make sure we don't inherit class factories.\r\n if( BaseClass.create === this.create ) {\r\n this.create = Transactional.create;\r\n }\r\n }\r\n\r\n // Define extendable mixin static properties.\r\n static create any>( this : M, a? : any, b? : any ) : InstanceType {\r\n return new (this as any)( a, b );\r\n }\r\n\r\n // State accessor.\r\n /** @internal */\r\n readonly __inner_state__ : any;\r\n\r\n // Shared modifier (used by collections of shared models)\r\n /** @internal */\r\n _shared? : number; \r\n \r\n dispose() : void {\r\n if( this._disposed ) return;\r\n \r\n abortIO( this );\r\n this._owner = void 0;\r\n this._ownerKey = void 0;\r\n this.off();\r\n this.stopListening();\r\n this._disposed = true;\r\n }\r\n \r\n cidPrefix : string\r\n\r\n // Unique version token replaced on change\r\n /** @internal */\r\n _changeToken : {} = {}\r\n\r\n // true while inside of the transaction\r\n /** @internal */\r\n _transaction : boolean = false;\r\n\r\n // Holds current transaction's options, when in the middle of transaction and there're changes but is an unsent change event\r\n /** @internal */\r\n _isDirty : TransactionOptions = null;\r\n\r\n // Backreference set by owner (Model, Collection, or other object)\r\n /** @internal */\r\n _owner : Owner = void 0;\r\n\r\n // Key supplied by owner. Used by record to identify attribute key.\r\n // Only collections doesn't set the key, which is used to distinguish collections.\r\n /** @internal */ \r\n _ownerKey : string = void 0;\r\n\r\n // Name of the change event\r\n /** @internal */\r\n _changeEventName : string\r\n\r\n /**\r\n * Subsribe for the changes.\r\n */\r\n onChanges( handler : Function, target? : Messenger ){\r\n on( this, this._changeEventName, handler, target );\r\n }\r\n\r\n /**\r\n * Unsubscribe from changes.\r\n */\r\n offChanges( handler? : Function, target? : Messenger ){\r\n off( this, this._changeEventName, handler, target );\r\n }\r\n\r\n /**\r\n * Listen to changes event. \r\n */\r\n listenToChanges( target : Transactional, handler ){\r\n this.listenTo( target, target._changeEventName, handler );\r\n }\r\n\r\n constructor( cid : string | number ){\r\n this.cid = this.cidPrefix + cid;\r\n }\r\n\r\n // Deeply clone ownership subtree\r\n abstract clone( options? : CloneOptions ) : this\r\n \r\n // Execute given function in the scope of ad-hoc transaction.\r\n transaction( fun : ( self : this ) => void, options : TransactionOptions = {} ) : void{\r\n const isRoot = transactionApi.begin( this );\r\n const update = fun.call( this, this );\r\n update && this.set( update );\r\n isRoot && transactionApi.commit( this );\r\n }\r\n\r\n // Assign transactional object \"by value\", copying aggregated items.\r\n assignFrom( a_source : Transactional | Object | Linked ) : this {\r\n // Unpack linked value.\r\n const source = a_source instanceof Linked ? a_source.value : a_source;\r\n\r\n // Need to delay change events until change token will by synced.\r\n this.transaction( () =>{\r\n this.set( ( source as any).__inner_state__ || source, { merge : true } );\r\n\r\n // Synchronize change tokens\r\n const { _changeToken } = source as any;\r\n \r\n if( _changeToken ){\r\n this._changeToken = _changeToken;\r\n } \r\n });\r\n\r\n return this;\r\n }\r\n\r\n // Create object from JSON. Throw if validation fail.\r\n static from Transactional >( this : T, json : any, { strict, ...options } : { strict? : boolean } & TransactionOptions = {} ) : InstanceType{\r\n const obj : Transactional = ( this as any ).create( json, { ...options, logger : strict ? throwingLogger : void 0 } );\r\n\r\n if( strict && obj.validationError ){\r\n obj.eachValidationError( ( error, key, obj ) => {\r\n throw new Error( `${ obj.getClassName() }.${ key }: ${ error }` );\r\n });\r\n }\r\n\r\n return obj as any;\r\n }\r\n\r\n // Apply bulk object update without any notifications, and return open transaction.\r\n // Used internally to implement two-phase commit.\r\n // Returns null if there are no any changes.\r\n /** @internal */\r\n abstract _createTransaction( values : any, options? : TransactionOptions ) : Transaction | void\r\n\r\n // Apply bulk in-place object update in scope of ad-hoc transaction \r\n abstract set( values : any, options? : TransactionOptions ) : this;\r\n\r\n \r\n // Parse function applied when 'parse' option is set for transaction.\r\n parse( data : any, options? : TransactionOptions ) : any { return data }\r\n\r\n // Convert object to the serializable JSON structure\r\n abstract toJSON( options? : object ) : {}\r\n\r\n /*******************\r\n * Traversals and member access\r\n */\r\n \r\n // Get object member by its key.\r\n abstract get( key : string ) : any\r\n\r\n // Get object member by symbolic reference.\r\n deepGet( reference : string ) : any {\r\n return resolveReference( this, reference, ( object, key ) => object.get ? object.get( key ) : object[ key ] );\r\n }\r\n\r\n //_isCollection : boolean\r\n\r\n // Return owner skipping collections.\r\n getOwner() : Owner {\r\n return this._owner;\r\n }\r\n\r\n // Store used when owner chain store lookup failed. Static value in the prototype. \r\n /** @internal */\r\n _defaultStore : Transactional\r\n\r\n // Locate the closest store. Store object stops traversal by overriding this method. \r\n getStore() : Transactional {\r\n const { _owner } = this;\r\n return _owner ? _owner.getStore() : this._defaultStore;\r\n }\r\n\r\n\r\n /***************************************************\r\n * Iteration API\r\n */\r\n\r\n // Loop through the members. Must be efficiently implemented in container class.\r\n\r\n /** @internal */\r\n _endpoint : IOEndpoint\r\n \r\n /** @internal */\r\n _ioPromise : IOPromise\r\n\r\n hasPendingIO() : IOPromise { return this._ioPromise; }\r\n\r\n //fetch( options? : object ) : IOPromise { throw new Error( \"Not implemented\" ); }\r\n\r\n getEndpoint() : IOEndpoint {\r\n return getOwnerEndpoint( this ) || this._endpoint;\r\n }\r\n \r\n /*********************************\r\n * Validation API\r\n */\r\n\r\n // Lazily evaluated validation error\r\n /** @internal */\r\n _validationError : ValidationError = void 0\r\n\r\n // Validate ownership tree and return valudation error \r\n get validationError() : ValidationError {\r\n const error = this._validationError || ( this._validationError = new ValidationError( this ) );\r\n return error.length ? error : null; \r\n }\r\n\r\n // Validate nested members. Returns errors count.\r\n /** @internal */\r\n abstract _validateNested( errors : ChildrenErrors ) : number\r\n\r\n // Object-level validator. Returns validation error.\r\n validate( obj? : Transactional ) : any {}\r\n\r\n // Return validation error (or undefined) for nested object with the given key. \r\n getValidationError( key? : string ) : any {\r\n var error = this.validationError;\r\n return ( key ? error && error.nested[ key ] : error ) || null;\r\n }\r\n\r\n // Get validation error for the given symbolic reference.\r\n deepValidationError( reference : string ) : any {\r\n return resolveReference( this, reference, ( object, key ) => object.getValidationError( key ) );\r\n }\r\n\r\n // Iterate through all validation errors across the ownership tree.\r\n eachValidationError( iteratee : ( error : any, key : string, object : Transactional ) => void ) : void {\r\n const { validationError } = this;\r\n validationError && validationError.eachError( iteratee, this );\r\n }\r\n\r\n // Check whenever member with a given key is valid. \r\n isValid( key? : string ) : boolean {\r\n return !this.getValidationError( key );\r\n }\r\n\r\n valueOf() : Object { return this.cid; }\r\n toString(){ return this.cid; }\r\n\r\n // Get class name for an object instance. Works fine with ES6 classes definitions (not in IE).\r\n getClassName() : string {\r\n const { name } = this.constructor;\r\n if( name !== 'Subclass' ) return name;\r\n }\r\n\r\n // Logging interface for run time errors and warnings.\r\n /** @internal */\r\n abstract _log( level : LogLevel, topic : string, text : string, value : any, logger? : Logger ) : void\r\n}\r\n\r\nexport interface CloneOptions {\r\n // 'Pin store' shall assign this._defaultStore = this.getStore();\r\n pinStore? : boolean\r\n}\r\n\r\n// Owner must accept children update events. It's an only way children communicates with an owner.\r\n/** @private */\r\nexport interface Owner extends Traversable, Messenger {\r\n /** @internal */\r\n _onChildrenChange( child : Transactional, options : TransactionOptions ) : void;\r\n \r\n getOwner() : Owner\r\n getStore() : Transactional\r\n}\r\n\r\n// Transaction object used for two-phase commit protocol.\r\n// Must be implemented by subclasses.\r\n// Transaction must be created if there are actual changes and when markIsDirty returns true.\r\n/** @private */ \r\nexport interface Transaction {\r\n // Object transaction is being made on.\r\n object : Transactional\r\n\r\n // Send out change events, process update triggers, and close transaction.\r\n // Nested transactions must be marked with isNested flag (it suppress owner notification).\r\n commit( initiator? : Transactional )\r\n}\r\n\r\n// Options for distributed transaction \r\nexport interface TransactionOptions {\r\n // Invoke parsing \r\n parse? : boolean\r\n\r\n // Optional logger\r\n logger? : Logger\r\n\r\n // Suppress change notifications and update triggers\r\n silent? : boolean\r\n\r\n // Update existing transactional members in place, or skip the update (ignored by models)\r\n merge? : boolean // =true\r\n\r\n // Should collections remove elements in set (ignored by models) \r\n remove? : boolean // =true\r\n\r\n // Always replace enclosed objects with new instances\r\n reset? : boolean // = false\r\n\r\n // Do not dispose aggregated members\r\n unset? : boolean\r\n\r\n validate? : boolean\r\n\r\n // IO method name if the transaction is initiated as a result of IO operation\r\n ioMethod? : 'save' | 'fetch'\r\n\r\n // The hint for IOEndpoint\r\n // If `true`, `record.save()` will behave as \"upsert\" operation for the records having id.\r\n upsert? : boolean\r\n}\r\n\r\n/**\r\n * Low-level transactions API. Must be used like this:\r\n * const isRoot = begin( record );\r\n * ...\r\n * isRoot && commit( record, options );\r\n * \r\n * When committing nested transaction, the flag must be set to true. \r\n * commit( object, options, isNested ) \r\n */\r\n\r\nexport const transactionApi = {\r\n // Start transaction. Return true if it's the root one.\r\n /** @private */\r\n begin( object : Transactional ) : boolean {\r\n return object._transaction ? false : ( object._transaction = true ); \r\n },\r\n\r\n // Mark object having changes inside of the current transaction.\r\n // Returns true whenever there notifications are required.\r\n /** @private */\r\n markAsDirty( object : Transactional, options : TransactionOptions ) : boolean {\r\n // If silent option is in effect, don't set isDirty flag.\r\n const dirty = !options.silent;\r\n if( dirty ) object._isDirty = options;\r\n \r\n // Reset version token.\r\n object._changeToken = {};\r\n\r\n // Object is changed, so validation must happen again. Clear the cache.\r\n object._validationError = void 0;\r\n\r\n return dirty;\r\n },\r\n\r\n // Commit transaction. Send out change event and notify owner. Returns true if there were changes.\r\n // Must be executed for the root transaction only.\r\n /** @private */\r\n commit( object : Transactional, initiator? : Transactional ){\r\n let originalOptions = object._isDirty;\r\n\r\n if( originalOptions ){\r\n // Send the sequence of change events, handling chained handlers.\r\n while( object._isDirty ){\r\n const options = object._isDirty;\r\n object._isDirty = null; \r\n trigger3( object, object._changeEventName, object, options, initiator );\r\n }\r\n \r\n // Mark transaction as closed.\r\n object._transaction = false;\r\n\r\n // Notify owner on changes out of transaction scope. \r\n const { _owner } = object; \r\n if( _owner && _owner !== initiator ){ // If it's the nested transaction, owner is already aware there are some changes.\r\n _owner._onChildrenChange( object, originalOptions );\r\n }\r\n }\r\n else{\r\n // No changes. Silently close transaction.\r\n object._isDirty = null;\r\n object._transaction = false;\r\n }\r\n },\r\n\r\n /************************************\r\n * Ownership management\r\n */\r\n\r\n // Add reference to the record.\r\n /** @private */\r\n aquire( owner : Owner, child : Transactional, key? : string ) : void {\r\n if( child._owner ) throw new ReferenceError( 'Trying to aquire ownership for an object already having an owner' );\r\n\r\n child._owner = owner;\r\n child._ownerKey = key;\r\n },\r\n\r\n // Remove reference to the record.\r\n /** @private */\r\n free( owner : Owner, child : Transactional ) : void {\r\n if( owner === child._owner ){\r\n child._owner = void 0;\r\n child._ownerKey = void 0;\r\n }\r\n }\r\n}\r\n\r\nfunction getOwnerEndpoint( self : Transactional ) : IOEndpoint {\r\n // Check if we are the member of the collection...\r\n const { collection } = self as any;\r\n if( collection ){\r\n return getOwnerEndpoint( collection );\r\n }\r\n\r\n // Now, if we're the member of the model...\r\n if( self._owner ){\r\n const { _endpoints } = self._owner as any;\r\n return _endpoints && _endpoints[ self._ownerKey ];\r\n }\r\n}\r\n","import { eventsApi } from '@type-r/mixture';\r\nimport { Owner, Transaction, Transactional, transactionApi, TransactionOptions } from \"../transactions\";\r\nconst { begin : _begin, markAsDirty : _markAsDirty, commit } = transactionApi;\r\n\r\nconst { trigger3 } = eventsApi;\r\n\r\nexport interface ConstructorsMixin {\r\n Attributes : AttributesConstructor\r\n AttributesCopy : AttributesCopyConstructor\r\n}\r\n\r\nexport interface ConstructorOptions extends TransactionOptions{\r\n clone? : boolean\r\n}\r\n\r\nexport type AttributesConstructor = new ( record : AttributesContainer, values : object, options : TransactionOptions ) => AttributesValues;\r\nexport type AttributesCopyConstructor = new ( values : object ) => AttributesValues;\r\n\r\nexport interface AttributesContainer extends Transactional, Owner, ConstructorsMixin {\r\n // Attribute descriptors.\r\n /** @internal */\r\n _attributes : AttributesDescriptors\r\n\r\n // Attribute values.\r\n attributes : AttributesValues\r\n\r\n // Previous attribute values.\r\n /** @internal */\r\n _previousAttributes : AttributesValues\r\n\r\n // Changed attributes cache. \r\n /** @internal */\r\n _changedAttributes : AttributesValues\r\n}\r\n\r\nexport interface AttributesValues {\r\n [ name : string ] : any\r\n}\r\n\r\nexport interface AttributesDescriptors {\r\n [ name : string ] : AttributeUpdatePipeline\r\n}\r\n\r\nexport interface AttributeUpdatePipeline{\r\n doUpdate( value, record : AttributesContainer, options : TransactionOptions, nested? : Transaction[] ) : boolean\r\n}\r\n\r\n // Optimized single attribute transactional update. To be called from attributes setters\r\n // options.silent === false, parse === false. \r\nexport function setAttribute( record : AttributesContainer, name : string, value : any ) : void {\r\n // Open the transaction.\r\n const isRoot = begin( record ),\r\n options = {};\r\n\r\n // Update attribute. \r\n if( record._attributes[ name ].doUpdate( value, record, options ) ){\r\n // Notify listeners on changes.\r\n markAsDirty( record, options );\r\n trigger3( record, 'change:' + name, record, record.attributes[ name ], options );\r\n }\r\n\r\n // Close the transaction.\r\n isRoot && commit( record );\r\n}\r\n\r\nfunction begin( record : AttributesContainer ){\r\n if( _begin( record ) ){\r\n record._previousAttributes = new record.AttributesCopy( record.attributes );\r\n record._changedAttributes = null;\r\n return true;\r\n }\r\n \r\n return false;\r\n}\r\n\r\nfunction markAsDirty( record : AttributesContainer, options : TransactionOptions ){\r\n // Need to recalculate changed attributes, when we have nested set in change:attr handler\r\n if( record._changedAttributes ){\r\n record._changedAttributes = null;\r\n }\r\n\r\n return _markAsDirty( record, options );\r\n}\r\n\r\n/**\r\n * TODO: There's an opportunity to create an optimized pipeline for primitive types and Date, which makes the majority\r\n * of attributes. It might create the major speedup.\r\n * \r\n * Create the dedicated pipeline for owned and shared attributes as well.\r\n * \r\n * Three elements of the pipeline:\r\n * - from constructor\r\n * - from assignment\r\n * - from `set`\r\n */\r\n\r\nexport const UpdateModelMixin = {\r\n// Need to override it here, since begin/end transaction brackets are overriden. \r\n transaction( this : AttributesContainer, fun : ( self : AttributesContainer ) => void, options : TransactionOptions = {} ) : void{\r\n const isRoot = begin( this );\r\n fun.call( this, this );\r\n isRoot && commit( this );\r\n },\r\n \r\n // Handle nested changes. TODO: propagateChanges == false, same in transaction.\r\n _onChildrenChange( child : Transactional, options : TransactionOptions ) : void {\r\n const { _ownerKey } = child,\r\n attribute = this._attributes[ _ownerKey ];\r\n\r\n if( !attribute /* TODO: Must be an opposite, likely the bug */ || attribute.propagateChanges ) this.forceAttributeChange( _ownerKey, options );\r\n },\r\n\r\n // Simulate attribute change \r\n forceAttributeChange( key : string, options : TransactionOptions = {} ){\r\n // Touch an attribute in bounds of transaction\r\n const isRoot = begin( this );\r\n\r\n if( markAsDirty( this, options ) ){\r\n trigger3( this, 'change:' + key, this, this.attributes[ key ], options );\r\n }\r\n \r\n isRoot && commit( this );\r\n },\r\n\r\n _createTransaction( this : AttributesContainer, a_values : {}, options : TransactionOptions = {} ) : Transaction {\r\n const isRoot = begin( this ),\r\n changes : string[] = [],\r\n nested : ModelTransaction[]= [],\r\n { _attributes } = this,\r\n values = options.parse ? this.parse( a_values, options ) : a_values;\r\n\r\n let unknown;\r\n\r\n if( shouldBeAnObject( this, values, options ) ){\r\n for( let name in values ){\r\n const spec = _attributes[ name ];\r\n\r\n if( spec ){\r\n if( spec.doUpdate( values[ name ], this, options, nested ) ){\r\n changes.push( name );\r\n }\r\n }\r\n else{\r\n unknown || ( unknown = [] );\r\n unknown.push( `'${ name }'` );\r\n }\r\n }\r\n\r\n if( unknown ){\r\n unknownAttrsWarning( this, unknown, { values }, options );\r\n }\r\n }\r\n \r\n if( changes.length && markAsDirty( this, options ) ){\r\n return new ModelTransaction( this, isRoot, nested, changes );\r\n }\r\n \r\n // No changes, but there might be silent attributes with open transactions.\r\n for( let pendingTransaction of nested ){\r\n pendingTransaction.commit( this );\r\n }\r\n\r\n isRoot && commit( this );\r\n }\r\n};\r\n\r\nexport function unknownAttrsWarning( record : AttributesContainer, unknown : string[], props, options ){\r\n record._log( 'warn', 'Type-R:UnknownAttrs', `undefined attributes ${ unknown.join(', ')} are ignored.`, props, options.logger );\r\n}\r\n\r\n// One of the main performance tricks of Type-R.\r\n// Create loop unrolled constructors for internal attribute hash,\r\n// so the hidden class JIT optimization will be engaged and they will become static structs.\r\n// It dramatically improves record performance.\r\nexport function constructorsMixin( attrDefs : AttributesDescriptors ) : ConstructorsMixin {\r\n const attrs = Object.keys( attrDefs );\r\n\r\n const AttributesCopy : AttributesCopyConstructor = new Function( 'values', `\r\n ${ attrs.map( attr =>`\r\n this.${ attr } = values.${ attr };\r\n `).join( '' ) }\r\n `) as any;\r\n\r\n AttributesCopy.prototype = Object.prototype;\r\n\r\n const Attributes : AttributesConstructor = new Function( 'record', 'values', 'options', `\r\n var _attrs = record._attributes;\r\n\r\n ${ attrs.map( attr =>`\r\n this.${ attr } = _attrs.${ attr }.doInit( values.${ attr }, record, options );\r\n `).join( '' ) }\r\n `) as any;\r\n\r\n Attributes.prototype = Object.prototype;\r\n\r\n return { Attributes, AttributesCopy };\r\n}\r\n\r\nexport function shouldBeAnObject( record : AttributesContainer, values : object, options ){\r\n if( values && values.constructor === Object ) return true;\r\n\r\n record._log( 'error', 'Type-R:InvalidObject', 'update with non-object is ignored!', { values }, options.logger );\r\n return false;\r\n}\r\n\r\n// Transaction class. Implements two-phase transactions on object's tree. \r\n// Transaction must be created if there are actual changes and when markIsDirty returns true. \r\nexport class ModelTransaction implements Transaction {\r\n // open transaction\r\n constructor( public object : AttributesContainer,\r\n public isRoot : boolean,\r\n public nested : Transaction[],\r\n public changes : string[] ){}\r\n\r\n // commit transaction\r\n commit( initiator? : AttributesContainer ) : void {\r\n const { nested, object, changes } = this;\r\n\r\n // Commit all pending nested transactions...\r\n for( let transaction of nested ){ \r\n transaction.commit( object );\r\n }\r\n\r\n // Notify listeners on attribute changes...\r\n // Transaction is never created when silent option is set, so just send events out.\r\n const { attributes, _isDirty } = object;\r\n for( let key of changes ){\r\n trigger3( object, 'change:' + key, object, attributes[ key ], _isDirty );\r\n }\r\n\r\n this.isRoot && commit( object, initiator );\r\n }\r\n}","import { IOEndpoint } from '../../io-tools';\r\nimport { LogLevel, tools, Logger } from '@type-r/mixture';\r\nimport { TransactionOptions, Transactional } from '../../transactions';\r\nimport { AttributesContainer, AttributeUpdatePipeline, ModelTransaction, setAttribute } from '../updates';\r\n\r\nconst { notEqual, assign} = tools;\r\n\r\nexport type Transform = ( this : AnyType, next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) => any;\r\nexport type ChangeHandler = ( this : AnyType, next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) => void;\r\n\r\nexport interface AttributeOptions {\r\n _metatype? : typeof AnyType\r\n validate? : ( record : AttributesContainer, value : any, key : string ) => any\r\n isRequired? : boolean\r\n changeEvents? : boolean\r\n\r\n endpoint? : IOEndpoint\r\n\r\n type? : Function\r\n value? : any\r\n hasCustomDefault? : boolean\r\n\r\n parse? : Parse\r\n toJSON? : AttributeToJSON\r\n \r\n getHooks? : GetHook[]\r\n transforms? : Transform[]\r\n changeHandlers? : ChangeHandler[]\r\n\r\n _onChange? : ChangeAttrHandler\r\n}\r\n\r\nexport type Parse = ( value : any, key? : string ) => any;\r\nexport type GetHook = ( value : any, key? : string ) => any;\r\nexport type AttributeToJSON = ( value : any, key? : string ) => any\r\nexport type AttributeParse = ( value : any, key? : string ) => any\r\nexport type ChangeAttrHandler = ( ( value : any, attr? : string ) => void ) | string;\r\n\r\n// TODO: interface differs from options, do something obout it\r\nconst emptyOptions : TransactionOptions = {};\r\n\r\n/**\r\n * Typeless attribute. Is the base class for all other attributes.\r\n */\r\nexport class AnyType implements AttributeUpdatePipeline {\r\n // Factory method to create attribute from options \r\n static create : ( options : AttributeOptions, name : string ) => AnyType;\r\n \r\n /**\r\n * Update pipeline functions\r\n * =========================\r\n *\r\n * Stage 0. canBeUpdated( value )\r\n * - presence of this function implies attribute's ability to update in place.\r\n */\r\n canBeUpdated( prev, next, options : TransactionOptions ) : any {}\r\n\r\n /**\r\n * Stage 1. Transform stage\r\n */\r\n transform( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) : any { return next; }\r\n\r\n // convert attribute type to `this.type`.\r\n convert( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) : any { return next; }\r\n\r\n /**\r\n * Stage 2. Check if attr value is changed\r\n */\r\n isChanged( a : any, b : any ) : boolean {\r\n return notEqual( a, b );\r\n }\r\n\r\n /**\r\n * Stage 3. Handle attribute change\r\n */\r\n handleChange( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) {}\r\n\r\n /**\r\n * End update pipeline definitions.\r\n */\r\n\r\n // create empty object passing backbone options to constructor...\r\n create() { return void 0; }\r\n\r\n // generic clone function for typeless attributes\r\n // Must be overriden in sublass\r\n clone( value : any, record : AttributesContainer ) {\r\n return value;\r\n }\r\n\r\n dispose( record : AttributesContainer, value : any ) : void {\r\n this.handleChange( void 0, value, record, emptyOptions );\r\n }\r\n\r\n validate( record : AttributesContainer, value : any, key : string ) : any {}\r\n\r\n toJSON( value, key, options? : object ) {\r\n return value && value.toJSON ? value.toJSON( options ) : value;\r\n }\r\n\r\n isMutableType(){\r\n return this.type && this.type.prototype instanceof Transactional;\r\n }\r\n\r\n createPropertyDescriptor() : PropertyDescriptor | void {\r\n const { name, getHook } = this;\r\n\r\n if( name !== 'id' ){\r\n return {\r\n // call to optimized set function for single argument.\r\n set( value ){\r\n setAttribute( this, name, value );\r\n },\r\n\r\n // attach get hook to the getter function, if it present\r\n get : (\r\n getHook ?\r\n function() {\r\n return getHook.call( this, this.attributes[ name ], name );\r\n } :\r\n function() { return this.attributes[ name ]; }\r\n ),\r\n\r\n configurable : true\r\n }\r\n }\r\n }\r\n\r\n value : any\r\n\r\n // Used as global default value for the given metatype\r\n static defaultValue : any;\r\n\r\n type : Function\r\n\r\n initialize( name : string, options : TransactionOptions ){}\r\n\r\n options : AttributeOptions\r\n\r\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\r\n const v = value === void 0 ? this.defaultValue() : value,\r\n x = this.transform( v, void 0, record, options );\r\n \r\n this.handleChange( x, void 0, record, options );\r\n return x;\r\n }\r\n\r\n doUpdate( value, record : AttributesContainer, options : TransactionOptions, nested? : ModelTransaction[] ){\r\n const { name } = this,\r\n { attributes } = record,\r\n prev = attributes[ name ];\r\n\r\n const next = this.transform( value, prev, record, options );\r\n attributes[ name ] = next;\r\n\r\n if( this.isChanged( next, prev ) ) {\r\n // Do the rest of the job after assignment\r\n this.handleChange( next, prev, record, options );\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n propagateChanges : boolean\r\n\r\n protected _log( level : LogLevel, code : string, text : string, value, record : AttributesContainer, logger : Logger ){\r\n record._log( level, code, `${record.getClassName()}.${ this.name } ${ text }`, {\r\n 'New value' : value,\r\n 'Prev. value' : record.attributes[ this.name ]\r\n }, logger );\r\n }\r\n\r\n defaultValue(){\r\n return this.value;\r\n }\r\n\r\n constructor( public name : string, a_options : AttributeOptions ) { \r\n // Save original options...\r\n this.options = a_options;\r\n\r\n // Clone options.\r\n const options : AttributeOptions = { getHooks : [], transforms : [], changeHandlers : [], ...a_options };\r\n options.getHooks = options.getHooks.slice();\r\n options.transforms = options.transforms.slice();\r\n options.changeHandlers = options.changeHandlers.slice();\r\n\r\n const {\r\n value, type, parse, toJSON, changeEvents,\r\n validate, getHooks, transforms, changeHandlers\r\n } = options;\r\n\r\n // Initialize default value...\r\n this.value = value;\r\n this.type = type;\r\n\r\n // TODO: An opportunity to optimize for attribute subtype.\r\n if( !options.hasCustomDefault && type ){\r\n this.defaultValue = this.create;\r\n }\r\n else if( tools.isValidJSON( value ) ){ \r\n // JSON literals must be deep copied.\r\n this.defaultValue = new Function( `return ${ JSON.stringify( value ) };` ) as any;\r\n }\r\n else{\r\n this.defaultValue = this.defaultValue;\r\n }\r\n\r\n // Changes must be bubbled when they are not disabled for an attribute and transactional object.\r\n this.propagateChanges = changeEvents !== false;\r\n\r\n this.toJSON = toJSON === void 0 ? this.toJSON : toJSON;\r\n\r\n this.validate = validate || this.validate;\r\n \r\n if( options.isRequired ){\r\n this.validate = wrapIsRequired( this.validate );\r\n }\r\n\r\n /**\r\n * Assemble pipelines...\r\n */\r\n\r\n // `convert` is default transform, which is always present...\r\n transforms.unshift( this.convert );\r\n\r\n // Get hook from the attribute will be used first...\r\n if( this.get ) getHooks.unshift( this.get );\r\n\r\n // let subclasses configure the pipeline...\r\n this.initialize.call( this, options );\r\n\r\n // let attribute spec configure the pipeline...\r\n if( getHooks.length ){\r\n const getHook = this.getHook = getHooks.reduce( chainGetHooks );\r\n\r\n const { validate } = this;\r\n this.validate = function( record : AttributesContainer, value : any, key : string ){\r\n return validate.call( this, record, getHook.call( record, value, key ), key );\r\n }\r\n }\r\n \r\n this.transform = transforms.length ? transforms.reduce( chainTransforms ) : this.transform;\r\n \r\n this.handleChange = changeHandlers.length ? changeHandlers.reduce( chainChangeHandlers ) : this.handleChange;\r\n\r\n // Attribute-level parse transform are attached as update hooks modifiers...\r\n const { doInit, doUpdate } = this;\r\n this.doInit = parse ? function( value, record : AttributesContainer, options : TransactionOptions ){\r\n return doInit.call( this, options.parse && value !== void 0 ? parse.call( record, value, this.name ) : value, record, options );\r\n } : doInit;\r\n\r\n this.doUpdate = parse ? function( value, record : AttributesContainer, options : TransactionOptions, nested? : ModelTransaction[] ){\r\n return doUpdate.call( this, options.parse && value !== void 0 ? parse.call( record, value, this.name ) : value, record, options, nested );\r\n } : doUpdate;\r\n }\r\n\r\n getHook : ( value, key : string ) => any = null\r\n get : ( value, key : string ) => any\r\n}\r\n\r\n\r\nfunction chainGetHooks( prevHook : GetHook, nextHook : GetHook ) : GetHook {\r\n return function( value, name ) {\r\n return nextHook.call( this, prevHook.call( this, value, name ), name );\r\n }\r\n}\r\n\r\nfunction chainTransforms( prevTransform : Transform, nextTransform : Transform ) : Transform {\r\n return function( next, prev, record, options ) {\r\n return nextTransform.call( this, prevTransform.call( this, next, prev, record, options ), prev, record, options );\r\n }\r\n}\r\n\r\nfunction chainChangeHandlers( prevHandler : ChangeHandler, nextHandler : ChangeHandler ) : ChangeHandler {\r\n return function( next, prev, record, options ) {\r\n prevHandler.call( this, next, prev, record, options );\r\n nextHandler.call( this, next, prev, record, options );\r\n }\r\n}\r\n\r\nfunction wrapIsRequired( validate ){\r\n return function( record : AttributesContainer, value : any, key : string ){\r\n return value ? validate.call( this, record, value, key ) : 'Required';\r\n }\r\n}","/**\r\n * Built-in JSON types attributes: Object, Array, Number, String, Boolean, and immutable class.\r\n * \r\n * Adds type assertions, default validation, and optimized update pipeline.\r\n */\r\n\r\nimport { TransactionOptions } from '../../transactions';\r\nimport { AnyType } from './any';\r\nimport { AttributesContainer } from '../updates';\r\n\r\n/**\r\n * Custom class must be immutable class which implements toJSON() method\r\n * with a constructor taking json.\r\n */\r\nexport class ImmutableClassType extends AnyType {\r\n type : new ( value? : any ) => {}\r\n\r\n create(){\r\n return new this.type();\r\n }\r\n\r\n convert( next : any ) : any {\r\n return next == null || next instanceof this.type ? next : new this.type( next );\r\n }\r\n\r\n toJSON( value, key? : string, options? : object ){\r\n return value && value.toJSON ? value.toJSON( options ) : value;\r\n }\r\n\r\n clone( value ) {\r\n return new this.type( this.toJSON( value ) );\r\n }\r\n\r\n isChanged( a, b ){\r\n return a !== b;\r\n }\r\n}\r\n\r\n/**\r\n * Optimized attribute of primitive type.\r\n * \r\n * Primitives has specialized simplified pipeline.\r\n */\r\nexport class PrimitiveType extends AnyType {\r\n type : NumberConstructor | StringConstructor | BooleanConstructor\r\n\r\n dispose(){}\r\n create() { return this.type(); }\r\n\r\n toJSON( value ) { return value; }\r\n\r\n convert( next ) { return next == null ? next : this.type( next ); }\r\n\r\n isChanged( a, b ) { return a !== b; }\r\n\r\n clone( value ) { return value; }\r\n\r\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\r\n return this.transform( value === void 0 ? this.value : value, void 0, record, options );\r\n }\r\n\r\n doUpdate( value, record, options, nested ){\r\n const { name } = this,\r\n { attributes } = record,\r\n prev = attributes[ name ];\r\n \r\n return prev !== ( attributes[ name ] = this.transform( value, prev, record, options ) );\r\n }\r\n\r\n initialize(){\r\n if( !this.options.hasCustomDefault ){\r\n this.value = this.type();\r\n }\r\n }\r\n}\r\n\r\n// Number type with special validation algothim.\r\n/** @private */ \r\nexport class NumericType extends PrimitiveType {\r\n type : NumberConstructor\r\n\r\n create(){\r\n return 0;\r\n }\r\n\r\n convert( next, prev?, record?, options? ) {\r\n const num = next == null ? next : this.type( next );\r\n\r\n if( num !== num ){\r\n this._log( 'error', 'Type-R:InvalidNumber', 'Number attribute is assigned with an invalid number', next, record, options.logger );\r\n }\r\n \r\n return num;\r\n }\r\n\r\n validate( model, value, name ) {\r\n // Whatever is not symmetrically serializable to JSON, is not valid by default.\r\n if( value != null && !isFinite( value ) ) {\r\n return name + ' is not valid number';\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Compatibility wrapper for Array type.\r\n * @private\r\n */ \r\nexport class ArrayType extends AnyType {\r\n toJSON( value ) { return value; }\r\n dispose(){}\r\n create(){ return []; }\r\n\r\n convert( next, prev, record, options ) {\r\n // Fix incompatible constructor behaviour of Array...\r\n if( next == null || Array.isArray( next ) ) return next;\r\n\r\n this._log( 'error', 'Type-R:InvalidArray', 'Array attribute assigned with non-array value', next, record, options.logger );\r\n\r\n return [];\r\n }\r\n\r\n clone( value ){\r\n return value && value.slice();\r\n }\r\n}\r\n\r\nexport class ObjectType extends AnyType {\r\n create(){ return {}; }\r\n\r\n convert( next, prev, record, options ) {\r\n if( next == null || typeof next === 'object' ) return next;\r\n \r\n this._log( 'error', 'Type-R:InvalidObject', 'Object attribute is assigned with non-object value', next, record, options.logger );\r\n return {};\r\n }\r\n}\r\n\r\nexport function doNothing(){}\r\n\r\nexport class FunctionType extends AnyType {\r\n // Functions are not serialized.\r\n toJSON( value ) { return void 0; }\r\n create(){ return doNothing; }\r\n dispose(){}\r\n\r\n convert( next, prev, record, options ) {\r\n // Fix incompatible constructor behaviour of Function...\r\n if( next == null || typeof next === 'function' ) return next;\r\n\r\n this._log( 'error', 'Type-R:InvalidFunction', 'Function attribute assigned with non-function value', next, record, options.logger );\r\n\r\n return doNothing;\r\n }\r\n\r\n // Functions are not cloned.\r\n clone( value ){ return value; }\r\n}\r\n","/**\r\n * Date attribute type.\r\n * \r\n * Implements validation, cross-browser compatibility fixes, variety of Date serialization formats,\r\n * and optimized update pipeline.\r\n */\r\nimport { TransactionOptions } from '../../transactions';\r\nimport { AnyType } from './any';\r\nimport { AttributesContainer } from '../updates';\r\n\r\n// Date Attribute\r\n/** @private */\r\nexport class DateType extends AnyType {\r\n create(){\r\n return new Date();\r\n }\r\n \r\n convert( next : any, a, record, options ){\r\n if( next == null || next instanceof Date ) return next;\r\n\r\n const date = new Date( next ),\r\n timestamp = date.getTime();\r\n\r\n if( timestamp !== timestamp ){\r\n this._log( 'error', 'Type-R:InvalidDate', 'Date attribute assigned with invalid date', next, record, options.logger );\r\n }\r\n\r\n return date;\r\n }\r\n\r\n validate( model, value, name ) {\r\n if( value != null ){\r\n const timestamp = value.getTime(); \r\n if( timestamp !== timestamp ) return name + ' is Invalid Date';\r\n }\r\n }\r\n\r\n toJSON( value ) { return value && value.toISOString(); }\r\n\r\n isChanged( a, b ) { return ( a && a.getTime() ) !== ( b && b.getTime() ); }\r\n\r\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\r\n // Date don't have handleChanges step.\r\n return this.transform( value === void 0 ? this.defaultValue() : value, void 0, record, options );\r\n }\r\n\r\n doUpdate( value, record, options, nested ){\r\n const { name } = this,\r\n { attributes } = record,\r\n prev = attributes[ name ];\r\n \r\n // Date don't have handleChanges step.\r\n return this.isChanged( prev , attributes[ name ] = this.transform( value, prev, record, options ) );\r\n }\r\n\r\n clone( value ) { return value && new Date( value.getTime() ); }\r\n dispose(){}\r\n}\r\n\r\n// If ISO date is not supported by date constructor (such as in Safari), polyfill it.\r\nfunction supportsDate( date ){\r\n return !isNaN( ( new Date( date ) ).getTime() );\r\n}\r\n\r\nif( !supportsDate('2011-11-29T15:52:30.5') ||\r\n !supportsDate('2011-11-29T15:52:30.52') ||\r\n !supportsDate('2011-11-29T15:52:18.867') ||\r\n !supportsDate('2011-11-29T15:52:18.867Z') ||\r\n !supportsDate('2011-11-29T15:52:18.867-03:30') ){\r\n\r\n DateType.prototype.convert = function( value ){\r\n return value == null || value instanceof Date ? value : new Date( safeParseDate( value ) );\r\n }\r\n}\r\n\r\nconst numericKeys = [ 1, 4, 5, 6, 7, 10, 11 ],\r\n isoDatePattern = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\r\n\r\nfunction safeParseDate( date : string ) : number {\r\n var timestamp, struct : any[], minutesOffset = 0;\r\n\r\n if( ( struct = isoDatePattern.exec( date )) ) {\r\n // avoid NaN timestamps caused by undefined values being passed to Date.UTC\r\n for( var i = 0, k; ( k = numericKeys[ i ] ); ++i ) {\r\n struct[ k ] = +struct[ k ] || 0;\r\n }\r\n\r\n // allow undefined days and months\r\n struct[ 2 ] = (+struct[ 2 ] || 1) - 1;\r\n struct[ 3 ] = +struct[ 3 ] || 1;\r\n\r\n if( struct[ 8 ] !== 'Z' && struct[ 9 ] !== undefined ) {\r\n minutesOffset = struct[ 10 ] * 60 + struct[ 11 ];\r\n\r\n if( struct[ 9 ] === '+' ) {\r\n minutesOffset = 0 - minutesOffset;\r\n }\r\n }\r\n\r\n timestamp =\r\n Date.UTC( struct[ 1 ], struct[ 2 ], struct[ 3 ], struct[ 4 ], struct[ 5 ] + minutesOffset, struct[ 6 ],\r\n struct[ 7 ] );\r\n }\r\n else {\r\n timestamp = Date.parse( date );\r\n }\r\n\r\n return timestamp;\r\n}","import { ItemsBehavior, Transactional, transactionApi, TransactionOptions } from '../../transactions';\r\nimport { ValidationError } from '../../validation';\r\nimport { AnyType } from './any';\r\nimport { AttributesContainer, ConstructorOptions } from '../updates';\r\n\r\nconst { free, aquire } = transactionApi;\r\n\r\nexport class AggregatedType extends AnyType {\r\n type : typeof Transactional\r\n\r\n clone( value : Transactional ) : Transactional {\r\n return value ? value.clone() : value;\r\n }\r\n\r\n toJSON( x, key : string, options : object ){ return x && x.toJSON( options ); }\r\n\r\n doInit( value, record : AttributesContainer, options : ConstructorOptions ){\r\n const v = options.clone ? this.clone( value ) : (\r\n value === void 0 ? this.defaultValue() : value\r\n );\r\n\r\n const x = this.transform( v, void 0, record, options );\r\n this.handleChange( x, void 0, record, options );\r\n return x;\r\n }\r\n\r\n doUpdate( value, record, options, nested : any[] ){ // Last to things can be wrapped to an object, either transaction or ad-hoc\r\n const key = this.name, { attributes } = record; \r\n const prev = attributes[ key ];\r\n let update;\r\n\r\n // This can be moved to transactional attribute. And chained with the rest.\r\n if( update = this.canBeUpdated( prev, value, options ) ) { // todo - skip empty updates.\r\n const nestedTransaction = prev._createTransaction( update, options );\r\n // TODO: sync update tokens\r\n if( nestedTransaction ){\r\n if( nested ){\r\n nested.push( nestedTransaction );\r\n }\r\n else{\r\n nestedTransaction.commit( record );\r\n }\r\n\r\n if( this.propagateChanges ) return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const next = this.transform( value, prev, record, options );\r\n attributes[ key ] = next;\r\n\r\n if( this.isChanged( next, prev ) ) { // Primitives and nested comparison can be inlined.\r\n // Do the rest of the job after assignment\r\n this.handleChange( next, prev, record, options );\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n canBeUpdated( prev : Transactional, next : any, options : TransactionOptions ) : any {\r\n // If an object already exists, and new value is of incompatible type, let object handle the update.\r\n if( prev && next != null ){\r\n if( next instanceof this.type ){\r\n // In case if merge option explicitly specified, force merge.\r\n if( options.merge ) return next.__inner_state__;\r\n }\r\n else{\r\n return next;\r\n }\r\n }\r\n }\r\n\r\n convert( next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) : Transactional {\r\n // Invoke class factory to handle abstract classes\r\n if( next == null ) return next;\r\n \r\n if( next instanceof this.type ){\r\n if( next._shared && !( next._shared & ItemsBehavior.persistent ) ) { // TODO: think more about shared types assignment compatibility. \r\n this._log( 'error', 'Type-R:InvalidCollection', 'aggregated collection attribute is assigned with shared collection type', next, record, options.logger );\r\n }\r\n\r\n // With explicit 'merge' option we need to clone an object if its previous value was 'null'.\r\n // This is an only case we could be here when merge === true.\r\n if( options.merge ) return next.clone();\r\n\r\n if( next._owner ){\r\n this._log( 'warn', 'Type-R:InvalidOwner', 'object alreay has an owner and was cloned. Use explicit object.clone() to dismiss this warning.', next, record, options.logger );\r\n return next.clone();\r\n }\r\n\r\n return next;\r\n }\r\n\r\n return ( this.type as any).create( next, options );\r\n }\r\n\r\n dispose ( record : AttributesContainer, value : Transactional ){\r\n if( value ){\r\n this.handleChange( void 0, value, record, {} );\r\n }\r\n }\r\n\r\n validate( record : AttributesContainer, value : Transactional ) : ValidationError {\r\n var error = value && value.validationError;\r\n if( error ) return error;\r\n }\r\n\r\n create() : Transactional {\r\n return (this.type).create(); // this the subclass of Transactional here.\r\n }\r\n\r\n initialize( options ){\r\n options.changeHandlers.unshift( this._handleChange );\r\n }\r\n\r\n _handleChange( next : Transactional, prev : Transactional, record : AttributesContainer, options : TransactionOptions ){\r\n if( prev ){\r\n free( record, prev );\r\n options.unset || prev.dispose();\r\n } \r\n \r\n if( next ) aquire( record, next, this.name );\r\n }\r\n}","import { eventsApi } from '@type-r/mixture';\r\nimport { ItemsBehavior, Transactional, transactionApi, TransactionOptions } from '../../transactions';\r\nimport { AnyType } from './any';\r\nimport { AttributesContainer, ConstructorOptions } from '../updates';\r\nimport { ChainableAttributeSpec } from '../attrDef';\r\n\r\nconst { on, off } = eventsApi,\r\n { free, aquire } = transactionApi;\r\n\r\n/************************\r\n * Shared attribute definition.\r\n * - Not serialized.\r\n * - Listening to the changes.\r\n * - Doesn't take ownership when assigned with object of proper type.\r\n * - Takes ownership on objects which are converted.\r\n */\r\n\r\nconst shareAndListen = ItemsBehavior.listen | ItemsBehavior.share;\r\n\r\n/** @private */\r\nexport class SharedType extends AnyType {\r\n type : typeof Transactional\r\n\r\n doInit( value, record : AttributesContainer, options : ConstructorOptions ){\r\n const v = options.clone ? this.clone( value, record ) : (\r\n value === void 0 ? this.defaultValue() : value\r\n );\r\n\r\n const x = this.transform( v, void 0, record, options );\r\n this.handleChange( x, void 0, record, options );\r\n return x;\r\n }\r\n\r\n doUpdate( value, record, options, nested : any[] ){ // Last to things can be wrapped to an object, either transaction or ad-hoc\r\n const key = this.name, { attributes } = record; \r\n const prev = attributes[ key ];\r\n let update;\r\n\r\n // This can be moved to transactional attribute. And chained with the rest.\r\n if( update = this.canBeUpdated( prev, value, options ) ) { // todo - skip empty updates.\r\n const nestedTransaction = prev._createTransaction( update, options );\r\n if( nestedTransaction ){\r\n if( nested ){\r\n nested.push( nestedTransaction );\r\n }\r\n else{\r\n nestedTransaction.commit( record );\r\n }\r\n\r\n if( this.propagateChanges ) return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n const next = this.transform( value, prev, record, options );\r\n attributes[ key ] = next;\r\n\r\n if( this.isChanged( next, prev ) ) { // Primitives and nested comparison can be inlined.\r\n // Do the rest of the job after assignment\r\n this.handleChange( next, prev, record, options );\r\n\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n clone( value : Transactional, record : AttributesContainer ) : Transactional {\r\n // References are not cloned.\r\n if( !value || value._owner !== record ) return value;\r\n\r\n // Implicitly created objects are cloned.\r\n const clone = value.clone();\r\n aquire( record, clone, this.name );\r\n return clone;\r\n }\r\n\r\n // Do not serialize by default.\r\n toJSON(){}\r\n\r\n canBeUpdated( prev : Transactional, next : any, options : TransactionOptions ) : any {\r\n // If an object already exists, and new value is of incompatible type, let object handle the update.\r\n if( prev && next != null && !( next instanceof this.type ) ){\r\n return next;\r\n }\r\n }\r\n\r\n convert( next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) : Transactional {\r\n if( next == null || next instanceof this.type ) return next;\r\n\r\n // Convert type using implicitly created transactional object.\r\n const implicitObject = new ( this.type as any )( next, options, shareAndListen );\r\n\r\n // To prevent a leak, we need to take an ownership on it.\r\n aquire( record, implicitObject, this.name );\r\n\r\n return implicitObject;\r\n }\r\n\r\n // Refs are always valid.\r\n validate( model, value, name ){}\r\n\r\n // They are always created as null.\r\n create() : Transactional {\r\n return null;\r\n }\r\n\r\n // Listening to the change events\r\n _handleChange( next : Transactional, prev : Transactional, record : AttributesContainer, options ){\r\n if( prev ){\r\n // If there was an implicitly created object, remove an ownership.\r\n if( prev._owner === record ){\r\n free( record, prev );\r\n options.unset || prev.dispose();\r\n }\r\n else{\r\n off( prev, prev._changeEventName, this._onChange, record );\r\n }\r\n } \r\n \r\n if( next ){\r\n // No need to take an ownership for an implicit object - already done in convert or clone.\r\n if( next._owner !== record ){\r\n on( next, next._changeEventName, this._onChange, record );\r\n }\r\n } \r\n }\r\n\r\n dispose( record : AttributesContainer, value : Transactional ){\r\n if( value ){\r\n this.handleChange( void 0, value, record, {} );\r\n }\r\n }\r\n\r\n _onChange : ( child : Transactional, options : TransactionOptions, initiator : Transactional ) => void \r\n\r\n initialize( options ){\r\n // Create change event handler which knows current attribute name. \r\n const attribute = this;\r\n this._onChange = this.propagateChanges ? function( child, options, initiator ){\r\n this === initiator || this.forceAttributeChange( attribute.name, options );\r\n } : ignore;\r\n\r\n options.changeHandlers.unshift( this._handleChange );\r\n }\r\n}\r\n\r\nfunction ignore(){}","import { PrimitiveType, NumericType, ObjectType, ImmutableClassType, FunctionType, ArrayType } from './basic';\r\nimport { DateType } from './date';\r\nimport { AnyType, AttributeOptions } from './any';\r\n\r\nexport * from './any';\r\nexport * from './basic';\r\nexport * from './date';\r\nexport * from './owned';\r\nexport * from './shared';\r\n\r\n/**\r\n * Every record attribute type has the corresponding metatype controlling its behavior.\r\n * For built-in types, Type-R uses the predefined list to resolve metatype in order to avoid global objects modifications.\r\n * For user-defined types, static `_metatype` constructor member is used.\r\n */\r\n\r\nconst builtins : Function[] = [ String, Number, Boolean, Date, Object, Array, Function ],\r\n metatypes = [ PrimitiveType, NumericType, PrimitiveType, DateType, ObjectType, ArrayType, FunctionType ];\r\n\r\nexport function getMetatype( Ctor : Function ){\r\n return ( Ctor as any )._metatype || resolveBuiltins( Ctor );\r\n}\r\n\r\nAnyType.create = ( options : AttributeOptions, name : string ) => {\r\n const type = options.type,\r\n AttributeCtor = options._metatype || ( type ? getMetatype( type ): AnyType );\r\n\r\n return new AttributeCtor( name, options );\r\n}\r\n\r\nfunction resolveBuiltins( Ctor : Function ){\r\n const idx = builtins.indexOf( Ctor );\r\n return idx < 0 ? ImmutableClassType : metatypes[ idx ];\r\n}","/**\r\n * Type spec engine. Declare attributes using chainable syntax,\r\n * and returns object with spec.\r\n */\r\nimport { Linked } from '@linked/value';\r\nimport { definitionDecorator, EventMap, EventsDefinition, tools } from '@type-r/mixture';\r\nimport { Collection } from '../collection';\r\nimport { IOEndpoint } from '../io-tools';\r\nimport { Transactional } from '../transactions';\r\nimport { AttributeOptions, AttributeToJSON, getMetatype, Parse, SharedType } from './metatypes';\r\nimport { Model } from './model';\r\nimport { ModelAttributes } from './define'\r\nimport { AttributesContainer } from './updates';\r\n\r\nconst { assign } = tools;\r\n\r\nexport interface AttributeCheck {\r\n ( value : any, key : string ) : boolean\r\n error? : any\r\n}\r\n\r\n\r\n// Infer the proper TS type from a Type-R attribute spec.\r\nexport type Infer =\r\n A extends Function ? TrueReturnType :\r\n A extends ChainableAttributeSpec ? TrueReturnType :\r\n A extends Array ? (\r\n T extends new (...args : any[]) => infer M ? (\r\n M extends Model ? Collection : never\r\n ) :\r\n T extends object ? Collection> :\r\n T[]\r\n ) :\r\n A extends object ? Model & ModelAttributes :\r\n A | null;\r\n\r\n// Extract the proper TS return type for a function or constructor.\r\ntype TrueReturnType =\r\n F extends DateConstructor ? Date | null :\r\n F extends typeof Linked ? Linked :\r\n F extends ( ...args : any[] ) => infer R ? R | null :\r\n F extends new ( ...args : any[] ) => infer R ? R | null:\r\n void;\r\n\r\nexport class ChainableAttributeSpec{\r\n options : AttributeOptions & { type? : F };\r\n\r\n constructor( options : AttributeOptions ) {\r\n // Shallow copy options, fill it with defaults.\r\n this.options = { getHooks : [], transforms : [], changeHandlers : []};\r\n if( options ) assign( this.options, options );\r\n }\r\n\r\n check( check : AttributeCheck, error? : any ) : this {\r\n function validate( model, value, name ){\r\n if( !check.call( model, value, name ) ){\r\n const msg = error || check.error || name + ' is not valid';\r\n return typeof msg === 'function' ? msg.call( model, name ) : msg;\r\n }\r\n }\r\n\r\n const prev = this.options.validate;\r\n\r\n return this.metadata({\r\n validate : prev ? (\r\n function( model, value, name ){\r\n return prev( model, value, name ) || validate( model, value, name );\r\n }\r\n ) : validate\r\n });\r\n }\r\n\r\n get as() : PropertyDecorator {\r\n return definitionDecorator( 'attributes', this );\r\n }\r\n\r\n get isRequired() : this {\r\n return this.required;\r\n }\r\n\r\n get required() : this {\r\n return this.metadata({ isRequired : true }); \r\n }\r\n\r\n endpoint( endpoint : IOEndpoint ) : this {\r\n return this.metadata({ endpoint });\r\n }\r\n\r\n watcher( ref : string | ( ( value : any, key : string ) => void ) ) : this {\r\n return this.metadata({ _onChange : ref });\r\n }\r\n\r\n // Attribute-specific parse transform\r\n parse( fun : Parse ) : this {\r\n return this.metadata({ parse : fun });\r\n }\r\n\r\n toJSON( fun : AttributeToJSON | false ) : this {\r\n return this.metadata({\r\n toJSON : typeof fun === 'function' ? fun : ( fun ? ( x, k, o ) => x && x.toJSON( o ) : emptyFunction ) \r\n });\r\n }\r\n\r\n get dontSave(){\r\n return this.toJSON( false );\r\n }\r\n\r\n get null(){\r\n return this.value( null );\r\n }\r\n\r\n // Attribute get hook.\r\n get( fun ) : this {\r\n return this.metadata({\r\n getHooks : this.options.getHooks.concat( fun )\r\n });\r\n }\r\n\r\n // Attribute set hook.\r\n set( fun ) : this {\r\n function handleSetHook( next, prev, record : AttributesContainer, options ) {\r\n if( this.isChanged( next, prev ) ) {\r\n const changed = fun.call( record, next, this.name );\r\n return changed === void 0 ? prev : this.convert( changed, prev, record, options );\r\n }\r\n\r\n return prev;\r\n }\r\n\r\n return this.metadata({\r\n transforms : this.options.transforms.concat( handleSetHook )\r\n });\r\n }\r\n\r\n changeEvents( events : boolean ) : this {\r\n return this.metadata({ changeEvents : events });\r\n }\r\n\r\n // Subsribe to events from an attribute.\r\n events( map : EventsDefinition ) : this {\r\n const eventMap = new EventMap( map );\r\n\r\n function handleEventsSubscribtion( next, prev, record : AttributesContainer ){\r\n prev && prev.trigger && eventMap.unsubscribe( record, prev );\r\n\r\n next && next.trigger && eventMap.subscribe( record, next );\r\n }\r\n\r\n return this.metadata({\r\n changeHandlers : this.options.changeHandlers.concat( handleEventsSubscribtion )\r\n });\r\n }\r\n\r\n // Creates a copy of the spec.\r\n get has() : this {\r\n return this;\r\n }\r\n\r\n metadata( options : object ) : this {\r\n const cloned = new ChainableAttributeSpec( this.options );\r\n assign( cloned.options, options );\r\n return cloned as any;\r\n }\r\n\r\n value( x ) : this {\r\n return this.metadata({ value : x, hasCustomDefault : true });\r\n }\r\n\r\n static from( spec : any ) : ChainableAttributeSpec {\r\n return null; // dependency injection, see the top level index.ts\r\n }\r\n}\r\n\r\nfunction emptyFunction(){}\r\n\r\nexport function type( this : void, Type : ChainableAttributeSpec | F, value? : any ) : ChainableAttributeSpec {\r\n if( Type instanceof ChainableAttributeSpec ) return Type;\r\n\r\n const attrDef = new ChainableAttributeSpec({ type : Type }),\r\n defaultValue = Type && value === void 0 ? getMetatype( Type ).defaultValue : value;\r\n\r\n return defaultValue === void 0 ? attrDef : attrDef.value( defaultValue );\r\n}\r\n\r\nexport function shared( this : void, Constructor : C ) : ChainableAttributeSpec {\r\n return new ChainableAttributeSpec({\r\n value : null,\r\n type : Constructor,\r\n _metatype : SharedType\r\n });\r\n}\r\n\r\nexport { shared as refTo };\r\n\r\n// Create attribute metatype inferring the type from the value.\r\nexport function value( this : void, x : T ) : ChainableAttributeSpec T> {\r\n const Type = inferType( x ),\r\n // Transactional types inferred from values must have shared type. \r\n AttrDef = Type && Type.prototype instanceof Transactional ? shared( Type ) :\r\n type( Type );\r\n\r\n return AttrDef.value( x ) as any;\r\n}\r\n\r\n/*\r\nexport declare type InferConstructor = \r\n T extends number ? NumberConstructor :\r\n T extends string ? StringConstructor :\r\n T extends boolean ? BooleanConstructor :\r\n T extends Date ? DateConstructor :\r\n T extends Transactional ? new ( ...args : any[] ) => */\r\n\r\nfunction inferType( value : any ) : Function {\r\n switch( typeof value ) {\r\n case 'number' :\r\n return Number;\r\n case 'string' :\r\n return String;\r\n case 'boolean' :\r\n return Boolean;\r\n case 'function' :\r\n return Function;\r\n case 'undefined' :\r\n return void 0;\r\n case 'object' :\r\n return value ? value.constructor : void 0;\r\n }\r\n}","import { GenericComparator } from '../collection';\r\nimport { IOEndpoint } from '../io-tools';\r\nimport { Infer } from './attrDef';\r\nimport { LinkedModelHash } from './linked-attrs';\r\nimport { MakeModelConstructor, Model } from './model';\r\n\r\nexport const collection = Symbol(\"Methods definitions\");\r\nexport const metadata = Symbol(\"Methods definitions\");\r\n\r\n// TODO: getters and setters can go to the attributes object.\r\n// Methods can be added though the class.\r\n\r\nexport interface AnonimousModelDefinition {\r\n [metadata]? : {\r\n idAttribute? : string\r\n endpoint? : IOEndpoint\r\n }\r\n\r\n [collection]? : {\r\n itemEvents? : { [ event : string ] : true | string | (( ...args : any[] ) => void ) }\r\n comparator? : GenericComparator\r\n \r\n initialize?( models? : any[], options? : object ) : void\r\n parse?( json : any ) : object[]\r\n toJSON?( options? : any ) : any\r\n validate?() : any\r\n }\r\n\r\n [attribute : string] : any\r\n}\r\n\r\nexport function parseAnonimousModelDefinition({ [metadata] : md, [collection] : coll, ...attributes } : AnonimousModelDefinition){\r\n return {\r\n attributes,\r\n collection : coll,\r\n ...md\r\n }\r\n}\r\n\r\nexport type AnonymousAttributes =\r\n AnonymousModelConstructor\r\n\r\nexport type AnonymousModelConstructor =\r\n MakeModelConstructor<\r\n Model & ModelAttributes,\r\n A\r\n >\r\n\r\nexport type ModelAttributes =\r\n InferAttrs & {\r\n readonly $ : LinkedModelHash>\r\n }\r\n\r\nexport type MergeModelConstructors =\r\n MakeModelConstructor<\r\n InstanceType & InstanceType,\r\n First['attributes'] & Second['attributes']\r\n >\r\n\r\nexport type InferAttrs = {\r\n [K in Exclude]: Infer\r\n};","import { Model } from './model'\r\nimport { Linked } from '@linked/value'\r\nimport { Transactional } from '../transactions';\r\n\r\nexport function addAttributeLinks( Class : typeof Model ){\r\n const { prototype } = Class;\r\n const { _attributesArray } = prototype;\r\n\r\n const AttributeRefs = new Function('model', `\r\n this._model = model;\r\n ${ _attributesArray.map( ({ name }) => `this.$${name} = void 0; `).join( '\\n' )}\r\n `)\r\n\r\n AttributeRefs.prototype.__ModelAttrRef = LinkedAttr;\r\n\r\n for( let attr of _attributesArray ){\r\n const { name } = attr;\r\n \r\n Object.defineProperty( AttributeRefs.prototype, name, {\r\n get : new Function( attr.isMutableType() ? `\r\n var cached = this.$${name},\r\n value = this._model.${name},\r\n token = value && value._changeToken;\r\n\r\n return cached && cached._token === token ? cached :\r\n ( this.$${name} = new this.__ModelAttrRef( this._model, '${name}', value, token ) );\r\n ` : `\r\n var cached = this.$${name};\r\n\r\n return cached && cached.value === this._model.${name} ? cached :\r\n ( this.$${name} = new this.__ModelAttrRef( this._model, '${name}', this._model.${name} ) );\r\n `) as any\r\n });\r\n }\r\n\r\n prototype.__Attributes$ = AttributeRefs as any;\r\n}\r\n\r\nexport type LinkedModelHash= {\r\n readonly [ K in keyof T ] : LinkedAttr\r\n}\r\n\r\nexport class LinkedAttr extends Linked {\r\n constructor( protected model : Model, protected attr : string, value, protected _token ){\r\n super( value );\r\n }\r\n\r\n set( x : T ){\r\n this.model[ this.attr ] = x;\r\n }\r\n\r\n _error : any\r\n\r\n get error(){\r\n return this._error || ( this._error = this.model.getValidationError( this.attr ) );\r\n }\r\n\r\n set error( x : any ){\r\n this._error = x;\r\n }\r\n\r\n // Attribute's descriptor.\r\n get descriptor(){\r\n return this.model._attributes[ this.attr ];\r\n }\r\n}\r\n\r\nObject.defineProperty( LinkedAttr.prototype, '_changeToken', { value : null } );","import { IOEndpoint } from '../io-tools';\r\nimport { eventsApi, tools as _ } from '@type-r/mixture';\r\nimport { CompiledReference } from '../traversable';\r\nimport { ChainableAttributeSpec } from './attrDef';\r\nimport { AnyType } from './metatypes';\r\nimport { ConstructorsMixin, constructorsMixin } from './updates';\r\n\r\nexport interface ModelAttributesMixin extends ConstructorsMixin {\r\n // Attributes descriptors\r\n _attributes : AttributeDescriptors\r\n _attributesArray : AnyType[]\r\n \r\n // Attribute's property descriptors\r\n properties : PropertyDescriptorMap\r\n\r\n // Event map for record's local events.\r\n _localEvents? : eventsApi.EventMap,\r\n\r\n _endpoints : { [ name : string ] : IOEndpoint }\r\n}\r\n\r\nexport interface AttributeDescriptors {\r\n [ name : string ] : AnyType\r\n}\r\n\r\n// Create attribute from the type spec.\r\nexport function createAttribute( spec : any, name : string ) : AnyType {\r\n return AnyType.create( ChainableAttributeSpec.from( spec ).options, name );\r\n}\r\n\r\n// Create record mixin from the given record's attributes definition\r\nexport function createAttributesMixin( attributesDefinition : object, baseClassAttributes : AttributeDescriptors ) : ModelAttributesMixin {\r\n const myAttributes = _.transform( {} as AttributeDescriptors, attributesDefinition, createAttribute ),\r\n allAttributes = _.defaults( {} as AttributeDescriptors, myAttributes, baseClassAttributes );\r\n\r\n const ConstructorsMixin = constructorsMixin( allAttributes );\r\n\r\n return {\r\n ...ConstructorsMixin,\r\n _attributes : new ConstructorsMixin.AttributesCopy( allAttributes ),\r\n _attributesArray : Object.keys( allAttributes ).map( key => allAttributes[ key ] ),\r\n properties : _.transform( {}, myAttributes, x => x.createPropertyDescriptor() ),\r\n ...localEventsMixin( myAttributes ),\r\n _endpoints : _.transform( {}, allAttributes, attrDef => attrDef.options.endpoint )\r\n } \r\n}\r\n\r\ninterface LocalEventsMixin {\r\n _localEvents? : eventsApi.EventMap\r\n}\r\n\r\nfunction localEventsMixin( attrSpecs : AttributeDescriptors ) : LocalEventsMixin {\r\n let _localEvents : eventsApi.EventMap;\r\n\r\n for( var key in attrSpecs ){\r\n const attribute = attrSpecs[ key ],\r\n { _onChange } = attribute.options; \r\n\r\n if( _onChange ){\r\n _localEvents || ( _localEvents = new eventsApi.EventMap() );\r\n\r\n _localEvents.addEvent( 'change:' + key,\r\n typeof _onChange === 'string' ?\r\n createWatcherFromRef( _onChange, key ) : \r\n wrapWatcher( _onChange, key ) );\r\n }\r\n }\r\n\r\n return _localEvents ? { _localEvents } : {};\r\n}\r\n\r\nfunction wrapWatcher( watcher, key ){\r\n return function( record, value ){\r\n watcher.call( record, value, key );\r\n } \r\n}\r\n\r\nfunction createWatcherFromRef( ref : string, key : string ){\r\n const { local, resolve, tail } = new CompiledReference( ref, true );\r\n return local ?\r\n function( record, value ){\r\n record[ tail ]( value, key );\r\n } :\r\n function( record, value ){\r\n resolve( record )[ tail ]( value, key );\r\n }\r\n}","import { IOEndpoint, IONode, IOOptions, IOPromise, startIO } from '../io-tools';\r\nimport { TransactionOptions } from '../transactions';\r\n\r\nexport interface IOModel extends IONode {\r\n getEndpoint() : IOEndpoint\r\n save( options? : object ) : IOPromise\r\n fetch( options? : object ) : IOPromise\r\n destroy( options? : object ) : IOPromise\r\n toJSON( options? : object ) : any\r\n parse( data : any, options? : object ) : any\r\n isNew() : boolean\r\n id : string | number\r\n set( json : object, options : TransactionOptions ) : this\r\n}\r\n\r\nexport const IOModelMixin = {\r\n save( this : IOModel, options : IOOptions = {} ){\r\n const endpoint = this.getEndpoint(),\r\n json = this.toJSON({ ioMethod : 'save', ...options });\r\n\r\n return startIO(\r\n this,\r\n this.isNew() ?\r\n endpoint.create( json, options, this ) :\r\n endpoint.update( this.id, json, options, this ),\r\n options,\r\n\r\n update => {\r\n this.set( update, {\r\n parse : true,\r\n ioMethod : 'save',\r\n ...options\r\n } );\r\n }\r\n );\r\n },\r\n\r\n fetch( options : IOOptions = {} ){\r\n return startIO(\r\n this,\r\n this.getEndpoint().read( this.id, options, this ),\r\n options,\r\n\r\n json => this.set( json, { parse : true, ioMethod : 'fetch', ...options } )\r\n );\r\n },\r\n\r\n destroy( options : IOOptions = {} ){ \r\n return startIO(\r\n this,\r\n this.getEndpoint().destroy( this.id, options, this ),\r\n options,\r\n\r\n () => {\r\n const { collection } = this;\r\n if( collection ){\r\n collection.remove( this, options );\r\n }\r\n else{\r\n this.dispose();\r\n }\r\n\r\n return this;\r\n }\r\n )\r\n }\r\n}","/**\r\n * Model core implementing transactional updates.\r\n * The root of all definitions. \r\n */\r\n\r\nimport { define, definitions, isProduction, Logger, TheType, logger, LogLevel, mixinRules, tools } from '@type-r/mixture';\r\nimport { CollectionConstructor } from '../collection';\r\nimport { IOEndpoint } from '../io-tools';\r\nimport { CloneOptions, Owner, Transaction, Transactional, TransactionalDefinition, TransactionOptions } from '../transactions';\r\nimport { ChildrenErrors } from '../validation';\r\nimport { type } from './attrDef';\r\nimport { InferAttrs, ModelAttributes, AnonymousModelConstructor } from './define';\r\nimport { IOModel, IOModelMixin } from './io-mixin';\r\nimport { LinkedModelHash } from './linked-attrs';\r\nimport { AggregatedType, AnyType } from './metatypes';\r\nimport { AttributesConstructor, AttributesContainer, AttributesCopyConstructor, AttributesValues, setAttribute, shouldBeAnObject, unknownAttrsWarning, UpdateModelMixin } from './updates';\r\n\r\nexport interface MakeModelConstructor extends TheType\r\n{\r\n new ( attrs? : Partial>, options? : object ) : T\r\n prototype : T\r\n attributes : A\r\n Collection : CollectionConstructor\r\n}\r\n\r\nconst { assign, isEmpty } = tools;\r\n\r\n/*******************************************************\r\n * Model core implementation\r\n */\r\n\r\nexport interface ConstructorOptions extends TransactionOptions{\r\n clone? : boolean\r\n}\r\n\r\n// Client unique id counter\r\nlet _cidCounter : number = 0;\r\n\r\n/***************************************************************\r\n * Model Definition as accepted by Model.define( definition )\r\n */\r\nexport interface ModelDefinition extends TransactionalDefinition {\r\n idAttribute? : string\r\n attributes? : AttributesValues\r\n collection? : object\r\n Collection? : typeof Transactional\r\n}\r\n\r\nexport type LinkedAttributes = LinkedModelHash>\r\nexport type AttributesMixin = ModelAttributes\r\n\r\n@define({\r\n // Default client id prefix \r\n cidPrefix : 'm',\r\n\r\n // Name of the change event\r\n _changeEventName : 'change',\r\n\r\n // Default id attribute name\r\n idAttribute : 'id'\r\n})\r\n@definitions({\r\n defaults : mixinRules.merge,\r\n attributes : mixinRules.merge,\r\n collection : mixinRules.merge,\r\n Collection : mixinRules.value,\r\n idAttribute : mixinRules.protoValue\r\n})\r\nexport class Model extends Transactional implements IOModel, AttributesContainer, Iterable {\r\n /** @internal */\r\n static _metatype = AggregatedType;\r\n\r\n // Hack\r\n static onDefine( definition, BaseClass ){}\r\n\r\n static comparator( this : T, attr : keyof InstanceType, asc = true ) : ( a : InstanceType, b : InstanceType ) => -1 | 0 | 1 {\r\n const { compare } = tools;\r\n return asc ? \r\n ( a, b ) => compare( a[ attr ], b[ attr ] ) :\r\n ( a, b ) => -compare( a[ attr ], b[ attr ] ) as any;\r\n }\r\n\r\n static Collection : CollectionConstructor;\r\n static DefaultCollection : CollectionConstructor;\r\n \r\n // Attribute type for the record id.\r\n static id = type( String ).value( null );\r\n \r\n // Lazy object reference, serializable as id.\r\n static get ref(){\r\n return type( this )\r\n .toJSON( x => x ? x.id : null )\r\n .parse( x => {\r\n return { [ this.prototype.idAttribute ] : x };\r\n });\r\n }\r\n\r\n static extendAttrs( this : T, attrs : A ) : AnonymousModelConstructor {\r\n return this.defaults( attrs ) as any;\r\n }\r\n\r\n static defaults( attrs : AttributesValues ) : typeof Model {\r\n return this.extend({ attributes : attrs }) as any;\r\n }\r\n \r\n static attributes : AttributesValues\r\n\r\n /** @internal */\r\n _attributes$ : object = void 0\r\n\r\n /** @internal */\r\n __Attributes$ : new ( model : Model ) => object\r\n\r\n /** @internal */\r\n get $() : object {\r\n return this._attributes$ || ( this._attributes$ = new this.__Attributes$( this ) )\r\n }\r\n\r\n /********************\r\n * IO Methods\r\n */\r\n /** @internal */\r\n _endpoints : { [ name : string ] : IOEndpoint }\r\n\r\n /***********************************\r\n * Core Members\r\n */\r\n previousAttributes(){ return new this.AttributesCopy( this._previousAttributes ); } \r\n\r\n // Polymorphic accessor for aggregated attribute's canBeUpdated().\r\n /** @internal */\r\n get __inner_state__(){ return this.attributes; }\r\n\r\n get changed(){\r\n let changed = this._changedAttributes;\r\n\r\n if( !changed ){\r\n const prev = this._previousAttributes;\r\n changed = {};\r\n\r\n const { attributes } = this;\r\n\r\n for( let attr of this._attributesArray ){\r\n const key = attr.name,\r\n value = attributes[ key ];\r\n\r\n if( attr.isChanged( value, prev[ key ] ) ){\r\n changed[ key ] = value;\r\n }\r\n }\r\n\r\n this._changedAttributes = changed;\r\n }\r\n\r\n return changed; \r\n }\r\n\r\n changedAttributes( diff? : {} ) : boolean | {} {\r\n if( !diff ) return this.hasChanged() ? { ...this.changed } : false;\r\n\r\n var val, changed : {} | boolean = false,\r\n old = this._transaction ? this._previousAttributes : this.attributes,\r\n attrSpecs = this._attributes;\r\n\r\n for( var attr in diff ){\r\n if( !attrSpecs[ attr ].isChanged( old[ attr ], ( val = diff[ attr ] ) ) ) continue;\r\n (changed || (changed = {}))[ attr ] = val;\r\n }\r\n\r\n return changed; \r\n }\r\n\r\n hasChanged( key? : string ) : boolean {\r\n const { _previousAttributes } = this;\r\n if( !_previousAttributes ) return false;\r\n\r\n return key ?\r\n this._attributes[ key ].isChanged( this.attributes[ key ], _previousAttributes[ key ] ) :\r\n !isEmpty( this.changed );\r\n }\r\n\r\n previous( key : string ) : any {\r\n if( key ){\r\n const { _previousAttributes } = this;\r\n if( _previousAttributes ) return _previousAttributes[ key ];\r\n }\r\n \r\n return null;\r\n }\r\n\r\n isNew() : boolean {\r\n return this.id == null;\r\n }\r\n\r\n has( key : string ) : boolean {\r\n return this[ key ] != void 0;\r\n }\r\n\r\n // Return attribute value, setting an attribute to undefined.\r\n // TODO: If attribute was aggregated, don't dispose it.\r\n unset( key : string, options? ) : any {\r\n const value = this[ key ];\r\n this.set({ [ key ] : void 0 }, { unset : true, ...options });\r\n return value;\r\n }\r\n\r\n // Undocumented. Move to NestedTypes?\r\n clear( options? ) : this {\r\n const nullify = options && options.nullify;\r\n\r\n this.transaction( () =>{\r\n this.forEach( ( value, key ) => this[ key ] = nullify ? null : void 0 );\r\n }, options );\r\n\r\n return this;\r\n }\r\n\r\n // Returns Model owner skipping collections. TODO: Move out\r\n getOwner() : Owner {\r\n const owner : any = this._owner;\r\n\r\n // If there are no key, owner must be transactional object, and it's the collection.\r\n // We don't expect that collection can be the member of collection, so we're skipping just one level up. An optimization.\r\n return this._ownerKey ? owner : owner && owner._owner;\r\n }\r\n\r\n /***********************************\r\n * Identity managements\r\n */\r\n\r\n // Id attribute name ('id' by default)\r\n idAttribute : string;\r\n\r\n // Fixed 'id' property pointing to id attribute\r\n get id() : string { return this.attributes[ this.idAttribute ]; }\r\n set id( x : string ){ setAttribute( this, this.idAttribute, x ); }\r\n\r\n /***********************************\r\n * Dynamically compiled stuff\r\n */\r\n\r\n // Attributes specifications\r\n /** @internal */\r\n _attributes : { [ key : string ] : AnyType }\r\n\r\n /** @internal */\r\n _attributesArray : AnyType[]\r\n\r\n // Attributes object copy constructor\r\n Attributes : AttributesConstructor\r\n AttributesCopy : AttributesCopyConstructor\r\n\r\n // Create record default values, optionally augmenting given values.\r\n defaults( values = {} ){\r\n const defaults = {},\r\n { _attributesArray } = this;\r\n\r\n for( let attr of _attributesArray ){\r\n const key = attr.name,\r\n value = values[ key ];\r\n\r\n defaults[ key ] = value === void 0 ? attr.defaultValue() : value;\r\n }\r\n\r\n return defaults;\r\n }\r\n\r\n /***************************************************\r\n * Model construction\r\n */\r\n // Create record, optionally setting an owner\r\n constructor( a_values? : any, a_options? : ConstructorOptions ){\r\n super( _cidCounter++ );\r\n this.attributes = {};\r\n \r\n const options = a_options || {},\r\n values = ( options.parse ? this.parse( a_values, options ) : a_values ) || {};\r\n\r\n isProduction || typeCheck( this, values, options );\r\n\r\n this._previousAttributes = this.attributes = new this.Attributes( this, values, options );\r\n\r\n this.initialize( a_values, a_options );\r\n\r\n if( this._localEvents ) this._localEvents.subscribe( this, this );\r\n }\r\n\r\n // Initialization callback, to be overriden by the subclasses \r\n initialize( values? : Partial, options? ){}\r\n\r\n // Deeply clone record, optionally setting new owner.\r\n clone( options : CloneOptions = {} ) : this {\r\n const copy : this = new (this.constructor)( this.attributes, { clone : true } );\r\n \r\n if( options.pinStore ) copy._defaultStore = this.getStore();\r\n\r\n return copy;\r\n }\r\n\r\n /** @internal */\r\n _validateNested( errors : ChildrenErrors ) : number {\r\n var length = 0;\r\n\r\n const { attributes } = this;\r\n\r\n for( let attribute of this._attributesArray ){\r\n const { name } = attribute,\r\n error = attribute.validate( this, attributes[ name ], name );\r\n\r\n if( error ){\r\n errors[ name ] = error;\r\n length++;\r\n }\r\n }\r\n\r\n return length;\r\n }\r\n\r\n // Get attribute by key\r\n get( key : string ) : any {\r\n return this[ key ];\r\n }\r\n\r\n // Apply bulk in-place object update in scope of ad-hoc transaction \r\n set( values : any, options? : TransactionOptions ) : this {\r\n if( values ){ \r\n const transaction = this._createTransaction( values, options );\r\n transaction && transaction.commit();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Serialization control\r\n */\r\n\r\n // Default record-level serializer, to be overriden by subclasses \r\n toJSON( options? : TransactionOptions ) : any {\r\n const json = {},\r\n { attributes } = this;\r\n\r\n for( let attribute of this._attributesArray ){\r\n const { name } = attribute,\r\n value = attributes[ name ];\r\n\r\n if( value !== void 0 ){\r\n // ...serialize it according to its spec.\r\n const asJson = attribute.toJSON.call( this, value, name, options );\r\n\r\n // ...skipping undefined values. Such an attributes are excluded.\r\n if( asJson !== void 0 ) json[ name ] = asJson; \r\n }\r\n }\r\n\r\n return json;\r\n }\r\n \r\n // Default record-level parser, to be overriden by the subclasses.\r\n parse( data, options? : TransactionOptions ){\r\n return data;\r\n }\r\n\r\n /**\r\n * Transactional control\r\n */\r\n deepSet( name : string, value : any, options? : any ){\r\n // Operation might involve series of nested object updates, thus it's wrapped in transaction.\r\n this.transaction( () => {\r\n const path = name.split( '.' ),\r\n l = path.length - 1,\r\n attr = path[ l ];\r\n\r\n let model = this;\r\n\r\n // Locate the model, traversing the path.\r\n for( let i = 0; i < l; i++ ){\r\n const key = path[ i ];\r\n\r\n // There might be collections in path, so use `get`.\r\n let next = model.get ? model.get( key ) : model[ key ];\r\n\r\n // Create models, if they are not exist.\r\n if( !next ){\r\n const attrSpecs = model._attributes;\r\n if( attrSpecs ){\r\n // If current object is model, create default attribute\r\n var newModel = attrSpecs[ key ].create();\r\n\r\n // If created object is model, nullify attributes when requested\r\n if( options && options.nullify && newModel._attributes ){\r\n newModel.clear( options );\r\n }\r\n\r\n model[ key ] = next = newModel;\r\n }\r\n // Silently fail in other case.\r\n else return;\r\n }\r\n \r\n model = next;\r\n }\r\n\r\n // Set model attribute.\r\n if( model.set ){\r\n model.set({ [ attr ] : value }, options );\r\n }\r\n else{\r\n model[ attr ] = value;\r\n }\r\n });\r\n\r\n return this\r\n }\r\n \r\n // Returns owner without the key (usually it's collection)\r\n get collection() : any {\r\n return this._ownerKey ? null : this._owner;\r\n }\r\n\r\n // Dispose object and all childrens\r\n dispose(){\r\n if( this._disposed ) return;\r\n\r\n const { attributes } = this;\r\n\r\n for( let attr of this._attributesArray ){\r\n attr.dispose( this, attributes[ attr.name ] );\r\n }\r\n \r\n super.dispose();\r\n }\r\n\r\n /** @internal */\r\n _log( level : LogLevel, topic: string, text : string, props : object, a_logger? : Logger ) : void {\r\n ( a_logger || logger ).trigger( level, topic, this.getClassName() + ' ' + text, {\r\n ...props,\r\n 'Model' : this,\r\n 'Attributes definition' : this._attributes\r\n });\r\n }\r\n\r\n getClassName() : string {\r\n return super.getClassName() || 'Model';\r\n }\r\n\r\n /** @internal */\r\n _createTransaction( values : object, options : TransactionOptions ) : Transaction { return void 0; }\r\n // Simulate attribute change \r\n forceAttributeChange : ( key : string, options : TransactionOptions ) => void\r\n\r\n /** @internal */\r\n _onChildrenChange : ( child : Transactional, options : TransactionOptions ) => void\r\n\r\n\r\n /**\r\n * Map methods\r\n */\r\n\r\n forEach( iteratee : ( value? : any, key? : string ) => void, context? : any ){\r\n const fun = context !== void 0 ? ( v, k ) => iteratee.call( context, v, k ) : iteratee,\r\n { attributes } = this;\r\n\r\n for( const key in this.attributes ){\r\n const value = attributes[ key ];\r\n if( value !== void 0 ) fun( value, key );\r\n }\r\n }\r\n\r\n mapObject( a_fun : ( value, key ) => any, context? : any ) : object {\r\n const fun = context === void 0 ? a_fun : a_fun.bind( context );\r\n return tools.transform( {}, this.attributes, fun );\r\n }\r\n\r\n [ Symbol.iterator ](){\r\n return new ModelEntriesIterator( this );\r\n }\r\n\r\n entries(){\r\n return new ModelEntriesIterator( this );\r\n }\r\n\r\n // Get array of attribute keys (Model) or record ids (Collection) \r\n keys() : string[] {\r\n const keys : string[] = [];\r\n\r\n this.forEach( ( value, key ) => keys.push( key ) );\r\n\r\n return keys;\r\n }\r\n};\r\n\r\nexport interface Model extends IOModel {}\r\nexport interface Model extends AttributesContainer {}\r\n\r\n\r\nassign( Model.prototype, UpdateModelMixin, IOModelMixin );\r\n\r\n/***********************************************\r\n * Helper functions\r\n */\r\n\r\nclass BaseModelAttributes {\r\n id : string\r\n\r\n constructor( record : Model, x : AttributesValues, options : TransactionOptions ) {\r\n this.id = x.id;\r\n }\r\n}\r\n\r\nModel.prototype.Attributes = BaseModelAttributes;\r\n\r\nclass BaseModelAttributesCopy {\r\n id : string\r\n\r\n constructor( x : AttributesValues ) {\r\n this.id = x.id;\r\n }\r\n}\r\n\r\nModel.prototype.AttributesCopy = BaseModelAttributesCopy;\r\n\r\nconst IdAttribute = AnyType.create({ value : void 0 }, 'id' );\r\nModel.prototype._attributes = { id : IdAttribute };\r\nModel.prototype._attributesArray = [ IdAttribute ];\r\n\r\nfunction typeCheck( record : Model, values : object, options ){\r\n if( shouldBeAnObject( record, values, options ) ){\r\n const { _attributes } = record;\r\n let unknown : string[];\r\n\r\n for( let name in values ){\r\n if( !_attributes[ name ] ){\r\n unknown || ( unknown = [] );\r\n unknown.push( `'${ name }'` );\r\n }\r\n }\r\n\r\n if( unknown ){\r\n unknownAttrsWarning( record, unknown, { values }, options );\r\n }\r\n }\r\n}\r\n\r\nexport class ModelEntriesIterator implements Iterator<[string, any]> {\r\n private idx = 0;\r\n \r\n constructor( private readonly record : Model){}\r\n\r\n next() : IteratorResult<[string, any]> {\r\n const { record } = this,\r\n metatype = record._attributesArray[ this.idx++ ];\r\n\r\n return {\r\n done : !metatype,\r\n value : metatype ? [ metatype.name, record[ metatype.name ] ] : void 0\r\n };\r\n }\r\n}","import { define, mixins, predefine, tools } from '@type-r/mixture';\r\nimport { Transactional } from '../transactions';\r\nimport { type } from './attrDef';\r\nimport { AnonimousModelDefinition, AnonymousAttributes, MergeModelConstructors, parseAnonimousModelDefinition } from './define';\r\nimport { addAttributeLinks } from './linked-attrs';\r\nimport { createAttributesMixin } from './mixin';\r\nimport { Model, ModelDefinition } from './model';\r\nexport { collection, metadata, AnonymousModelConstructor, InferAttrs } from './define'\r\nexport * from './attrDef';\r\nexport * from './metatypes';\r\nexport { AttributesMixin, LinkedAttributes } from './model';\r\nexport { Model };\r\n\r\nconst { assign, defaults } = tools;\r\n\r\nexport function attributes( b1 : B1, b2 : B2, b3 : B3, attrDefs : D ) : MergeModelConstructors,B3>,AnonymousAttributes>\r\nexport function attributes( b1 : B1, b2 : B2, attrDefs : D ) : MergeModelConstructors,AnonymousAttributes>\r\nexport function attributes( b1 : B1, attrDefs : D ) : MergeModelConstructors>;\r\nexport function attributes( attrDefs : D ) : AnonymousAttributes;\r\nexport function attributes( ...models : any[] ){\r\n const last = parseAnonimousModelDefinition( models[ models.length - 1 ] ),\r\n First = models.length > 1 ? models[ 0 ] : null,\r\n toMix = models.length > 2 ? models.slice( 1, models.length - 1 ) : null;\r\n\r\n class AnonimousModel extends ( First || Model ){\r\n }\r\n\r\n toMix && mixins( toMix )(AnonimousModel);\r\n define( last )( AnonimousModel );\r\n\r\n return AnonimousModel as any;\r\n}\r\n\r\nModel.onExtend = function( this : typeof Model, BaseClass : typeof Model ){\r\n Transactional.onExtend.call( this, BaseClass );\r\n\r\n // Create the default collection\r\n const Class = this;\r\n\r\n @predefine class DefaultCollection extends BaseClass.Collection {\r\n static model = Class;\r\n }\r\n\r\n this.DefaultCollection = DefaultCollection;\r\n\r\n // If there are no collection defined in statics, use the default collection.\r\n // It will appear in onDefine's definition, overriding all other settings.\r\n if( Class.Collection === BaseClass.Collection ){\r\n this.Collection = DefaultCollection;\r\n }\r\n}\r\n\r\nModel.onDefine = function( definition : ModelDefinition, BaseClass : typeof Model ){\r\n const baseProto : Model = BaseClass.prototype;\r\n\r\n // Compile attributes spec, creating definition mixin.\r\n const { properties, _localEvents, ...dynamicMixin } = createAttributesMixin( this.attributes = getAttributes( definition ), baseProto._attributes );\r\n assign( this.prototype, dynamicMixin );\r\n \r\n definition.properties = defaults( definition.properties || {}, properties );\r\n definition._localEvents = _localEvents;\r\n \r\n Transactional.onDefine.call( this, definition, BaseClass );\r\n\r\n // Finalize the definition of the default collection.\r\n this.DefaultCollection.define( definition.collection || {} );\r\n\r\n // assign collection from the definition.\r\n this.Collection = definition.Collection;\r\n this.Collection.prototype.model = this;\r\n\r\n if( definition.endpoint ) this.Collection.prototype._endpoint = definition.endpoint;\r\n\r\n addAttributeLinks( this );\r\n}\r\n\r\nfunction getAttributes({ defaults, attributes, idAttribute } : ModelDefinition ) {\r\n const definition = attributes || defaults || {};\r\n \r\n // If there is an undeclared idAttribute, add its definition as untyped generic attribute.\r\n if( idAttribute && !( idAttribute in definition ) ){\r\n definition[ idAttribute ] = void 0;\r\n }\r\n\r\n return definition;\r\n}\r\n\r\ndeclare var Reflect;\r\n\r\nexport function auto( value : any ) : PropertyDecorator;\r\nexport function auto( proto : object, attrName : string ) : void;\r\nexport function auto( proto, attrName? : string ) : any {\r\n if( typeof Reflect !== 'undefined' && Reflect.getMetadata ){\r\n if( attrName ){\r\n type( Reflect.getMetadata( \"design:type\", proto, attrName ) ).as( proto, attrName );\r\n }\r\n else{\r\n const value = proto;\r\n return ( proto : object, attrName : string ) : void => {\r\n type( Reflect.getMetadata( \"design:type\", proto, attrName ) ).value( value ).as( proto, attrName );\r\n }\r\n } \r\n }\r\n else{\r\n proto._log( 'error', 'Type-R:MissingImport', 'Add import \"reflect-metadata\"; as the first line of your app.' );\r\n } \r\n}","import { eventsApi, Logger } from '@type-r/mixture';\r\nimport { Model } from '../model';\r\nimport { ItemsBehavior, Owner, Transaction, Transactional, transactionApi, TransactionOptions } from '../transactions';\r\n\r\n\r\nconst { trigger2, trigger3, on, off } = eventsApi,\r\n { commit } = transactionApi,\r\n _aquire = transactionApi.aquire, _free = transactionApi.free;\r\n\r\n/** @private */\r\nexport interface CollectionCore extends Transactional, Owner {\r\n /** @internal */\r\n _byId : IdIndex\r\n\r\n models : Model[]\r\n model : typeof Model\r\n idAttribute : string // TODO: Refactor inconsistent idAttribute usage\r\n \r\n /** @internal */\r\n _comparator : Comparator\r\n \r\n get( objOrId : string | Model | Object ) : Model \r\n \r\n /** @internal */\r\n _itemEvents? : eventsApi.EventMap\r\n /** @internal */\r\n _shared : number\r\n /** @internal */\r\n _aggregationError : Model[]\r\n /** @internal */\r\n _log( level : string, topic : string, text : string, value : any, logger : Logger ) : void\r\n}\r\n\r\n// Collection's manipulation methods elements\r\nexport type Elements = ( Object | Model )[];\r\n\r\nexport interface CollectionOptions extends TransactionOptions {\r\n sort? : boolean\r\n}\r\n\r\nexport type Comparator = ( a : Model, b : Model ) => number; \r\n\r\n/** @private */\r\nexport function dispose( collection : CollectionCore ) : Model[]{\r\n const { models } = collection;\r\n\r\n collection.models = [];\r\n collection._byId = {};\r\n\r\n freeAll( collection, models );\r\n return models;\r\n}\r\n\r\n/** @private */\r\nexport function convertAndAquire( collection : CollectionCore, attrs : {} | Model, options : CollectionOptions ){\r\n const { model } = collection;\r\n \r\n let record : Model;\r\n\r\n if( collection._shared ){\r\n record = attrs instanceof model ? attrs : model.create( attrs, options );\r\n\r\n if( collection._shared & ItemsBehavior.listen ){\r\n on( record, record._changeEventName, collection._onChildrenChange, collection );\r\n }\r\n }\r\n else{\r\n record = attrs instanceof model ? ( options.merge ? attrs.clone() : attrs ) : model.create( attrs, options );\r\n\r\n if( record._owner ){\r\n if( record._owner !== collection ){\r\n _aquire( collection, record.clone() );\r\n const errors = collection._aggregationError || ( collection._aggregationError = [] );\r\n errors.push( record );\r\n }\r\n }\r\n else{\r\n _aquire( collection, record ); \r\n }\r\n } \r\n\r\n // Subscribe for events...\r\n const { _itemEvents } = collection;\r\n _itemEvents && _itemEvents.subscribe( collection, record );\r\n\r\n return record;\r\n}\r\n\r\n/** @private */\r\nexport function free( owner : CollectionCore, child : Model, unset? : boolean ) : void {\r\n if( owner._shared ){\r\n if( owner._shared & ItemsBehavior.listen ){\r\n off( child, child._changeEventName, owner._onChildrenChange, owner );\r\n }\r\n }\r\n else{\r\n _free( owner, child );\r\n unset || child.dispose();\r\n }\r\n\r\n const { _itemEvents } = owner;\r\n _itemEvents && _itemEvents.unsubscribe( owner, child );\r\n}\r\n\r\n/** @private */\r\nexport function freeAll( collection : CollectionCore, children : Model[] ) : Model[] {\r\n for( let child of children ){\r\n free( collection, child );\r\n }\r\n\r\n return children;\r\n}\r\n\r\n/**\r\n * Silently sort collection, if its required. Returns true if sort happened.\r\n * @private\r\n */ \r\nexport function sortElements( collection : CollectionCore, options : CollectionOptions ) : boolean {\r\n let { _comparator } = collection;\r\n if( _comparator && options.sort !== false ){\r\n collection.models.sort( _comparator );\r\n return true;\r\n }\r\n\r\n return false;\r\n}\r\n\r\n/**********************************\r\n * Collection Index\r\n * @private \r\n */\r\nexport interface IdIndex {\r\n [ id : string ] : Model\r\n}\r\n\r\n/** @private Add record */ \r\nexport function addIndex( index : IdIndex, model : Model ) : void {\r\n index[ model.cid ] = model;\r\n var id = model.id;\r\n \r\n if( id || ( id as any ) === 0 ){\r\n index[ id ] = model;\r\n }\r\n}\r\n\r\n/** @private Remove record */ \r\nexport function removeIndex( index : IdIndex, model : Model ) : void {\r\n delete index[ model.cid ];\r\n var id = model.id;\r\n if( id || ( id as any ) === 0 ){\r\n delete index[ id ];\r\n }\r\n}\r\n\r\nexport function updateIndex( index : IdIndex, model : Model ){\r\n delete index[ model.previous( model.idAttribute ) ];\r\n\r\n const { id } = model;\r\n id == null || ( index[ id ] = model );\r\n}\r\n\r\n/***\r\n * In Collections, transactions appears only when\r\n * add remove or change events might be emitted.\r\n * reset doesn't require transaction.\r\n * \r\n * Transaction holds information regarding events, and knows how to emit them.\r\n * \r\n * Two major optimization cases.\r\n * 1) Population of an empty collection\r\n * 2) Update of the collection (no or little changes) - it's crucial to reject empty transactions.\r\n */\r\n\r\n\r\n// Transaction class. Implements two-phase transactions on object's tree.\r\n/** @private */ \r\nexport class CollectionTransaction implements Transaction {\r\n // open transaction\r\n constructor( public object : CollectionCore,\r\n public isRoot : boolean,\r\n public added : Model[],\r\n public removed : Model[],\r\n public nested : Transaction[],\r\n public sorted : boolean ){}\r\n\r\n // commit transaction\r\n commit( initiator? : Transactional ){\r\n const { nested, object } = this,\r\n { _isDirty } = object;\r\n\r\n // Commit all nested transactions...\r\n for( let transaction of nested ){\r\n transaction.commit( object );\r\n }\r\n\r\n if( object._aggregationError ){\r\n logAggregationError( object, _isDirty );\r\n }\r\n\r\n // Just trigger 'change' on collection, it must be already triggered for models during nested commits.\r\n // ??? TODO: do it in nested transactions loop? This way appears to be more correct. \r\n for( let transaction of nested ){\r\n trigger2( object, 'change', transaction.object, _isDirty );\r\n }\r\n\r\n // Notify listeners on attribute changes...\r\n const { added, removed } = this;\r\n\r\n // Trigger `add` events for both model and collection.\r\n for( let record of added ){\r\n trigger3( record, 'add', record, object, _isDirty );\r\n trigger3( object, 'add', record, object, _isDirty );\r\n }\r\n\r\n // Trigger `remove` events for both model and collection.\r\n for( let record of removed ){\r\n trigger3( record, 'remove', record, object, _isDirty );\r\n trigger3( object, 'remove', record, object, _isDirty );\r\n }\r\n\r\n if( this.sorted ){\r\n trigger2( object, 'sort', object, _isDirty );\r\n }\r\n\r\n if( added.length || removed.length ){\r\n trigger2( object, 'update', object, _isDirty );\r\n }\r\n\r\n this.isRoot && commit( object, initiator );\r\n }\r\n}\r\n\r\nexport function logAggregationError( collection : CollectionCore, options : TransactionOptions ){\r\n collection._log( 'warn', 'Type-R:InvalidOwner', 'added records already have an owner and were cloned. Use explicit record.clone() to dismiss this warning.', collection._aggregationError, options.logger );\r\n collection._aggregationError = void 0;\r\n}","import { Model } from '../model';\r\nimport { Transaction, transactionApi } from '../transactions';\r\nimport { addIndex, CollectionCore, CollectionOptions, CollectionTransaction, convertAndAquire, logAggregationError, sortElements, updateIndex } from './commons';\r\n\r\nconst { begin, commit, markAsDirty } = transactionApi;\r\n\r\nexport interface AddOptions extends CollectionOptions {\r\n at? : number \r\n}\r\n\r\n/** @private */\r\nexport function addTransaction( collection : CollectionCore, items : any[], options : AddOptions, merge? : boolean ){\r\n const isRoot = begin( collection ),\r\n nested : Transaction[]= [];\r\n\r\n var added = appendElements( collection, items, nested, options, merge );\r\n\r\n if( added.length || nested.length ){\r\n let needSort = sortOrMoveElements( collection, added, options );\r\n if( markAsDirty( collection, options ) ){\r\n return new CollectionTransaction( collection, isRoot, added, [], nested, needSort );\r\n }\r\n\r\n if( collection._aggregationError ) logAggregationError( collection, options );\r\n }\r\n\r\n // No changes...\r\n isRoot && commit( collection );\r\n};\r\n\r\n// Handle sort or insert at options for add operation. Reurns true if sort happened.\r\n/** @private */ \r\nfunction sortOrMoveElements( collection : CollectionCore, added : Model[], options : AddOptions ) : boolean {\r\n let at = options.at;\r\n\r\n // if `at` option is given, it overrides sorting option...\r\n if( at != null ){\r\n // Take an original collection's length. \r\n const length = collection.models.length - added.length;\r\n\r\n // Crazy Backbone rules about `at` index. I don't know what that guys smoke.\r\n at = Number( at );\r\n if( at < 0 ) at += length + 1;\r\n if( at < 0 ) at = 0;\r\n if( at > length ) at = length;\r\n\r\n // Move added elements to desired position. In place.\r\n moveElements( collection.models, at, added );\r\n return false;\r\n }\r\n\r\n return sortElements( collection, options );\r\n}\r\n\r\n/** @private */\r\nfunction moveElements( source : any[], at : number, added : any[] ) : void {\r\n for( var j = source.length - 1, i = j - added.length; i >= at; i--, j-- ){\r\n source[ j ] = source[ i ];\r\n }\r\n\r\n for( i = 0, j = at; i < added.length; i++, j++ ){\r\n source[ j ] = added[ i ];\r\n }\r\n}\r\n\r\n// append data to model and index\r\n/** @private */\r\nfunction appendElements( collection : CollectionCore, a_items : any[], nested : Transaction[], a_options : AddOptions, forceMerge : boolean ){\r\n var { _byId, models } = collection,\r\n merge = ( forceMerge || a_options.merge ) && !collection._shared,\r\n parse = a_options.parse,\r\n idAttribute = collection.model.prototype.idAttribute,\r\n prevLength = models.length;\r\n\r\n for( const item of a_items ){\r\n let model = item ? _byId[ item[ idAttribute ] ] || _byId[ item.cid ] : null;\r\n\r\n if( model ){\r\n if( merge && item !== model ){\r\n var attrs = item.attributes || item;\r\n const transaction = model._createTransaction( attrs, a_options );\r\n transaction && nested.push( transaction );\r\n\r\n if( model.hasChanged( idAttribute ) ){\r\n updateIndex( _byId, model );\r\n }\r\n }\r\n }\r\n else{\r\n model = convertAndAquire( collection, item, a_options );\r\n models.push( model );\r\n addIndex( _byId, model );\r\n }\r\n }\r\n\r\n return models.slice( prevLength );\r\n}\r\n","import { Model } from '../model'\r\n\r\nexport type Predicate = ( ( val : R, key? : number ) => boolean ) | Partial;\r\n\r\n/**\r\n * Optimized array methods.\r\n */\r\nexport abstract class ArrayMixin {\r\n models : R[]\r\n abstract get( modelOrId : string | Partial ) : R;\r\n\r\n /**\r\n * Map and optionally filter the collection.\r\n * @param mapFilter filter an element out if `undefined` is returned \r\n * @param context optional `this` for `mapFilter`\r\n */\r\n map( mapFilter : ( val : R, key? : number ) => T, context? : any ) : T[]{\r\n const { models } = this,\r\n { length } = models,\r\n res = Array( length ),\r\n fun = context ? mapFilter.bind( context ) : mapFilter;\r\n\r\n for( var i = 0, j = 0; i < length; i++ ){\r\n const val = fun( models[ i ], i );\r\n val === void 0 || ( res[ j++ ] = val );\r\n }\r\n\r\n if( i !== j ){\r\n res.length = j;\r\n }\r\n\r\n return res;\r\n }\r\n\r\n /**\r\n * Iterate through the collection.\r\n * @param context optional `this` for `iteratee`.\r\n */\r\n each( fun : ( val : R, key? : number ) => any, context? : any ) : void {\r\n const { models } = this,\r\n { length } = models,\r\n iteratee = context ? fun.bind( context ) : fun;\r\n\r\n for( let i = 0; i < length; i++ ){\r\n iteratee( models[ i ], i );\r\n }\r\n }\r\n\r\n /**\r\n * Iterate through collection optionally returning the value.\r\n * @param doWhile break the loop if anything but `undefined` is returned, and return this value.\r\n * @param context optional `this` for `doWhile`.\r\n */\r\n firstMatch( doWhile : ( val : R, key? : number ) => T ) : T\r\n firstMatch( doWhile : ( this : C, val : R, key? : number ) => T, context : C ) : T\r\n firstMatch( doWhile : ( val : R, key? : number ) => T, context? : any ) : T {\r\n const { models } = this,\r\n { length } = models,\r\n iteratee = context ? doWhile.bind( context ) : doWhile;\r\n\r\n for( let i = 0; i < length; i++ ){\r\n const res = iteratee( models[ i ], i );\r\n if( res !== void 0 ) return res;\r\n }\r\n }\r\n\r\n /**\r\n * Proxy for the `array.reduce()`\r\n * @param iteratee \r\n */\r\n reduce( iteratee : (previousValue: R, currentValue: R, currentIndex?: number ) => R ) : R\r\n reduce( iteratee : (previousValue: T, currentValue: R, currentIndex?: number ) => T, init? : any ) : T\r\n reduce( iteratee : (previousValue: any, currentValue: any, currentIndex?: number ) => any, init? : any ) : T | R {\r\n return init === void 0 ? this.models.reduce( iteratee ) : this.models.reduce( iteratee, init );\r\n }\r\n\r\n // Slice out a sub-array of models from the collection.\r\n slice( begin? : number, end? : number ) : R[] {\r\n return this.models.slice( begin, end );\r\n }\r\n \r\n indexOf( modelOrId : string | Partial ) : number {\r\n return this.models.indexOf( this.get( modelOrId ) );\r\n }\r\n\r\n includes( idOrObj : string | Partial ) : boolean {\r\n return Boolean( this.get( idOrObj ) );\r\n }\r\n\r\n filter( iteratee : Predicate, context? : any ) : R[] {\r\n const fun = toPredicateFunction( iteratee );\r\n return this.map( m => fun( m ) ? m : void 0, context );\r\n }\r\n\r\n find( iteratee : Predicate, context? : any ) : R {\r\n const fun = toPredicateFunction( iteratee );\r\n return this.firstMatch( m => fun( m ) ? m : void 0, context );\r\n }\r\n\r\n some( iteratee : Predicate, context? : any ) : boolean {\r\n return Boolean( this.find( iteratee, context ) );\r\n }\r\n\r\n forEach( iteratee : ( val : R, key? : number ) => void, context? : any ) : void {\r\n this.each( iteratee, context );\r\n }\r\n\r\n values() : IterableIterator {\r\n return this.models.values();\r\n }\r\n\r\n entries() : IterableIterator<[ number, R ]>{\r\n return this.models.entries();\r\n }\r\n\r\n every( iteratee : Predicate, context? : any ) : boolean {\r\n const fun = toPredicateFunction( iteratee );\r\n return this.firstMatch( m => fun( m ) ? void 0 : false, context ) === void 0;\r\n }\r\n\r\n pluck( key : K ) : R[K][] {\r\n return this.map( model => model[ key ] );\r\n }\r\n\r\n first() : R { return this.models[ 0 ]; }\r\n\r\n last() : R { return this.models[ this.models.length - 1 ]; }\r\n\r\n at( a_index : number ) : R {\r\n const index = a_index < 0 ? a_index + this.models.length : a_index; \r\n return this.models[ index ];\r\n }\r\n\r\n groupBy( attr : keyof R | (( m : R ) => string )) : { [ key : string ] : R[] };\r\n groupBy(\r\n attr : keyof R | (( m : R ) => string ),\r\n a_reducer : ( acc : A, model? : R, key? : string ) => A\r\n ) : { [ key : string ] : A };\r\n groupBy(\r\n attr : keyof R | (( m : R ) => string ),\r\n a_reducer? : ( acc : A, model? : R, key? : string ) => A\r\n ){\r\n const map : any = typeof attr === 'string' ?\r\n x => x[ attr ] :\r\n attr;\r\n\r\n const reducer = a_reducer || defaultGrouping;\r\n\r\n const results = {};\r\n\r\n for( let model of this.models ){\r\n const key = map( model );\r\n if( key != null ){\r\n results[ key ] = reducer( results[ key ], model, key );\r\n }\r\n }\r\n\r\n return results;\r\n }\r\n}\r\n\r\nconst defaultGrouping = ( acc = [], x ) => ( acc.push( x ), acc );\r\n\r\nconst noOp = x => x;\r\n\r\nfunction toPredicateFunction( iteratee : Predicate ){\r\n if( iteratee == null ) return noOp;\r\n\r\n switch( typeof iteratee ){\r\n case 'function' : return iteratee;\r\n case 'object' :\r\n const keys = Object.keys( iteratee );\r\n \r\n return x => {\r\n for( let key of keys ){\r\n if( iteratee[ key ] !== x[ key ] )\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n default : throw new Error( 'Invalid iteratee' );\r\n }\r\n}","/*************\r\n * Remove items from collections.\r\n * \r\n * Cannot be a part of two-phase transaction on object tree.\r\n * Can be executed in the scope of ad-hoc transaction or from the trigger, though.\r\n *\r\n * Implemented with low-level API. \r\n * Most frequent operation - single element remove. Thus, it have the fast-path.\r\n */\r\n\r\nimport { eventsApi } from '@type-r/mixture';\r\nimport { Model } from '../model';\r\nimport { transactionApi, TransactionOptions } from '../transactions';\r\nimport { CollectionCore, CollectionTransaction, free, removeIndex } from './commons';\r\n\r\nconst { trigger2, trigger3 } = eventsApi,\r\n { markAsDirty, begin, commit } = transactionApi;\r\n\r\n/** @private */\r\nexport function removeOne( collection : CollectionCore, el : Model | {} | string, options : TransactionOptions ) : Model {\r\n var model : Model = collection.get( el );\r\n\r\n if( model ){\r\n const isRoot = begin( collection ),\r\n models = collection.models;\r\n\r\n // Remove model form the collection. \r\n models.splice( models.indexOf( model ), 1 );\r\n removeIndex( collection._byId, model );\r\n \r\n // Mark transaction as dirty. \r\n const notify = markAsDirty( collection, options );\r\n\r\n // Send out events.\r\n if( notify ){\r\n trigger3( model, 'remove', model, collection, options );\r\n trigger3( collection, 'remove', model, collection, options );\r\n } \r\n\r\n free( collection, model, options.unset );\r\n\r\n notify && trigger2( collection, 'update', collection, options );\r\n\r\n // Commit transaction.\r\n isRoot && commit( collection );\r\n\r\n return model;\r\n }\r\n};\r\n\r\n/** Optimized for removing many elements\r\n * 1. Remove elements from the index, checking for duplicates\r\n * 2. Create new models array matching index\r\n * 3. Send notifications and remove references\r\n */\r\n\r\n/** @private */\r\nexport function removeMany( collection : CollectionCore, toRemove : any[], options ){\r\n const removed = _removeFromIndex( collection, toRemove, options.unset );\r\n if( removed.length ){\r\n const isRoot = begin( collection );\r\n\r\n _reallocate( collection, removed.length );\r\n\r\n if( markAsDirty( collection, options ) ){\r\n const transaction = new CollectionTransaction( collection, isRoot, [], removed, [], false );\r\n transaction.commit();\r\n }\r\n else{\r\n // Commit transaction.\r\n isRoot && commit( collection );\r\n }\r\n }\r\n\r\n return removed;\r\n};\r\n\r\n// remove models from the index...\r\n/** @private */\r\nfunction _removeFromIndex( collection, toRemove, unset : boolean ){\r\n var removed = Array( toRemove.length ),\r\n _byId = collection._byId;\r\n\r\n for( var i = 0, j = 0; i < toRemove.length; i++ ){\r\n var model = collection.get( toRemove[ i ] );\r\n if( model ){\r\n removed[ j++ ] = model;\r\n removeIndex( _byId, model );\r\n free( collection, model, unset );\r\n }\r\n }\r\n\r\n removed.length = j;\r\n\r\n return removed;\r\n}\r\n\r\n// Allocate new models array removing models not present in the index.\r\n/** @private */\r\nfunction _reallocate( collection, removed ){\r\n var prev = collection.models,\r\n models = collection.models = Array( prev.length - removed ),\r\n _byId = collection._byId;\r\n\r\n for( var i = 0, j = 0; i < prev.length; i++ ){\r\n var model = prev[ i ];\r\n\r\n if( _byId[ model.cid ] ){\r\n models[ j++ ] = model;\r\n }\r\n }\r\n\r\n models.length = j;\r\n}","import { Model } from '../model';\r\nimport { Transaction, transactionApi } from '../transactions';\r\nimport { addIndex, CollectionCore, CollectionOptions, CollectionTransaction, convertAndAquire, Elements, free, freeAll, IdIndex, logAggregationError, sortElements } from './commons';\r\n\r\nconst { begin, commit, markAsDirty } = transactionApi;\r\n\r\n/** @private */\r\nconst silentOptions = { silent : true };\r\n\r\n/** @private */\r\nexport function emptySetTransaction( collection : CollectionCore, items : Elements, options : CollectionOptions, silent? : boolean ){\r\n const isRoot = begin( collection );\r\n\r\n const added = _reallocateEmpty( collection, items, options );\r\n\r\n if( added.length ){\r\n const needSort = sortElements( collection, options );\r\n\r\n if( markAsDirty( collection, silent ? silentOptions : options ) ){\r\n // 'added' is the reference to this.models. Need to copy it.\r\n return new CollectionTransaction( collection, isRoot, added.slice(), [], [], needSort );\r\n }\r\n\r\n if( collection._aggregationError ) logAggregationError( collection, options );\r\n }\r\n\r\n // No changes...\r\n isRoot && commit( collection );\r\n};\r\n\r\n/** @private */\r\nexport function setTransaction( collection, items, options ){\r\n const isRoot = begin( collection ),\r\n nested = [];\r\n\r\n var previous = collection.models,\r\n added = _reallocate( collection, items, nested, options );\r\n\r\n const reusedCount = collection.models.length - added.length,\r\n removed = reusedCount < previous.length ? (\r\n reusedCount ? _garbageCollect( collection, previous ) :\r\n freeAll( collection, previous )\r\n ) : []; \r\n \r\n const addedOrChanged = nested.length || added.length,\r\n // As we are reallocating models array, it needs to be sorted even if there are no changes.\r\n sorted = ( sortElements( collection, options ) && addedOrChanged ) || added.length || options.sorted;\r\n\r\n if( addedOrChanged || removed.length || sorted ){\r\n if( markAsDirty( collection, options ) ){ \r\n return new CollectionTransaction( collection, isRoot, added, removed, nested, sorted );\r\n }\r\n\r\n if( collection._aggregationError ) logAggregationError( collection, options );\r\n }\r\n\r\n isRoot && commit( collection );\r\n};\r\n\r\n// Remove references to all previous elements, which are not present in collection.\r\n// Returns an array with removed elements.\r\n/** @private */\r\nfunction _garbageCollect( collection : CollectionCore, previous : Model[] ) : Model[]{\r\n const { _byId } = collection,\r\n removed = [];\r\n\r\n // Filter out removed models and remove them from the index...\r\n for( let record of previous ){\r\n if( !_byId[ record.cid ] ){\r\n removed.push( record );\r\n free( collection, record );\r\n }\r\n }\r\n\r\n return removed;\r\n}\r\n\r\n// reallocate model and index\r\n/** @private */\r\nfunction _reallocate( collection : CollectionCore, source : any[], nested : Transaction[], options ){\r\n var models = Array( source.length ),\r\n _byId : IdIndex = {},\r\n merge = ( options.merge == null ? true : options.merge ) && !collection._shared,\r\n _prevById = collection._byId,\r\n prevModels = collection.models, \r\n idAttribute = collection.model.prototype.idAttribute,\r\n toAdd = [],\r\n orderKept = true;\r\n\r\n // for each item in source set...\r\n for( var i = 0, j = 0; i < source.length; i++ ){\r\n var item = source[ i ],\r\n model : Model = null;\r\n\r\n if( item ){\r\n var id = item[ idAttribute ],\r\n cid = item.cid;\r\n\r\n if( _byId[ id ] || _byId[ cid ] ) continue;\r\n\r\n model = _prevById[ id ] || _prevById[ cid ];\r\n }\r\n\r\n if( model ){\r\n if( merge && item !== model ){\r\n if( orderKept && prevModels[ j ] !== model ) orderKept = false;\r\n\r\n var attrs = item.attributes || item;\r\n const transaction = model._createTransaction( attrs, options );\r\n transaction && nested.push( transaction );\r\n }\r\n }\r\n else{\r\n model = convertAndAquire( collection, item, options );\r\n toAdd.push( model );\r\n }\r\n\r\n models[ j++ ] = model;\r\n addIndex( _byId, model );\r\n }\r\n\r\n models.length = j;\r\n collection.models = models;\r\n collection._byId = _byId;\r\n\r\n if( !orderKept ) options.sorted = true;\r\n\r\n return toAdd;\r\n}\r\n\r\n/** @private */\r\nfunction _reallocateEmpty( self, source, options ){\r\n var len = source ? source.length : 0,\r\n models = Array( len ),\r\n _byId : IdIndex = {},\r\n idAttribute = self.model.prototype.idAttribute;\r\n\r\n for( var i = 0, j = 0; i < len; i++ ){\r\n var src = source[ i ];\r\n\r\n if( src && ( _byId[ src[ idAttribute ] ] || _byId[ src.cid ] ) ){\r\n continue;\r\n }\r\n\r\n var model = convertAndAquire( self, src, options );\r\n models[ j++ ] = model;\r\n addIndex( _byId, model );\r\n }\r\n\r\n models.length = j;\r\n self._byId = _byId;\r\n\r\n return self.models = models;\r\n}","import { Linked } from '@linked/value';\r\nimport { define, definitions, EventMap, eventsApi, EventsDefinition, Logger, logger, LogLevel, Mixable, mixinRules, mixins, TheType } from '@type-r/mixture';\r\nimport { IOPromise, startIO } from '../io-tools';\r\nimport { AggregatedType, Model, SharedType, shared, AnonymousModelConstructor, attributes } from '../model';\r\nimport { CloneOptions, ItemsBehavior, Transactional, TransactionalDefinition, transactionApi, TransactionOptions } from '../transactions';\r\nimport { AddOptions, addTransaction } from './add';\r\nimport { ArrayMixin } from './arrayMethods';\r\nimport { CollectionCore, CollectionTransaction, Elements, free, sortElements, updateIndex } from './commons';\r\nimport { removeMany, removeOne } from './remove';\r\nimport { emptySetTransaction, setTransaction } from './set';\r\n\r\nconst { trigger2 } = eventsApi,\r\n { begin, commit, markAsDirty } = transactionApi;\r\n\r\nlet _count = 0;\r\n\r\nexport type GenericComparator = string | ( ( x : Model ) => number ) | ( ( a : Model, b : Model ) => number ); \r\n\r\nexport interface CollectionOptions extends TransactionOptions {\r\n comparator? : GenericComparator\r\n model? : typeof Model\r\n}\r\n\r\nexport interface CollectionDefinition extends TransactionalDefinition {\r\n model? : typeof Model,\r\n itemEvents? : EventsDefinition\r\n _itemEvents? : EventMap\r\n}\r\n\r\nclass CollectionRefsType extends SharedType {\r\n static defaultValue = [];\r\n}\r\n\r\nexport interface CollectionConstructor extends TheType {\r\n new ( records? : ElementsArg, options?: CollectionOptions ) : Collection\r\n prototype : Collection\r\n Refs : CollectionConstructor\r\n};\r\n\r\ntype CollectionOf = M['Collection'] extends CollectionConstructor> ? M['Collection'] : CollectionConstructor>;\r\n\r\n@define({\r\n // Default client id prefix \r\n cidPrefix : 'c',\r\n model : Model,\r\n _changeEventName : 'changes',\r\n _aggregationError : null\r\n})\r\n@mixins( ArrayMixin )\r\n@definitions({\r\n comparator : mixinRules.value,\r\n model : mixinRules.protoValue,\r\n itemEvents : mixinRules.merge\r\n})\r\nexport class Collection< R extends Model = Model> extends Transactional implements CollectionCore, Iterable {\r\n /** @internal */\r\n _shared : number\r\n /** @internal */\r\n _aggregationError : R[]\r\n\r\n /**\r\n * EXPERIMENTAL notation to extract proper collection type from the model in TypeScript.\r\n * \r\n * attrName : Collection.of( User );\r\n * \r\n * const users = new ( Collection.of( User ) )\r\n */\r\n static of( Ctor : M ) : CollectionOf;\r\n static of( spec : M ) : CollectionOf>;\r\n static of( Ctor : M ) : CollectionOf {\r\n return typeof Ctor === 'function' ?\r\n Ctor.Collection as any :\r\n attributes( Ctor ).Collection;\r\n }\r\n\r\n /**\r\n * EXPERIMENTAL notation to extract proper collection type from the model in TypeScript.\r\n * \r\n * attrName : Collection.ofRefs( User );\r\n * \r\n * const users = new ( Collection.ofRefs( User ) )\r\n */\r\n static ofRefs( Ctor : M ) : CollectionOf {\r\n return Ctor.Collection.Refs as any;\r\n }\r\n\r\n\r\n static Subset : typeof Collection\r\n static Refs : any\r\n static refsTo = shared;\r\n\r\n /** @internal */\r\n static _SubsetOf : typeof Collection\r\n \r\n createSubset( models : ElementsArg, options? : CollectionOptions) : Collection{\r\n throw new ReferenceError( 'Failed dependency injection' )\r\n }\r\n\r\n static onExtend( BaseClass : typeof Transactional ){\r\n // Cached subset collection must not be inherited.\r\n const Ctor = this;\r\n this._SubsetOf = null;\r\n\r\n function RefsCollection( a, b, listen? ){\r\n Ctor.call( this, a, b, ItemsBehavior.share | ( listen ? ItemsBehavior.listen : 0 ) );\r\n }\r\n\r\n Mixable.mixins.populate( RefsCollection );\r\n RefsCollection.create = Collection.create;\r\n \r\n RefsCollection.prototype = this.prototype;\r\n RefsCollection._metatype = CollectionRefsType;\r\n\r\n this.Refs = this.Subset = RefsCollection;\r\n\r\n Transactional.onExtend.call( this, BaseClass );\r\n }\r\n \r\n static onDefine( definition : CollectionDefinition, BaseClass : any ){\r\n if( definition.itemEvents ){\r\n const eventsMap = new EventMap( BaseClass.prototype._itemEvents );\r\n eventsMap.addEventsMap( definition.itemEvents );\r\n this.prototype._itemEvents = eventsMap;\r\n }\r\n\r\n if( definition.comparator !== void 0 ) this.prototype.comparator = definition.comparator;\r\n\r\n Transactional.onDefine.call( this, definition );\r\n }\r\n \r\n /** @internal */\r\n _itemEvents : EventMap\r\n\r\n /***********************************\r\n * Core Members\r\n */\r\n // Array of the records\r\n models : R[]\r\n\r\n // Polymorphic accessor for aggregated attribute's canBeUpdated().\r\n /** @internal */\r\n get __inner_state__(){ return this.models; }\r\n\r\n // Index by id and cid\r\n /** @internal */\r\n _byId : { [ id : string ] : R }\r\n\r\n set comparator( x : GenericComparator ){\r\n\r\n switch( typeof x ){\r\n case 'string' :\r\n this._comparator = ( a, b ) => {\r\n const aa = a[ x ], bb = b[ x ];\r\n if( aa === bb ) return 0;\r\n return aa < bb ? -1 : + 1;\r\n } \r\n break;\r\n case 'function' :\r\n if( x.length === 1 ){\r\n this._comparator = ( a, b ) => {\r\n const aa = (x).call( this, a ), bb = (x).call( this, b );\r\n if( aa === bb ) return 0;\r\n return aa < bb ? -1 : + 1;\r\n }\r\n }\r\n else{\r\n this._comparator = ( a, b ) => (x).call( this, a, b );\r\n }\r\n break;\r\n \r\n default :\r\n this._comparator = null;\r\n }\r\n }\r\n \r\n // TODO: Improve typing\r\n getStore() : Transactional {\r\n return this._store || ( this._store = this._owner ? this._owner.getStore() : this._defaultStore );\r\n }\r\n\r\n /** @internal */\r\n _store : Transactional\r\n\r\n get comparator(){ return this._comparator; }\r\n\r\n /** @internal */\r\n _comparator : ( a : R, b : R ) => number\r\n\r\n /** @internal */\r\n _onChildrenChange( record : R, options : TransactionOptions = {}, initiator? : Transactional ){\r\n // Ignore updates from nested transactions.\r\n if( initiator === this ) return;\r\n\r\n const { idAttribute } = this;\r\n\r\n if( record.hasChanged( idAttribute ) ){\r\n updateIndex( this._byId, record );\r\n }\r\n\r\n const isRoot = begin( this );\r\n\r\n if( markAsDirty( this, options ) ){\r\n // Forward change event from the record.\r\n trigger2( this, 'change', record, options )\r\n }\r\n\r\n isRoot && commit( this );\r\n }\r\n\r\n get( objOrId : string | { id? : string, cid? : string } ) : R {\r\n if( objOrId == null ) return;\r\n\r\n if( typeof objOrId === 'object' ){\r\n const id = objOrId[ this.idAttribute ];\r\n return ( id !== void 0 && this._byId[ id ] ) || this._byId[ objOrId.cid ];\r\n }\r\n else{\r\n return this._byId[ objOrId ];\r\n } \r\n }\r\n\r\n [ Symbol.iterator ]() : IterableIterator {\r\n return this.models[ Symbol.iterator ]();\r\n }\r\n\r\n // Loop through the members in the scope of transaction.\r\n // Transactional version of each()\r\n updateEach( iteratee : ( val : R, key? : number ) => void ){\r\n const isRoot = transactionApi.begin( this );\r\n this.each( iteratee );\r\n isRoot && transactionApi.commit( this );\r\n }\r\n\r\n /** @internal */\r\n _validateNested( errors : {} ) : number {\r\n // Don't validate if not aggregated.\r\n if( this._shared ) return 0;\r\n\r\n let count = 0;\r\n\r\n this.each( record => {\r\n const error = record.validationError;\r\n if( error ){\r\n errors[ record.cid ] = error;\r\n count++;\r\n }\r\n });\r\n\r\n return count;\r\n }\r\n\r\n model : typeof Model\r\n\r\n // idAttribute extracted from the model type.\r\n idAttribute : string\r\n\r\n constructor( records? : ElementsArg, options : CollectionOptions = {}, shared? : number ){\r\n super( _count++ );\r\n this.models = [];\r\n this._byId = {};\r\n \r\n this.comparator = this.comparator;\r\n\r\n if( options.comparator !== void 0 ){\r\n this.comparator = options.comparator;\r\n options.comparator = void 0;\r\n }\r\n \r\n this.model = this.model;\r\n \r\n if( options.model ){\r\n this.model = options.model;\r\n options.model = void 0;\r\n }\r\n\r\n this.idAttribute = this.model.prototype.idAttribute; //TODO: Remove?\r\n\r\n this._shared = shared || 0;\r\n\r\n if( records ){\r\n const elements = toElements( this, records, options );\r\n emptySetTransaction( this, elements, options, true );\r\n }\r\n\r\n this.initialize.apply( this, arguments );\r\n\r\n if( this._localEvents ) this._localEvents.subscribe( this, this );\r\n }\r\n\r\n initialize(){}\r\n\r\n // Deeply clone collection, optionally setting new owner.\r\n clone( options : CloneOptions = {} ) : this {\r\n const models = this._shared & ItemsBehavior.share ? this.models : this.map( model => model.clone() ),\r\n copy : this = new (this.constructor)( models, { model : this.model, comparator : this.comparator }, this._shared );\r\n \r\n if( options.pinStore ) copy._defaultStore = this.getStore();\r\n \r\n return copy;\r\n }\r\n\r\n toJSON( options? : object ) : any {\r\n return this.map( model => model.toJSON( options ) );\r\n }\r\n\r\n // Apply bulk in-place object update in scope of ad-hoc transaction \r\n set( elements : ElementsArg = [], options : TransactionOptions = {} ) : this {\r\n if( (options).add !== void 0 ){\r\n this._log( 'warn', \"Type-R:InvalidOption\", \"Collection.set doesn't support 'add' option, behaving as if options.add === true.\", options );\r\n }\r\n\r\n // Handle reset option here - no way it will be populated from the top as nested transaction.\r\n if( options.reset ){\r\n this.reset( elements, options )\r\n }\r\n else{\r\n const transaction = this._createTransaction( elements, options );\r\n transaction && transaction.commit();\r\n } \r\n\r\n return this; \r\n }\r\n\r\n /**\r\n * Enable or disable live updates.\r\n * \r\n * `true` enables full collection synchronization.\r\n * `false` cancel live updates.\r\n * `json => true | false` - filter updates\r\n */\r\n liveUpdates( enabled : LiveUpdatesOption ) : IOPromise {\r\n if( enabled ){\r\n this.liveUpdates( false );\r\n\r\n const filter = typeof enabled === 'function' ? enabled : () => true;\r\n\r\n this._liveUpdates = {\r\n updated : json => {\r\n filter( json ) && this.add( json, { parse : true, merge : true } );\r\n },\r\n\r\n removed : id => this.remove( id )\r\n };\r\n\r\n return this.getEndpoint().subscribe( this._liveUpdates, this ).then( () => this );\r\n }\r\n else{\r\n if( this._liveUpdates ){\r\n this.getEndpoint().unsubscribe( this._liveUpdates, this );\r\n this._liveUpdates = null;\r\n }\r\n\r\n // TODO: Return the resolved promise.\r\n }\r\n }\r\n\r\n /** @internal */\r\n _liveUpdates : object\r\n\r\n fetch( a_options : { liveUpdates? : LiveUpdatesOption } & TransactionOptions & { [ key : string ] : any } = {} ) : IOPromise {\r\n const options = { parse : true, ...a_options },\r\n endpoint = this.getEndpoint();\r\n\r\n return startIO(\r\n this,\r\n endpoint.list( options, this ),\r\n options,\r\n\r\n json => {\r\n let result : any = this.set( json, { parse : true, ioMethod : 'fetch', ...options } as TransactionOptions );\r\n \r\n if( options.liveUpdates ){\r\n result = this.liveUpdates( options.liveUpdates );\r\n }\r\n\r\n return result;\r\n }\r\n );\r\n }\r\n\r\n dispose() : void {\r\n if( this._disposed ) return;\r\n\r\n const aggregated = !this._shared;\r\n\r\n for( let record of this.models ){\r\n free( this, record );\r\n\r\n if( aggregated ) record.dispose();\r\n }\r\n\r\n this.liveUpdates( false );\r\n\r\n super.dispose();\r\n }\r\n\r\n reset( a_elements? : ElementsArg, options : TransactionOptions = {} ) : R[] {\r\n const isRoot = begin( this ),\r\n previousModels = this.models;\r\n\r\n // Make all changes required, but be silent.\r\n if( a_elements ){ \r\n emptySetTransaction( this, toElements( this, a_elements, options ), options, true );\r\n }\r\n else{\r\n this._byId = {};\r\n this.models = [];\r\n }\r\n\r\n markAsDirty( this, options );\r\n\r\n options.silent || trigger2( this, 'reset', this, { previousModels, ...options } );\r\n\r\n // Dispose models which are not in the updated collection.\r\n const { _byId } = this;\r\n \r\n for( let toDispose of previousModels ){\r\n _byId[ toDispose.cid ] || free( this, toDispose );\r\n }\r\n\r\n isRoot && commit( this );\r\n return this.models;\r\n }\r\n\r\n // Add elements to collection.\r\n add( a_elements : ElementsArg , options : AddOptions = {} ){\r\n const elements = toElements( this, a_elements, options ),\r\n transaction = this.models.length ?\r\n addTransaction( this, elements, options ) :\r\n emptySetTransaction( this, elements, options );\r\n\r\n if( transaction ){\r\n transaction.commit();\r\n return transaction.added;\r\n }\r\n }\r\n\r\n // Remove elements. \r\n remove( recordsOrIds : any, options : CollectionOptions = {} ) : R[] | R {\r\n if( recordsOrIds ){\r\n return Array.isArray( recordsOrIds ) ?\r\n removeMany( this, recordsOrIds, options ) as R[]:\r\n removeOne( this, recordsOrIds, options ) as R;\r\n }\r\n\r\n return [];\r\n }\r\n\r\n $includes( idOrObj : R ) : Linked {\r\n return new LinkedIncludes( this, idOrObj );\r\n }\r\n\r\n // Apply bulk object update without any notifications, and return open transaction.\r\n // Used internally to implement two-phase commit. \r\n /** @internal */\r\n _createTransaction( a_elements : ElementsArg, options : TransactionOptions = {} ) : CollectionTransaction | void {\r\n const elements = toElements( this, a_elements, options );\r\n\r\n if( this.models.length ){\r\n return options.remove === false ?\r\n addTransaction( this, elements, options, true ) :\r\n setTransaction( this, elements, options );\r\n }\r\n else{\r\n return emptySetTransaction( this, elements, options );\r\n }\r\n }\r\n\r\n /** @internal */\r\n static _metatype = AggregatedType;\r\n\r\n /***********************************\r\n * Collection manipulation methods\r\n */\r\n\r\n sort( options : TransactionOptions = {} ) : this {\r\n if( sortElements( this, options ) ){\r\n const isRoot = begin( this );\r\n \r\n if( markAsDirty( this, options ) ){\r\n trigger2( this, 'sort', this, options );\r\n }\r\n\r\n isRoot && commit( this );\r\n }\r\n\r\n return this;\r\n }\r\n\r\n // Remove and return given model.\r\n unset( modelOrId : R | string, options? ) : R {\r\n const value = this.get( modelOrId );\r\n this.remove( modelOrId, { unset : true, ...options } );\r\n return value;\r\n }\r\n\r\n modelId( attrs : {} ) : any {\r\n return attrs[ this.model.prototype.idAttribute ];\r\n }\r\n\r\n // Toggle model in collection.\r\n toggle( model : R, a_next? : boolean ) : boolean {\r\n var prev = Boolean( this.get( model ) ),\r\n next = a_next === void 0 ? !prev : Boolean( a_next );\r\n\r\n if( prev !== next ){\r\n if( prev ){\r\n this.remove( model );\r\n }\r\n else{\r\n this.add( model );\r\n }\r\n }\r\n\r\n return next;\r\n }\r\n\r\n /** @internal */\r\n _log( level : LogLevel, topic : string, text : string, value : object, a_logger? : Logger ) : void {\r\n ( a_logger || logger ).trigger( level, topic, `${ this.model.prototype.getClassName() }.${ this.getClassName() }: ` + text, {\r\n Argument : value,\r\n 'Attributes spec' : this.model.prototype._attributes\r\n });\r\n }\r\n\r\n getClassName() : string {\r\n return super.getClassName() || 'Collection';\r\n }\r\n\r\n /***********************************\r\n * Proxied Array methods\r\n */\r\n\r\n get length() : number { return this.models.length; }\r\n\r\n // Add a model to the end of the collection.\r\n push(model : ElementsArg, options? : CollectionOptions ) {\r\n return this.add(model, { at: this.length, ...options });\r\n }\r\n\r\n // Remove a model from the end of the collection.\r\n pop( options? : CollectionOptions ) : R {\r\n var model = this.at(this.length - 1);\r\n this.remove(model, { unset : true, ...options });\r\n return model;\r\n }\r\n\r\n // Add a model to the beginning of the collection.\r\n unshift(model : ElementsArg, options? : CollectionOptions ) {\r\n return this.add(model, { at: 0, ...options });\r\n }\r\n \r\n // Remove a model from the beginning of the collection.\r\n shift( options? : CollectionOptions ) : R {\r\n const model = this.at(0);\r\n this.remove( model, { unset : true, ...options } );\r\n return model;\r\n }\r\n}\r\n\r\n\r\nexport interface Collection extends ArrayMixin{}\r\n\r\nexport type LiveUpdatesOption = boolean | ( ( x : any ) => boolean );\r\n\r\nexport type ElementsArg = Partial | Partial[]\r\n\r\n// TODO: make is safe for parse to return null (?)\r\nfunction toElements( collection : Collection, elements : ElementsArg, options : CollectionOptions ) : Elements {\r\n const parsed = options.parse ? collection.parse( elements, options ) : elements; \r\n return Array.isArray( parsed ) ? parsed : [ parsed ];\r\n}\r\n\r\nModel.Collection = Collection;\r\n\r\nclass LinkedIncludes extends Linked {\r\n constructor(\r\n private collection,\r\n private model : Model ){\r\n super( collection.get( model ) )\r\n }\r\n\r\n set( x : boolean ) : void {\r\n this.collection.toggle( this.model );\r\n }\r\n}\r\n","import { Collection } from '../collection';\r\nimport { Model } from '../model';\r\nimport { CompiledReference } from '../traversable';\r\n\r\nexport type CollectionReference = ( () => Collection ) | Collection | string; \r\n\r\n/** @private */\r\nexport function parseReference( collectionRef : CollectionReference ) : ( root : Model ) => Collection {\r\n switch( typeof collectionRef ){\r\n case 'function' :\r\n return root => (collectionRef).call( root );\r\n case 'object' :\r\n return () => collectionRef;\r\n case 'string' :\r\n const { resolve } = new CompiledReference( collectionRef );\r\n return resolve;\r\n }\r\n}","import { AnyType, ChainableAttributeSpec, Model } from '../model';\r\nimport { CollectionReference, parseReference } from './commons';\r\n\r\n\r\n/********\r\n * Reference to model by id.\r\n * \r\n * Untyped attribute. Holds model id, when unresolved. When resolved, is substituted\r\n * with a real model.\r\n * \r\n * No model changes are detected and counted as owner's change. That's intentional.\r\n */\r\n\r\n/** @private */\r\ntype ModelRefValue = Model | string;\r\n\r\n/** @private */\r\nclass ModelRefType extends AnyType {\r\n // It is always serialized as an id, whenever it's resolved or not. \r\n toJSON( value : ModelRefValue ){\r\n return value && typeof value === 'object' ? value.id : value;\r\n }\r\n\r\n // Wne \r\n clone( value : ModelRefValue ){\r\n return value && typeof value === 'object' ? value.id : value;\r\n }\r\n\r\n // Model refs by id are equal when their ids are equal.\r\n isChanged( a : ModelRefValue, b : ModelRefValue){\r\n var aId = a && ( (a).id == null ? a : (a).id ),\r\n bId = b && ( (b).id == null ? b : (b).id );\r\n\r\n return aId !== bId;\r\n }\r\n\r\n // Refs are always valid.\r\n validate( model, value, name ){}\r\n}\r\n\r\nfunction theMemberOf( this : void, masterCollection : CollectionReference, T? : R ) : ChainableAttributeSpec {\r\n const getMasterCollection = parseReference( masterCollection );\r\n\r\n const typeSpec = new ChainableAttributeSpec({\r\n value : null,\r\n _metatype : ModelRefType\r\n });\r\n \r\n return typeSpec\r\n .get( function( objOrId : ModelRefValue, name : string ) : Model {\r\n if( typeof objOrId === 'object' ) return objOrId;\r\n\r\n // So, we're dealing with an id reference. Resolve it.\r\n const collection = getMasterCollection( this );\r\n let record : Model = null;\r\n\r\n // If master collection exists and is not empty...\r\n if( collection && collection.length ){\r\n // Silently update attribute with record from this collection.\r\n record = collection.get( objOrId ) || null;\r\n this.attributes[ name ] = record;\r\n\r\n // Subscribe for events manually. delegateEvents won't be invoked.\r\n record && this._attributes[ name ].handleChange( record, null, this, {} );\r\n }\r\n\r\n return record;\r\n });\r\n}\r\n\r\nexport { theMemberOf as memberOf }\r\n\r\ndeclare module '../model' {\r\n namespace Model {\r\n export const memberOf : ( this : R, masterCollection : CollectionReference ) => ChainableAttributeSpec;\r\n }\r\n}\r\n\r\n( Model as any ).memberOf = theMemberOf;","import { Collection, CollectionConstructor, ElementsArg, CollectionOptions } from '../collection';\r\nimport { define, tools } from '@type-r/mixture';\r\nimport { AggregatedType, ChainableAttributeSpec, Model, type } from '../model';\r\nimport { ItemsBehavior, transactionApi } from '../transactions';\r\nimport { CollectionReference, parseReference } from './commons';\r\n\r\n\r\ntype ModelsIds = ( string | number )[];\r\n\r\n// TODO: Change the last parameter to be the Model constructor. Extract the proper Collection type.\r\nexport function subsetOf, R extends Model>( this : void, masterCollection : CollectionReference, T? : X ) : ChainableAttributeSpec>{\r\n const CollectionClass = T || Collection,\r\n // Lazily define class for subset collection, if it's not defined already...\r\n SubsetOf = CollectionClass._SubsetOf || ( CollectionClass._SubsetOf = defineSubsetCollection( CollectionClass as any ) as any ),\r\n getMasterCollection = parseReference( masterCollection );\r\n\r\n return type( SubsetOf ).get(\r\n function( refs ){\r\n !refs || refs.resolvedWith || refs.resolve( getMasterCollection( this ) );\r\n return refs;\r\n }\r\n );\r\n}\r\n\r\n\r\ntype subsetOfType = typeof subsetOf;\r\n\r\ndeclare module \"../collection\" {\r\n namespace Collection {\r\n export const subsetOf : subsetOfType;\r\n } \r\n}\r\n\r\n( Collection as any ).subsetOf = subsetOf;\r\n\r\n\r\nCollection.prototype.createSubset = function( this : Collection, models : any, options ) : SubsetCollection {\r\n const SubsetOf = subsetOf( this, this.constructor as any ).options.type,\r\n subset = new SubsetOf( models, options );\r\n \r\n subset.resolve( this );\r\n return subset as any;\r\n}\r\n\r\nconst subsetOfBehavior = ItemsBehavior.share | ItemsBehavior.persistent;\r\n\r\nfunction defineSubsetCollection( CollectionClass : typeof Collection ) {\r\n @define class SubsetOfCollection extends CollectionClass {\r\n refs : any[];\r\n resolvedWith : Collection = null;\r\n\r\n _metatype : AggregatedType\r\n\r\n get __inner_state__(){ return this.refs || this.models; }\r\n\r\n constructor( recordsOrIds?, options? ){\r\n super( [], options, subsetOfBehavior );\r\n this.refs = toArray( recordsOrIds );\r\n }\r\n\r\n // Remove should work fine as it already accepts ids. Add won't...\r\n add( a_elements, options = {} ){\r\n const { resolvedWith } = this,\r\n toAdd = toArray( a_elements );\r\n \r\n if( resolvedWith ){\r\n // If the collection is resolved already, everything is simple.\r\n return super.add( resolveRefs( resolvedWith, toAdd ), options );\r\n }\r\n else{\r\n // Collection is not resolved yet. So, we prepare the delayed computation.\r\n if( toAdd.length ){\r\n const isRoot = transactionApi.begin( this );\r\n\r\n // Save elements to resolve in future...\r\n this.refs = this.refs ? this.refs.concat( toAdd ) : toAdd.slice();\r\n\r\n transactionApi.markAsDirty( this, options );\r\n\r\n // And throw the 'changes' event.\r\n isRoot && transactionApi.commit( this );\r\n }\r\n }\r\n }\r\n\r\n reset( a_elements?, options = {} ){\r\n const { resolvedWith } = this,\r\n elements = toArray( a_elements );\r\n \r\n return resolvedWith ?\r\n // Collection is resolved, so parse ids and forward the call to set.\r\n super.reset( resolveRefs( resolvedWith, elements ), options ) :\r\n // Collection is not resolved yet. So, we prepare the delayed computation.\r\n delaySet( this, elements, options ) as any || [];\r\n }\r\n\r\n _createTransaction( a_elements, options? ){\r\n const { resolvedWith } = this,\r\n elements = toArray( a_elements );\r\n \r\n return resolvedWith ?\r\n // Collection is resolved, so parse ids and forward the call to set.\r\n super._createTransaction( resolveRefs( resolvedWith, elements ), options ) :\r\n // Collection is not resolved yet. So, we prepare the delayed computation.\r\n delaySet( this, elements, options );\r\n }\r\n\r\n // Serialized as an array of model ids.\r\n toJSON() : ModelsIds {\r\n return this.refs ?\r\n this.refs.map( objOrId => objOrId.id || objOrId ) :\r\n this.models.map( model => model.id );\r\n }\r\n\r\n // Subset is always valid.\r\n _validateNested(){ return 0; }\r\n\r\n get length() : number {\r\n return this.models.length || ( this.refs ? this.refs.length : 0 );\r\n }\r\n\r\n // Must be shallow copied on clone.\r\n clone( owner? ){\r\n var Ctor = (this).constructor,\r\n copy = new Ctor( [], {\r\n model : this.model,\r\n comparator : this.comparator\r\n });\r\n\r\n if( this.resolvedWith ){\r\n // TODO: bug here. \r\n copy.resolvedWith = this.resolvedWith;\r\n copy.refs = null;\r\n copy.reset( this.models, { silent : true } );\r\n }\r\n else{\r\n copy.refs = this.refs.slice();\r\n }\r\n\r\n return copy;\r\n }\r\n\r\n // Clean up the custom parse method possibly defined in the base class.\r\n parse( raw : any ) : Model[] {\r\n return raw;\r\n }\r\n\r\n resolve( collection : Collection ) : this {\r\n if( collection && collection.length ){\r\n this.resolvedWith = collection;\r\n\r\n if( this.refs ){\r\n this.reset( this.refs, { silent : true } );\r\n this.refs = null;\r\n }\r\n }\r\n\r\n return this;\r\n }\r\n\r\n getModelIds() : ModelsIds { return this.toJSON(); }\r\n\r\n toggle( modelOrId : any, val : boolean ) : boolean {\r\n return super.toggle( this.resolvedWith.get( modelOrId ), val );\r\n }\r\n\r\n addAll() : Model[] {\r\n if( this.resolvedWith ){\r\n this.set( this.resolvedWith.models );\r\n return this.models;\r\n }\r\n\r\n throw new Error( \"Cannot add elemens because the subset collection is not resolved yet.\" );\r\n }\r\n\r\n toggleAll() : Model[] {\r\n return this.length ? this.reset() : this.addAll();\r\n }\r\n }\r\n\r\n // Clean up all custom item events to prevent memory leaks.\r\n SubsetOfCollection.prototype._itemEvents = void 0;\r\n\r\n return SubsetOfCollection;\r\n}\r\n\r\nexport interface SubsetCollection extends Collection{\r\n getModelIds() : string[]\r\n addAll() : M[]\r\n toggleAll() : M[]\r\n resolve( baseCollection : Collection ) : this\r\n}\r\n\r\nexport interface SubsetCollectionConstructor {\r\n new ( records? : ElementsArg | string[], options?: CollectionOptions ) : SubsetCollection\r\n prototype : SubsetCollection\r\n};\r\n\r\nfunction resolveRefs( master, elements ){\r\n const records = [];\r\n \r\n for( let el of elements ){\r\n const record = master.get( el );\r\n if( record ) records.push( record );\r\n }\r\n\r\n return records;\r\n}\r\n\r\nfunction delaySet( collection, elements, options ) : void {\r\n if( tools.notEqual( collection.refs, elements ) ){\r\n const isRoot = transactionApi.begin( collection );\r\n\r\n // Save elements to resolve in future...\r\n collection.refs = elements.slice();\r\n\r\n transactionApi.markAsDirty( collection, options );\r\n \r\n // And throw the 'changes' event.\r\n isRoot && transactionApi.commit( collection );\r\n }\r\n}\r\n\r\nfunction toArray( elements ){\r\n return elements ? ( \r\n Array.isArray( elements ) ? elements : [ elements ]\r\n ) : [];\r\n}","import { Model } from '../model';\r\nimport { Transactional } from '../transactions';\r\n\r\nlet _store : Store = null;\r\n\r\nexport class Store extends Model {\r\n getStore() : Store { return this; }\r\n \r\n // delegate item lookup to owner, and to the global store if undefined\r\n get( name : string ) : any {\r\n // Lookup for resource in the current store. \r\n let local = this[ name ];\r\n\r\n // If something is found or it's the global store, return result.\r\n if( local || this === this._defaultStore ) return local;\r\n\r\n // Forward failed lookup to owner or global store.\r\n return this._owner ? this._owner.get( name ) : this._defaultStore.get( name ); \r\n }\r\n\r\n static get global(){ return _store; }\r\n static set global( store : Store ){\r\n if( _store ){\r\n _store.dispose();\r\n }\r\n\r\n Transactional.prototype._defaultStore = _store = store;\r\n }\r\n}\r\n\r\nStore.global = new Store();","// Dummy polyfill to prevent exception in IE.\r\nif( typeof Symbol === 'undefined' ){\r\n Object.defineProperty( window, 'Symbol', { value : { iterator : 'Symbol.iterator' }, configurable : true });\r\n}\r\n\r\nimport { Events, Mixable as Class, log } from '@type-r/mixture';\r\nimport { CollectionConstructor } from './collection';\r\n// Define synonims for NestedTypes backward compatibility.\r\nimport { attributes, ChainableAttributeSpec, Model, type as _type, value } from './model';\r\nimport { AnonymousModelConstructor } from './model/define'\r\nimport { isEmpty } from '@type-r/mixture/lib/tools';\r\n\r\n/**\r\n * Export everything \r\n */\r\nexport { Linked } from '@linked/value';\r\nexport * from '@type-r/mixture';\r\nexport * from './collection';\r\nexport * from './io-tools';\r\nexport * from './model';\r\nexport * from './relations';\r\nexport * from './transactions';\r\nexport { Model as Record, Class };\r\n\r\n\r\nexport const { on, off, trigger, once, listenTo, stopListening, listenToOnce } = Events;\r\n\r\n/** Wrap model or collection method in transaction. */\r\nexport function transaction< F extends Function >( method : F ) : F {\r\n return function( ...args ){\r\n let result;\r\n \r\n this.transaction( () => {\r\n result = method.apply( this, args );\r\n });\r\n \r\n return result;\r\n }\r\n}\r\n\r\nexport function type Model>( t : T[] ) : ChainableAttributeSpec>>;\r\nexport function type( t : T[] ) : ChainableAttributeSpec>>>;\r\nexport function type( t : T | ChainableAttributeSpec ) : ChainableAttributeSpec;\r\nexport function type( t : T ) : ChainableAttributeSpec>;\r\nexport function type( t : T ){\r\n return Array.isArray( t ) ?\r\n _type( _toModel( t[ 0 ] ).Collection ) :\r\n _type( _toModel( t ) );\r\n}\r\n\r\nconst _toModel = t =>\r\n t != null && Object.getPrototypeOf( t ) === Object.prototype ?\r\n attributes( t ) :\r\n t;\r\n\r\nChainableAttributeSpec.from = ( spec : any ) : ChainableAttributeSpec => {\r\n // Pass metatype through untouched...\r\n if( spec && spec instanceof ChainableAttributeSpec ) {\r\n return spec;\r\n }\r\n\r\n if( typeof spec === 'function' ) return type( spec );\r\n\r\n if( Array.isArray( spec ) ){\r\n if( spec.length !== 1 ||\r\n !spec[ 0 ] || (\r\n typeof spec[ 0 ] !== 'function' &&\r\n Object.getPrototypeOf( spec[ 0 ] ) !== Object.prototype\r\n )\r\n ) {\r\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, [ ModelType ] and [{ attr1, attr2, }] declares collection of models. Use Array or value([ 1, 2, ... ]) to declare plain array attributes.` );\r\n return value( spec );\r\n }\r\n\r\n return type( spec );\r\n }\r\n\r\n if( spec && typeof spec === 'object' ){\r\n if( Object.getPrototypeOf( spec ) !== Object.prototype ){\r\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, non-primitive values must be wrapped in value(...). All objects are treated as attribute specs and define nested models.` );\r\n return value( spec )\r\n }\r\n\r\n if( isEmpty( spec ) ){\r\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, objects are treated as attribute specs and define nested models. Use Object or value({...}) for an object attribute type.` );\r\n return value( spec )\r\n }\r\n\r\n return type( spec )\r\n }\r\n\r\n return value( spec );\r\n}\r\n "],"names":["defaults","dest","source","name","hasOwnProperty","arguments","length","i","other","isValidJSON","value","proto","Object","getPrototypeOf","prototype","Array","every","getBaseClass","Class","constructor","isEmpty","obj","key","some","fun","ArrayProto","arr","result","someArray","someObject","predicate","x","omit","discard","transform","assign","once","func","memo","first","apply","this","DateProto","Date","ObjectProto","notEqual","a","b","protoA","arraysNotEqual","keysA","keys","objectsNotEqual","HashProto","create","hashMap","hash","compare","av","valueOf","bv","definition","_i","names","names_1","_a","name_1","prop","desc","getOwnPropertyDescriptor","o","EventMap","map","handlers","concat","addEvent","split","eventSplitter","getBubblingHandler","callback","name_2","push","EventDescriptor","target","event_1","on","event_2","off","slice","addEventsMap","handler","_bubblingHandlers","event","c","d","e","trigger5","trigger3","trigger2","context","next","listOff","_events","filteredHead","prev","head","ev","_callback","listSend3","call","EventHandler","once_1","_once","name_3","strings","api","events","test","self","queue","all","listSend2","listSend4","listSend5","f","listSend6","extendStatics","setPrototypeOf","__proto__","p","__extends","__","__assign","t","s","n","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","r","Reflect","decorate","defineProperty","Mixable","protoProps","staticProps","BaseClass","mixins","defineMixin","merge","mergeObject","getStaticDefinitions","onDefine","definitions","mergeInheritedMembers","spec","statics","TheSubclass","__extends_1","predefine","define","Constructor","__super__","MixinsState","get","populate","onExtend","ClassOrDefinition","Ctor","rules","definitionRules","definitionDecorator","definitionKey","rule","appliedMixins","mixins_1","mixin","isArray","sourceMixins","mergeRules","ctors","ctors_1","unshift","object","ignore","dontMix","getOwnPropertyNames","forEachOwnProp","sourceProp","_this","assignProperty","mixinRules","protoValue","baseProto","resolveRule","function","caller","list","destProp","configurable","pipe","classFirst","classLast","_idCount","uniqueId","Messenger","localEvents","_localEvents","properties","eventsMap","defineProperties","toPropertyDescriptor","addReference","a_source","_listeningTo","removeAll","second","cid","_disposed","stopListening","initialize","Events","listener","isProduction","process","env","NODE_ENV","logEvents","Logger","level","filter","topic","msg","props","args","toString","console","Error","counter","_super","window","something","__inner_state__","body","join","JSON","stringify","logger","logEvents_1","logToConsole","throwingLogger","throwOn","log","trigger","bind","startIO","promise","options","thenDo","abortIO","_ioPromise","then","resp","triggerAndBubble","catch","err","abort","eventSource","collection","referenceMask","reference","splitTail","path","match","substr","tail","pop","local","resolve","Function","shift","resolveReference","root","action","skip","getStore","getOwner","ValidationError","iteratee","error","nested","each","eachError","_validateNested","validate","helpers","arrayHelpers","objectHelpers","dummyHelpers","Linked","clone","link","remove","iterator","mapped","element","at","array","splice","j","y","set","ClonedValueLink","checked","onChange","Boolean","update","truthyValue","EqualsValueLink","undefined","defaultValue","EnabledValueLink","ContainsRef","_","PropValueLink","links","_value$","whenValid","defaultError","CustomValueLink","state","unwrap","sourceKey","trim","sourceVal","tslib_1.__extends","parent","nextValue","el","removeAt","field","values","ItemsBehavior","Transactional","endpoint","_endpoint","Transactional_1","_owner","_ownerKey","_changeEventName","listenTo","isRoot","transactionApi","begin","commit","transaction","_changeToken","json","strict","validationError","eachValidationError","getClassName","data","_defaultStore","getOwnerEndpoint","_endpoints","_validationError","getValidationError","cidPrefix","_transaction","markAsDirty","dirty","silent","_isDirty","initiator","originalOptions","_onChildrenChange","aquire","owner","child","ReferenceError","free","_begin","_markAsDirty","setAttribute","record","_attributes","doUpdate","attributes","_previousAttributes","AttributesCopy","_changedAttributes","UpdateModelMixin","attribute","propagateChanges","forceAttributeChange","_createTransaction","a_values","unknown","changes","parse","shouldBeAnObject","unknownAttrsWarning","ModelTransaction","nested_1","_log","nested_2","changes_1","_b","emptyOptions","AnyType","model","handleChange","toJSON","type","getHook","v","isChanged","code","text","New value","Prev. value","a_options","getHooks","transforms","changeHandlers","changeEvents","hasCustomDefault","tools.isValidJSON","isRequired","wrapIsRequired","convert","getHook_1","reduce","chainGetHooks","validate_1","chainTransforms","chainChangeHandlers","doInit","prevHook","nextHook","prevTransform","nextTransform","prevHandler","nextHandler","ImmutableClassType","PrimitiveType","NumericType","num","isFinite","ArrayType","ObjectType","doNothing","FunctionType","DateType","date","timestamp","getTime","toISOString","supportsDate","isNaN","struct","minutesOffset","isoDatePattern","exec","k","numericKeys","UTC","safeParseDate","AggregatedType","canBeUpdated","nestedTransaction","_shared","persistent","_handleChange","unset","dispose","shareAndListen","listen","share","SharedType","implicitObject","_onChange","builtins","String","Number","metatypes","getMetatype","_metatype","idx","resolveBuiltins","ChainableAttributeSpec","check","metadata","required","ref","emptyFunction","changed","eventMap","unsubscribe","subscribe","cloned","Type","attrDef","shared","inferType","Symbol","LinkedAttr","attr","_error","_token","createAttribute","from","createAttributesMixin","attributesDefinition","baseClassAttributes","myAttributes","_.transform","allAttributes","_.defaults","ConstructorsMixin","attrDefs","attrs","Attributes","constructorsMixin","_attributesArray","createPropertyDescriptor","attrSpecs","eventsApi.EventMap","createWatcherFromRef","wrapWatcher","localEventsMixin","watcher","IOModelMixin","save","getEndpoint","ioMethod","isNew","id","fetch","read","destroy","_cidCounter","Model","asc","idAttribute","extend","_attributes$","__Attributes$","diff","hasChanged","val","old","nullify","forEach","_attributesArray_1","copy","pinStore","errors","asJson","l","newModel","clear","a_logger","Attributes definition","a_fun","tools.transform","ModelEntriesIterator","Collection","typeCheck","BaseModelAttributes","BaseModelAttributesCopy","IdAttribute","metatype","done","models","last","md","_c","coll","parseAnonimousModelDefinition","First","toMix","AnonimousModel","DefaultCollection","dynamicMixin","AttributeRefs","__ModelAttrRef","isMutableType","addAttributeLinks","_aquire","_free","convertAndAquire","_aggregationError","_itemEvents","sortElements","_comparator","sort","addIndex","index","removeIndex","updateIndex","previous","CollectionTransaction","logAggregationError","added","removed","added_1","_d","removed_1","_e","sorted","addTransaction","items","a_items","forceMerge","_byId","prevLength","a_items_1","item","appendElements","needSort","length_1","moveElements","sortOrMoveElements","ArrayMixin","mapFilter","res","doWhile","init","end","modelOrId","idOrObj","toPredicateFunction","m","firstMatch","find","entries","a_index","a_reducer","reducer","defaultGrouping","results","acc","noOp","keys_1","keys_2","removeMany","toRemove","_removeFromIndex","_reallocate","silentOptions","emptySetTransaction","len","src","_reallocateEmpty","setTransaction","_prevById","prevModels","toAdd","orderKept","reusedCount","previous_1","_garbageCollect","children","children_1","freeAll","addedOrChanged","_count","CollectionRefsType","Refs","RefsCollection","_SubsetOf","Collection_1","Subset","itemEvents","comparator","aa","bb","_store","objOrId","count","elements","add","reset","enabled","liveUpdates","filter_1","_liveUpdates","updated","aggregated","a_elements","previousModels","toElements","previousModels_1","toDispose","recordsOrIds","notify","removeOne","LinkedIncludes","a_next","Argument","Attributes spec","records","parsed","toggle","parseReference","collectionRef","ModelRefType","theMemberOf","masterCollection","T","getMasterCollection","subsetOf","CollectionClass","SubsetOf","subsetOfBehavior","refs","toArray","SubsetOfCollection","resolvedWith","resolveRefs","delaySet","raw","addAll","defineSubsetCollection","memberOf","createSubset","subset","master","elements_1","tools.notEqual","Store","store","global","listenToOnce","_type","_toModel","attrName","getMetadata","value_1","as","reject","onAbort","fn","Promise","a_resolve","a_reject","listName","method"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../../mixture/src/tools.ts","../../mixture/src/eventsource.ts","../../node_modules/tslib/tslib.es6.js","../../mixture/src/mixins.ts","../../mixture/src/events.ts","../../mixture/src/logging.ts","../src/io-tools.ts","../src/traversable.ts","../src/validation.ts","../../node_modules/@linked/value/node_modules/tslib/tslib.es6.js","../../node_modules/@linked/value/src/helpers.ts","../../node_modules/@linked/value/src/index.ts","../src/transactions.ts","../src/model/updates.ts","../src/model/metatypes/any.ts","../src/model/metatypes/basic.ts","../src/model/metatypes/date.ts","../src/model/metatypes/owned.ts","../src/model/metatypes/shared.ts","../src/model/metatypes/index.ts","../src/model/attrDef.ts","../src/model/define.ts","../src/model/linked-attrs.ts","../src/model/mixin.ts","../src/model/io-mixin.ts","../src/model/model.ts","../src/model/index.ts","../src/collection/commons.ts","../src/collection/add.ts","../src/collection/arrayMethods.ts","../src/collection/remove.ts","../src/collection/set.ts","../src/collection/index.ts","../src/relations/commons.ts","../src/relations/from.ts","../src/relations/subsetOf.ts","../src/relations/store.ts","../src/index.ts"],"sourcesContent":[" /** Similar to underscore `_.defaults` */\nexport function defaults< T >( dest : T, ...sources : Object[] ) : T\nexport function defaults< T >( dest : T, source : Object ) : T {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) && !dest.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n if( arguments.length > 2 ){\n for( let i = 2; i < arguments.length; i++ ){\n const other = arguments[ i ];\n other && defaults( dest, other );\n }\n }\n\n return dest;\n}\n\n/** Check if value is raw JSON */\nexport function isValidJSON( value : any ) : boolean {\n if( value === null ){\n return true;\n }\n\n switch( typeof value ){\n case 'number' :\n case 'string' :\n case 'boolean' :\n return true;\n\n case 'object':\n var proto = Object.getPrototypeOf( value );\n\n if( proto === Object.prototype || proto === Array.prototype ){\n return every( value, isValidJSON );\n }\n }\n\n return false;\n}\n\n/** Get the base class constructor function.\n * @param Class Subclass constructor function.\n * @returns Base class constructor function.\n */\nexport function getBaseClass( Class : Function ) {\n return Object.getPrototypeOf( Class.prototype ).constructor\n}\n\nexport function assignToClassProto( Class, definition : T, ...names : K[] ) : void {\n for( let name of names ){\n const value = definition[ name ];\n value === void 0 || ( Class.prototype[ name ] = value );\n }\n}\n\n/** Checks whenever given object is an empty hash `{}` */\nexport function isEmpty( obj : {} ) : boolean {\n if( obj ){\n for( let key in obj ){\n if( obj.hasOwnProperty( key ) ){\n return false;\n }\n }\n }\n\n return true;\n}\n\nexport type Iteratee = ( value : any, key? : string | number ) => any;\n\nfunction someArray( arr : any[], fun : Iteratee ) : any {\n let result;\n\n for( let i = 0; i < arr.length; i++ ){\n if( result = fun( arr[ i ], i ) ){\n return result;\n }\n }\n}\n\nfunction someObject( obj : {}, fun : Iteratee ) : any {\n let result;\n\n for( let key in obj ){\n if( obj.hasOwnProperty( key ) ){\n if( result = fun( obj[ key ], key ) ){\n return result;\n }\n }\n }\n}\n\n/** Similar to underscore `_.some` */\nexport function some( obj, fun : Iteratee ) : any {\n if( Object.getPrototypeOf( obj ) === ArrayProto ){\n return someArray( obj, fun );\n }\n else{\n return someObject( obj, fun );\n }\n}\n\n/** Similar to underscore `_.every` */\nexport function every( obj : { }, predicate : Iteratee ) : boolean {\n return !some( obj, x => !predicate( x ) );\n}\n\n/** Similar to `getOwnPropertyDescriptor`, but traverse the whole prototype chain. */\nexport function getPropertyDescriptor( obj : {}, prop : string ) : PropertyDescriptor {\n let desc : PropertyDescriptor;\n\n for( let proto = obj; !desc && proto; proto = Object.getPrototypeOf( proto ) ) {\n desc = Object.getOwnPropertyDescriptor( proto, prop );\n }\n\n return desc;\n}\n\n/** Similar to underscore `_.omit` */\nexport function omit( source : {}, ...rest : string[] ) : {}\nexport function omit( source ) : {} {\n const dest = {}, discard = {};\n\n for( let i = 1; i < arguments.length; i ++ ){\n discard[ arguments[ i ] ] = true;\n }\n\n for( var name in source ) {\n if( !discard.hasOwnProperty( name ) && source.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n return dest;\n}\n\n/** map `source` object properties with a given function, and assign the result to the `dest` object.\n * When `fun` returns `undefined`, skip this value. \n */\nexport function transform< A, B >( dest : { [ key : string ] : A }, source : { [ key : string ] : B }, fun : ( value : B, key : string ) => A | void ) : { [ key : string ] : A } {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) ) {\n var value = fun( source[ name ], name );\n value === void 0 || ( dest[ name ] = < A >value );\n }\n }\n\n return dest;\n}\n\nexport function fastAssign< A >( dest : A, source : {} ) : A {\n for( var name in source ) {\n dest[ name ] = source[ name ];\n }\n\n return dest;\n}\n\nexport function fastDefaults< A >( dest : A, source : {} ) : A {\n for( var name in source ) {\n if( dest[ name ] === void 0 ){\n dest[ name ] = source[ name ];\n }\n }\n\n return dest;\n}\n\n/** Similar to underscore `_.extend` and `Object.assign` */\nexport function assign< T >( dest : T, ...sources : Object[] ) : T\nexport function assign< T >( dest : T, source : Object ) : T {\n for( var name in source ) {\n if( source.hasOwnProperty( name ) ) {\n dest[ name ] = source[ name ];\n }\n }\n\n if( arguments.length > 2 ){\n for( let i = 2; i < arguments.length; i++ ){\n const other = arguments[ i ];\n other && assign( dest, other );\n }\n }\n\n return dest;\n}\n\n/** Similar to underscore `_.keys` */\nexport function keys( o : any ) : string[]{\n return o ? Object.keys( o ) : [];\n}\n\n/** Similar to underscore `_.once` */\nexport function once( func : Function ) : Function {\n var memo, first = true;\n return function() {\n if ( first ) {\n first = false;\n memo = func.apply(this, arguments);\n func = null;\n }\n return memo;\n };\n}\n\nconst ArrayProto = Array.prototype,\n DateProto = Date.prototype,\n ObjectProto = Object.prototype;\n\n/**\n * Determine whenever two values are not equal, deeply traversing \n * arrays and plain JS objects (hashes). Dates are compared by enclosed timestamps, all other\n * values are compared with strict comparison.\n */\nexport function notEqual( a : any, b : any) : boolean {\n if( a === b ) return false;\n\n if( a && b && typeof a == 'object' && typeof b == 'object' ) {\n const protoA = Object.getPrototypeOf( a );\n\n if( protoA !== Object.getPrototypeOf( b ) ) return true;\n\n switch( protoA ){\n case DateProto : return +a !== +b;\n case ArrayProto : return arraysNotEqual( a, b );\n case ObjectProto :\n case null:\n return objectsNotEqual( a, b );\n }\n }\n\n return true;\n}\n\nfunction objectsNotEqual( a, b ) {\n const keysA = Object.keys( a );\n\n if( keysA.length !== Object.keys( b ).length ) return true;\n\n for( let i = 0; i < keysA.length; i++ ) {\n const key = keysA[ i ];\n\n if( !b.hasOwnProperty( key ) || notEqual( a[ key ], b[ key ] ) ) {\n return true;\n }\n }\n\n return false;\n}\n\nfunction arraysNotEqual( a, b ) {\n if( a.length !== b.length ) return true;\n\n for( let i = 0; i < a.length; i++ ) {\n if( notEqual( a[ i ], b[ i ] ) ) return true;\n }\n\n return false;\n}\n\n/**\n * Create an object without Object prototype members except hasOwnProperty.\n * @param obj - optional parameter to populate the hash map from.\n */\nconst HashProto = Object.create( null );\nHashProto.hasOwnProperty = ObjectProto.hasOwnProperty;\n\nexport function hashMap( obj? ){\n const hash = Object.create( HashProto );\n return obj ? assign( hash, obj ) : hash;\n}\n\nexport function compare( a : any, b : any ) : -1 | 0 | 1 {\n // Handle strictly equal values.\n if( a == b ) return 0;\n\n // Handle nulls.\n if( a == null ) return -1;\n if( b == null ) return 1;\n\n // No nulls. Convert values to primitives.\n const av = a.valueOf(),\n bv = b.valueOf();\n\n return av < bv ? -1 :\n av > bv ? 1 :\n 0;\n}","import { once as _once } from './tools'\n\n/*******************\n * Prebuilt events map, used for optimized bulk event subscriptions.\n *\n * const events = new EventMap({\n * 'change' : true, // Resend this event from self as it is.\n * 'change:attr' : 'localTargetFunction',\n * 'executedInTargetContext' : function(){ ... }\n * 'executedInNativeContext' : '^props.handler'\n * })\n */\nexport interface EventsDefinition {\n [ events : string ] : Function | string | boolean\n}\n\nexport class EventMap {\n handlers : EventDescriptor[] = [];\n\n constructor( map? : EventsDefinition | EventMap ){\n if( map ){\n if( map instanceof EventMap ){\n this.handlers = map.handlers.slice();\n }\n else{\n map && this.addEventsMap( map );\n }\n }\n }\n\n merge( map : EventMap ){\n this.handlers = this.handlers.concat( map.handlers );\n }\n\n addEventsMap( map : EventsDefinition ){\n for( let names in map ){\n this.addEvent( names, map[ names ] )\n }\n }\n\n bubbleEvents( names : string ){\n for( let name of names.split( eventSplitter ) ){\n this.addEvent( name, getBubblingHandler( name ) );\n }\n }\n\n addEvent( names : string, callback : Function | string | boolean ){\n const { handlers } = this;\n\n for( let name of names.split( eventSplitter ) ){\n handlers.push( new EventDescriptor( name, callback ) );\n }\n }\n\n subscribe( target : {}, source : EventSource ){\n for( let event of this.handlers ){\n on( source, event.name, event.callback, target );\n }\n }\n\n unsubscribe( target : {}, source : EventSource ){\n for( let event of this.handlers ){\n off( source, event.name, event.callback, target );\n }\n }\n}\n\nexport class EventDescriptor {\n callback : Function\n\n constructor(\n public name : string,\n callback : Function | string | boolean\n ){\n if( callback === true ){\n this.callback = getBubblingHandler( name );\n }\n else if( typeof callback === 'string' ){\n this.callback =\n function localCallback(){\n const handler = this[ callback ];\n handler && handler.apply( this, arguments );\n };\n }\n else{\n this.callback = callback;\n }\n }\n}\n\nconst _bubblingHandlers = {};\n\nfunction getBubblingHandler( event : string ){\n return _bubblingHandlers[ event ] || (\n _bubblingHandlers[ event ] = function( a?, b?, c?, d?, e? ){\n if( d !== void 0 || e !== void 0 ) trigger5( this, event, a, b, c, d, e );\n if( c !== void 0 ) trigger3( this, event, a, b, c );\n else trigger2( this, event, a, b );\n }\n );\n}\n\nexport interface HandlersByEvent {\n [ name : string ] : EventHandler\n}\n\nexport class EventHandler {\n constructor( public callback : Callback, public context : any, public next = null ){}\n}\n\nfunction listOff( _events : HandlersByEvent, name : string, callback : Callback, context : any ){\n const head = _events[ name ];\n\n let filteredHead, prev;\n\n for( let ev = head; ev; ev = ev.next ){\n // Element must be kept\n if( ( callback && callback !== ev.callback && callback !== ev.callback._callback ) ||\n ( context && context !== ev.context ) ){\n \n prev = ev;\n filteredHead || ( filteredHead = ev );\n }\n // Element must be skipped\n else{\n if( prev ) prev.next = ev.next;\n }\n }\n\n if( head !== filteredHead ) _events[ name ] = filteredHead;\n}\n\nfunction listSend2( head : EventHandler, a, b ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b );\n}\n\nfunction listSend3( head : EventHandler, a, b, c ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c );\n}\n\nfunction listSend4( head : EventHandler, a, b, c, d ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d );\n}\n\nfunction listSend5( head : EventHandler, a, b, c, d, e ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e );\n}\n\nfunction listSend6( head : EventHandler, a, b, c, d, e, f ){\n for( let ev = head; ev; ev = ev.next ) ev.callback.call( ev.context, a, b, c, d, e, f );\n}\n\nexport interface Callback extends Function {\n _callback? : Function\n}\n\nexport function on( source : EventSource, name : string, callback : Callback, context? : any ) : void {\n if( callback ){\n const _events = source._events || ( source._events = Object.create( null ) );\n _events[ name ] = new EventHandler( callback, context, _events[ name ] );\n }\n}\n\nexport function once( source : EventSource, name : string, callback : Callback, context? : any ) : void {\n if( callback ){\n const once : Callback = _once( function(){\n off( source, name, once );\n callback.apply(this, arguments);\n });\n\n once._callback = callback;\n on( source, name, once, context );\n }\n}\n\nexport function off( source : EventSource, name? : string, callback? : Callback, context? : any ) : void {\n const { _events } = source;\n if( _events ){\n if( callback || context ) {\n if( name ){\n listOff( _events, name, callback, context );\n }\n else{\n for( let name in _events ){\n listOff( _events, name, callback, context );\n }\n }\n }\n else if( name ){\n _events[ name ] = void 0;\n }\n else{\n source._events = void 0;\n }\n }\n}\n\nexport interface EventSource {\n /** @internal */\n _events : HandlersByEvent\n}\n\nconst eventSplitter = /\\s+/;\n\nexport function strings( api : ApiEntry, source : EventSource, events : string, callback : Callback, context ){\n if( eventSplitter.test( events ) ){\n const names = events.split( eventSplitter );\n for( let name of names ) api( source, name, callback, context );\n }\n else api( source, events, callback, context );\n}\n\nexport type ApiEntry = ( source : EventSource, event : string, callback : Callback, context? : any ) => void\n\n/*********************************\n * Event-triggering API\n */\n\n export function trigger2( self : EventSource, name : string, a, b ) : void {\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend2( queue, a, b );\n listSend3( all, name, a, b );\n }\n};\n\nexport function trigger3( self : EventSource, name : string, a, b, c ) : void{\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend3( queue, a, b, c );\n listSend4( all, name, a, b, c );\n }\n};\n\nexport function trigger5( self : EventSource, name : string, a, b, c, d, e ) : void{\n const { _events } = self;\n if( _events ){\n const queue = _events[ name ],\n { all } = _events;\n\n listSend5( queue, a, b, c, d, e );\n listSend6( all, name, a, b, c, d, e );\n }\n};","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/*****************************************************************\n * Mixins engine and @define metaprogramming class extensions\n *\n * Vlad Balin & Volicon, (c) 2016-2017\n */\nimport { __extends } from 'tslib';\nimport { assign, defaults, getBaseClass, hashMap, transform } from './tools';\n\nexport interface Subclass< T > extends MixableConstructor {\n new ( ...args ) : T\n prototype : T\n}\n\nexport interface MixableConstructor extends Function{\n __super__? : object;\n mixins? : MixinsState;\n onExtend? : ( BaseClass : Function ) => void;\n onDefine? : ( definition : object, BaseClass : Function ) => void;\n define? : ( definition? : object, statics? : object ) => MixableConstructor;\n extend? : ( definition? : T, statics? : object ) => Subclass;\n}\n\nexport interface MixableDefinition {\n mixins? : Mixin[]\n}\n\n/**\n * Base class, holding metaprogramming class extensions.\n * Supports mixins and Class.define metaprogramming method.\n */\nexport class Mixable {\n static onExtend : ( BaseClass : Function ) => void;\n static onDefine : ( definition : object, BaseClass : Function ) => object; \n static __super__ : object\n static mixins : MixinsState;\n\n /** \n * Must be called after inheritance and before 'define'.\n */\n static define( protoProps : MixableDefinition = {}, staticProps? : object ) : MixableConstructor {\n const BaseClass : MixableConstructor = getBaseClass( this );\n\n // Assign statics.\n staticProps && assign( this, staticProps );\n\n // Extract and apply mixins from the definition.\n const { mixins, ...defineMixin } = protoProps;\n mixins && this.mixins.merge( mixins );\n\n // Unshift definition to the the prototype.\n this.mixins.mergeObject( this.prototype, defineMixin, true );\n\n // Unshift definition from statics to the prototype.\n this.mixins.mergeObject( this.prototype, this.mixins.getStaticDefinitions( BaseClass ), true );\n\n // Call onDefine hook, if it's present.\n this.onDefine && this.onDefine( this.mixins.definitions, BaseClass );\n \n // Apply merge rules to inherited members. No mixins can be added after this point.\n this.mixins.mergeInheritedMembers( BaseClass );\n\n return this;\n }\n\n /** Backbone-compatible extend method to be used in ES5 and for backward compatibility */\n static extend< T extends object>(spec? : T, statics? : {} ) : Subclass< T > {\n let TheSubclass : Subclass< T >;\n\n // 1. Create the subclass (ES5 compatibility shim).\n // If constructor function is given...\n if( spec && spec.hasOwnProperty( 'constructor' ) ){\n // ...we need to manually call internal TypeScript __extend function. Hack! Hack!\n TheSubclass = spec.constructor as any;\n __extends( TheSubclass, this );\n }\n // Otherwise, create the subclall in usual way.\n else{\n TheSubclass = class Subclass extends this {} as any;\n }\n\n predefine( TheSubclass );\n spec && TheSubclass.define( spec, statics );\n\n return TheSubclass;\n }\n}\n\n/** @decorator `@predefine` for forward definitions. Can be used with [[Mixable]] classes only.\n * Forwards the call to the [[Mixable.predefine]];\n */\nexport function predefine( Constructor : MixableConstructor ) : void {\n const BaseClass : MixableConstructor = getBaseClass( Constructor );\n\n // Legacy systems support\n Constructor.__super__ = BaseClass.prototype;\n \n // Initialize mixins structures...\n Constructor.define || MixinsState.get( Mixable ).populate( Constructor );\n\n // Make sure Ctor.mixins are ready before the callback...\n MixinsState.get( Constructor );\n\n // Call extend hook.\n Constructor.onExtend && Constructor.onExtend( BaseClass );\n}\n\n/** @decorator `@define` for metaprogramming magic. Can be used with [[Mixable]] classes only.\n * Forwards the call to [[Mixable.define]].\n */\nexport function define( ClassOrDefinition : Function ) : void;\nexport function define( ClassOrDefinition : object ) : ClassDecorator;\nexport function define( ClassOrDefinition : object | MixableConstructor ){\n // @define class\n if( typeof ClassOrDefinition === 'function' ){\n predefine( ClassOrDefinition );\n ( ClassOrDefinition as MixableConstructor ).define();\n }\n // @define({ prop : val, ... }) class\n else{\n return function( Ctor : MixableConstructor ){\n predefine( Ctor );\n Ctor.define( ClassOrDefinition );\n } as any;\n }\n}\n\nexport function definitions( rules : MixinMergeRules ) : ClassDecorator {\n return ( Class : Function ) => {\n const mixins = MixinsState.get( Class );\n mixins.definitionRules = defaults( hashMap(), rules, mixins.definitionRules );\n }\n}\n\n// Create simple property list decorator\nexport function propertyListDecorator( listName: string ) : PropertyDecorator {\n return function propList(proto, name : string) {\n const list = proto.hasOwnProperty( listName ) ?\n proto[ listName ] : (proto[ listName ] = (proto[ listName ] || []).slice()); \n\n list.push(name);\n }\n}\n\nexport function definitionDecorator( definitionKey, value ){\n return ( proto : object, name : string ) => {\n MixinsState\n .get( proto.constructor )\n .mergeObject( proto, {\n [ definitionKey ] : {\n [ name ] : value\n }\n });\n }\n}\n\nexport class MixinsState {\n mergeRules : MixinMergeRules;\n definitionRules : MixinMergeRules;\n definitions : object = {};\n appliedMixins : Mixin[];\n\n // Return mixins state for the class. Initialize if it's not exist.\n static get( Class ) : MixinsState {\n const { mixins } = Class;\n \n return mixins && Class === mixins.Class ? mixins :\n Class.mixins = new MixinsState( Class );\n }\n\n constructor( public Class : MixableConstructor ){\n const { mixins } = getBaseClass( Class );\n\n this.mergeRules = ( mixins && mixins.mergeRules ) || hashMap();\n this.definitionRules = ( mixins && mixins.definitionRules ) || hashMap();\n this.appliedMixins = ( mixins && mixins.appliedMixins ) || [];\n }\n\n getStaticDefinitions( BaseClass : Function ){\n const definitions = hashMap(),\n { Class } = this;\n\n return transform( definitions, this.definitionRules, ( rule, name ) =>{\n if( BaseClass[ name ] !== Class[ name ]){\n return Class[ name ];\n }\n });\n }\n\n merge( mixins : Mixin[] ){\n const proto = this.Class.prototype,\n { mergeRules } = this;\n\n // Copy applied mixins array as it's going to be updated.\n const appliedMixins = this.appliedMixins = this.appliedMixins.slice();\n\n // Apply mixins in sequence...\n for( let mixin of mixins ) {\n // Mixins array should be flattened.\n if( Array.isArray( mixin ) ) {\n this.merge( mixin );\n }\n // Don't apply mixins twice.\n else if( appliedMixins.indexOf( mixin ) < 0 ){\n appliedMixins.push( mixin );\n\n // For constructors, merge _both_ static and prototype members.\n if( typeof mixin === 'function' ){\n // Merge static members\n this.mergeObject( this.Class, mixin );\n\n // merge definitionRules and mergeRules\n const sourceMixins = ( mixin as any ).mixins;\n if( sourceMixins ){\n this.mergeRules = defaults( hashMap(), this.mergeRules, sourceMixins.mergeRules );\n this.definitionRules = defaults( hashMap(), this.definitionRules, sourceMixins.definitionRules );\n this.appliedMixins = this.appliedMixins.concat( sourceMixins.appliedMixins );\n }\n\n // Prototypes are merged according with rules.\n this.mergeObject( proto, mixin.prototype );\n }\n // Handle plain object mixins.\n else {\n this.mergeObject( proto, mixin );\n }\n }\n }\n }\n\n populate( ...ctors : Function[] ){\n for( let Ctor of ctors ) {\n MixinsState.get( Ctor ).merge([ this.Class ]);\n }\n }\n\n mergeObject( dest : object, source : object, unshift? : boolean ) {\n forEachOwnProp( source, name => {\n const sourceProp = Object.getOwnPropertyDescriptor( source, name );\n let rule : MixinMergeRule;\n\n if( rule = this.definitionRules[ name ] ){\n assignProperty( this.definitions, name, sourceProp, rule, unshift );\n }\n\n if( !rule || rule === mixinRules.protoValue ){\n assignProperty( dest, name, sourceProp, this.mergeRules[ name ], unshift );\n }\n });\n }\n\n mergeInheritedMembers( BaseClass : Function ){\n const { mergeRules, Class } = this;\n\n if( mergeRules ){\n const proto = Class.prototype,\n baseProto = BaseClass.prototype;\n\n for( let name in mergeRules ) {\n const rule = mergeRules[ name ];\n\n if( proto.hasOwnProperty( name ) && name in baseProto ){\n proto[ name ] = resolveRule( proto[ name ], baseProto[ name ], rule );\n }\n }\n }\n }\n}\n\nconst dontMix = {\n function : hashMap({\n length : true,\n prototype : true,\n caller : true,\n arguments : true,\n name : true,\n __super__ : true\n }),\n \n object : hashMap({\n constructor : true\n }) \n}\n\nfunction forEachOwnProp( object : object, fun : ( name : string ) => void ){\n const ignore = dontMix[ typeof object ];\n\n for( let name of Object.getOwnPropertyNames( object ) ) {\n ignore[ name ] || fun( name );\n }\n}\n\nexport interface MixinMergeRules {\n [ name : string ] : MixinMergeRule\n}\n\nexport type MixinMergeRule = ( a : any, b : any ) => any\nexport type Mixin = { [ key : string ] : any } | Function\n\n// @mixins( A, B, ... ) decorator.\nexport interface MixinRulesDecorator {\n ( rules : MixinMergeRules ) : ClassDecorator\n value( a : object, b : object) : object;\n protoValue( a : object, b : object) : object;\n merge( a : object, b : object ) : object;\n pipe( a: Function, b : Function ) : Function;\n defaults( a: Function, b : Function ) : Function;\n classFirst( a: Function, b : Function ) : Function;\n classLast( a: Function, b : Function ) : Function;\n every( a: Function, b : Function ) : Function;\n some( a: Function, b : Function ) : Function;\n}\n\nexport const mixins = ( ...list : Mixin[] ) => (\n ( Class : Function ) => MixinsState.get( Class ).merge( list )\n);\n\n// @mixinRules({ name : rule, ... }) decorator.\nexport const mixinRules = ( ( rules : MixinMergeRules ) => (\n ( Class : Function ) => {\n const mixins = MixinsState.get( Class );\n mixins.mergeRules = defaults( rules, mixins.mergeRules );\n }\n) ) as MixinRulesDecorator;\n\n// Pre-defined mixin merge rules\n\nmixinRules.value = ( a, b ) => a;\n\nmixinRules.protoValue = ( a, b ) => a;\n\n// Recursively merge members\nmixinRules.merge = ( a, b ) => defaults( {}, a, b );\n\n // Execute methods in pipe, with the class method executed last.\nmixinRules.pipe = ( a, b ) => (\n function( x : any ) : any {\n return a.call( this, b.call( this, x ) );\n }\n);\n\n // Assume methods return an object, and merge results with defaults (class method executed first)\nmixinRules.defaults = ( a : Function, b : Function ) => (\n function() : object {\n return defaults( a.apply( this, arguments ), b.apply( this, arguments ) );\n }\n);\n\n// Execute methods in sequence staring with the class method.\nmixinRules.classFirst = ( a : Function, b : Function ) => (\n function() : void {\n a.apply( this, arguments );\n b.apply( this, arguments );\n }\n);\n\n // Execute methods in sequence ending with the class method.\nmixinRules.classLast = ( a : Function, b : Function ) => (\n function() : void {\n b.apply( this, arguments );\n a.apply( this, arguments );\n }\n)\n\n // Execute methods in sequence returning the first falsy result.\nmixinRules.every = ( a : Function, b : Function ) =>(\n function() : any {\n return a.apply( this, arguments ) && b.apply( this, arguments );\n }\n);\n // Execute methods in sequence returning the first truthy result.\nmixinRules.some = ( a : Function, b : Function ) =>(\n function() : any {\n return a.apply( this, arguments ) || b.apply( this, arguments );\n }\n);\n\n/**\n * Helpers\n */\n\nfunction assignProperty( dest : object, name : string, sourceProp : PropertyDescriptor, rule : MixinMergeRule, unshift? : boolean ){\n// Destination prop is defined, thus the merge rules must be applied.\n if( dest.hasOwnProperty( name ) ){\n const destProp = Object.getOwnPropertyDescriptor( dest, name );\n\n if( destProp.configurable && 'value' in destProp ){\n dest[ name ] = unshift ?\n resolveRule( sourceProp.value, destProp.value, rule ) :\n resolveRule( destProp.value, sourceProp.value, rule ) ;\n }\n }\n // If destination is empty, just copy the prop over.\n else{\n Object.defineProperty( dest, name, sourceProp );\n }\n}\n\nfunction resolveRule( dest, source, rule : MixinMergeRule ){\n // When destination is empty, take the source.\n if( dest === void 0 ) return source;\n\n // In these cases we take non-empty destination:\n if( !rule || source === void 0 ) return dest;\n\n // In other cases we must merge values.\n return rule( dest, source );\n}","import * as _eventsApi from './eventsource';\nimport { EventMap, EventsDefinition, EventSource, HandlersByEvent } from './eventsource';\nimport { define, definitions, Mixable, MixableConstructor, mixinRules, MixinsState } from './mixins';\nimport { omit, transform } from './tools';\n\nconst { strings, on, off, once, trigger5, trigger2, trigger3 } = _eventsApi;\n\nlet _idCount = 0;\n\nfunction uniqueId() : string {\n return 'l' + _idCount++;\n}\n\nexport { EventMap, EventsDefinition };\n\nexport interface MessengerDefinition {\n _localEvents? : EventMap\n localEvents? : EventsDefinition\n properties? : PropertyMap\n [ name : string ] : any\n}\n\nexport interface PropertyMap {\n [ name : string ] : Property\n}\n\nexport type Property = PropertyDescriptor | ( () => any )\n\nexport interface MessengersByCid {\n [ cid : string ] : Messenger\n}\n\nexport type EventCallbacks = { [ events : string ] : EventCallback }\nexport type EventCallback = ( this : Context, ...args : any[] ) => void\n\n/*************************\n * Messenger is mixable class with capabilities of sending and receiving synchronous events.\n * This class itself can serve as both mixin and base class.\n */\n\n@define\n@definitions({\n properties : mixinRules.merge,\n localEvents : mixinRules.merge\n})\nexport class Messenger implements Mixable, EventSource {\n // Define extendable mixin static properties.\n /** @internal */\n static __super__ : object;\n static mixins : MixinsState;\n static onExtend : ( BaseClass : Function ) => void;\n static define : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\n static extend : ( definition? : MessengerDefinition, statics? : object ) => MixableConstructor;\n static onDefine({ localEvents, _localEvents, properties } : MessengerDefinition, BaseClass? : typeof Mixable ){\n // Handle localEvents definition\n if( localEvents || _localEvents ){\n const eventsMap = new EventMap( this.prototype._localEvents );\n\n localEvents && eventsMap.addEventsMap( localEvents );\n _localEvents && eventsMap.merge( _localEvents );\n \n this.prototype._localEvents = eventsMap;\n }\n\n // Handle properties definitions...\n if( properties ){\n Object.defineProperties( this.prototype, transform( {}, properties, toPropertyDescriptor ) );\n }\n }\n\n /** @internal */ \n _events : HandlersByEvent = void 0;\n\n /** @internal */ \n _listeningTo : MessengersByCid = void 0\n\n /** Unique client-only id. */\n cid : string\n\n /** Prototype-only property to manage automatic local events subscription */ \n protected _localEvents : EventMap\n\n constructor(){\n this.cid = uniqueId();\n this.initialize.apply( this, arguments );\n\n // TODO: local events subscribe?\n }\n\n /** Method is called at the end of the constructor */\n initialize() : void {}\n \n on( events : string | EventCallbacks, callback?, context? ) : this {\n if( typeof events === 'string' ) strings( on, this, events, callback, context );\n else for( let name in events ) strings( on, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n once( events : string | EventCallbacks, callback?, context? ) : this {\n if( typeof events === 'string' ) strings( once, this, events, callback, context );\n else for( let name in events ) strings( once, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n off( events? : string | EventCallbacks, callback?, context? ) : this {\n if( !events ) off( this, void 0, callback, context );\n else if( typeof events === 'string' ) strings( off, this, events, callback, context );\n else for( let name in events ) strings( off, this, name, events[ name ], context || callback );\n\n return this;\n }\n\n // Trigger one or many events, firing all bound callbacks. Callbacks are\n // passed the same arguments as `trigger` is, apart from the event name\n // (unless you're listening on `\"all\"`, which will cause your callback to\n // receive the true name of the event as the first argument).\n trigger(name : string, a?, b?, c?, d?, e? ) : this {\n if( d !== void 0 || e !== void 0 ) trigger5( this, name, a, b, c, d, e );\n else if( c !== void 0 ) trigger3( this, name, a, b, c );\n else trigger2( this, name, a, b );\n return this;\n }\n\n listenTo( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\n if( source ){\n addReference( this, source );\n source.on( a, !b && typeof a === 'object' ? this : b, this );\n }\n\n return this;\n }\n\n listenToOnce( source : Messenger, a : string | EventCallbacks, b? : Function ) : this {\n if( source ){\n addReference( this, source );\n source.once( a, !b && typeof a === 'object' ? this : b, this );\n }\n\n return this;\n }\n\n stopListening( a_source? : Messenger, a? : string | EventCallbacks, b? : Function ) : this {\n const { _listeningTo } = this;\n if( _listeningTo ){\n const removeAll = !( a || b ),\n second = !b && typeof a === 'object' ? this : b;\n\n if( a_source ){\n const source = _listeningTo[ a_source.cid ];\n if( source ){\n if( removeAll ) delete _listeningTo[ a_source.cid ];\n source.off( a, second, this );\n }\n }\n else if( a_source == null ){\n for( let cid in _listeningTo ) _listeningTo[ cid ].off( a, second, this );\n\n if( removeAll ) ( this._listeningTo = void 0 );\n }\n }\n\n return this;\n }\n\n /**\n * Destructor. Stops messenger from listening to all objects,\n * and stop others from listening to the messenger. \n */\n _disposed : boolean\n\n dispose() : void {\n if( this._disposed ) return;\n\n this.stopListening();\n this.off();\n\n this._disposed = true;\n }\n}\n\n/**\n * Backbone 1.2 API conformant Events mixin.\n */\nexport const Events : Messenger = omit( Messenger.prototype, 'constructor', 'initialize' );\n\n/**\n * Messenger Private Helpers \n */\n\nfunction toPropertyDescriptor( x : Property ) : PropertyDescriptor {\n if( x ){\n return typeof x === 'function' ? { get : < () => any >x, configurable : true } : x;\n }\n}\n\nfunction addReference( listener : Messenger, source : Messenger ){\n const listeningTo = listener._listeningTo || (listener._listeningTo = Object.create( null ) ),\n cid = source.cid || ( source.cid = uniqueId() );\n\n listeningTo[ cid ] = source;\n}","import { Messenger } from './events'\nimport { define } from './mixins';\n\ndeclare var process : any;\n\nexport type LogLevel = 'error' | 'warn' | 'debug' | 'info' | 'log';\nexport type LoggerEventHandler = ( topic : string, msg : string, props : object ) => void;\n\nexport const isProduction = typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'production',\n logEvents : LogLevel[] = isProduction ?\n [ 'error', 'info' ] :\n [ 'error', 'warn', 'debug', 'info', 'log' ];\n\n@define\nexport class Logger extends Messenger {\n counter : { [ level in LogLevel ]? : number } = {}\n\n // Log events of the given log level to the console, optionally filtered by topic\n logToConsole( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n const args = [ `[${topic}] ${msg}` ];\n \n for( let name in props ){\n args.push( `\\n\\t${name}:`, toString( props[ name ] ) );\n }\n \n console[ level ].apply( console, args );\n }\n });\n }\n\n // Fire exception on the events of the given log level, optionally filtered by topic\n throwOn( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n throw new Error( `[${topic}] ${msg}` );\n }\n });\n }\n\n // Count log events of the given level, optionally filtered by topic\n count( level : LogLevel, filter? : RegExp ) : this {\n return this.on( level, ( topic, msg, props ) => {\n if( !filter || filter.test( topic ) ){\n this.counter[ level ] = ( this.counter[ level ] || 0 ) + 1;\n }\n });\n }\n\n trigger : ( level : LogLevel, topic : string, message : string, props? : object ) => this;\n \n off : ( event? : LogLevel ) => this;\n\n\n on( handlers : { [ name in LogLevel ] : LoggerEventHandler } ) : this;\n on( handlers : LogLevel, handler : LoggerEventHandler ) : this;\n on( handlers : 'all', handler : ( level : LogLevel, topic : string, msg : string, props : object ) => void ) : this;\n on( a : any, b? : any ){\n return super.on( a, b );\n }\n}\n\n/**\n * Convert objects to the plain text friendly format.\n * primitives as in JSON.\n */\nlet toString = typeof window === 'undefined' ? \n something => {\n if( something && typeof something === 'object' ){\n // Support custom object wrappers...\n const value = something.__inner_state__ || something,\n isArray = Array.isArray( value );\n\n const body = isArray ? `[ length = ${ value.length } ]` : `{ ${ Object.keys( value ).join( ', ' )} }`;\n\n return something.constructor.name + ' ' + body;\n }\n\n return JSON.stringify( something );\n }\n : x => x;\n\nexport const logger = new Logger();\n\nif( typeof console !== 'undefined' ) {\n for( let event of logEvents ){\n logger.logToConsole( event );\n }\n}\n\nexport const throwingLogger = new Logger();\nthrowingLogger.throwOn( 'error' ).throwOn( 'warn' );\n\nexport const log : typeof logger.trigger = logger.trigger.bind( logger );\n","export interface IONode {\n /** @internal */\n _endpoint : IOEndpoint\n\n /** @internal */\n _ioPromise : IOPromise< this >\n}\n\nexport interface IOPromise extends Promise {\n abort? : () => void\n}\n\nexport interface IOEndpoint {\n list( options : IOOptions, collection? ) : IOPromise\n create( json : any, options : IOOptions, record? ) : IOPromise\n update( id : string | number, json :any, options : IOOptions, record? ) : IOPromise\n read( id : string | number, options : IOOptions, record? ) : IOPromise\n destroy( id : string | number, options : IOOptions, record? ) : IOPromise\n subscribe( events : IOEvents, collection? ) : IOPromise\n unsubscribe( events : IOEvents, collection? ) : void\n}\n\nexport interface IOOptions {\n ioMethod? : 'save' | 'fetch'\n}\n\nexport interface IOEvents {\n updated? : ( json : any ) => void\n removed? : ( json : any ) => void\n}\n\nexport function getOwnerEndpoint( self ) : IOEndpoint {\n // Check if we are the member of the collection...\n const { collection } = self;\n if( collection ){\n return getOwnerEndpoint( collection );\n }\n\n // Now, if we're the member of the model...\n if( self._owner ){\n const { _endpoints } = self._owner;\n return _endpoints && _endpoints[ self._ownerKey ];\n }\n}\n\n/**\n * Create abortable promise.\n * Adds `promise.abort()` function which rejects the promise by default\n * initialize() function takes third optional argument `abort : ( resolve, reject ) => void`,\n * which can be used to add custom abort handling.\n */\ndeclare var Promise: PromiseConstructorLike;\n\nexport function createIOPromise( initialize : InitIOPromise ) : IOPromise{\n let resolve, reject, onAbort;\n\n function abort( fn ){\n onAbort = fn;\n }\n\n const promise : IOPromise = new Promise( ( a_resolve, a_reject ) =>{\n reject = a_reject;\n resolve = a_resolve;\n initialize( resolve, reject, abort );\n }) as IOPromise;\n\n promise.abort = () => {\n onAbort ? onAbort( resolve, reject ) : reject( new Error( \"I/O Aborted\" ) );\n }\n\n return promise;\n}\n\nexport type InitIOPromise = ( resolve : ( x? : any ) => void, reject : ( x? : any ) => void, abort? : ( fn : Function ) => void ) => void;\n\nexport function startIO( self : IONode, promise : IOPromise, options : IOOptions, thenDo : ( json : any ) => any ) : IOPromise {\n // Stop pending I/O first...\n abortIO( self );\n\n self._ioPromise = promise\n .then( resp => {\n self._ioPromise = null;\n \n const result = thenDo ? thenDo( resp ) : resp;\n \n triggerAndBubble( self, 'sync', self, resp, options );\n \n return result;\n } ) \n .catch( err => {\n self._ioPromise = null;\n \n // Overlaps with a new `error` event.\n triggerAndBubble( self, 'error', self, err, options );\n \n throw err;\n } ) as IOPromise;\n\n self._ioPromise.abort = promise.abort;\n\n return self._ioPromise;\n}\n\nexport function abortIO( self : IONode ){\n if( self._ioPromise && self._ioPromise.abort ){\n self._ioPromise.abort();\n self._ioPromise = null;\n }\n}\n\nexport function triggerAndBubble( eventSource, ...args ){\n eventSource.trigger.apply( eventSource, args );\n const { collection } = eventSource;\n collection && collection.trigger.apply( collection, args ); \n}","/**\n * Traversable objects and symbolic references\n */\nexport interface Traversable {\n getStore() : Traversable\n getOwner() : Traversable\n get( key : string ) : any \n}\n\nconst referenceMask = /\\^|(store\\.[^.]+)|([^.]+)/g;\n\n// Compile reference to function\nexport type ResolveReference = ( root : Traversable ) => any; \n\nexport class CompiledReference {\n resolve : ResolveReference\n tail : string\n local : boolean\n\n constructor( reference : string, splitTail : boolean = false ){\n const path = reference\n .match( referenceMask )\n .map( key => {\n if( key === '^' || key === 'owner' ) return 'getOwner()';\n\n if( key[ 0 ] === '~' ) return `getStore().get(\"${ key.substr( 1 ) }\")`;\n\n if( key.indexOf( 'store.' ) === 0 ) return `getStore().get(\"${ key.substr( 6 ) }\")`;\n \n return key;\n } );\n \n this.tail = splitTail && path.pop();\n this.local = !path.length;\n \n this.resolve = new Function( 'self', `\n var v = self.${ path.shift() };\n \n ${ path.map( x => `\n v = v && v.${ x };\n `).join('')}\n\n return v;\n ` );\n }\n}\n\nexport function resolveReference( root : Traversable, reference : string, action : ( object, key : string ) => any ) : any {\n const path = reference.match( referenceMask ),\n skip = path.length - 1;\n \n let self = root;\n\n for( var i = 0; i < skip; i++ ){\n const key = path[ i ];\n switch( key ){\n case '~' : self = self.getStore(); break;\n case '^' : self = self.getOwner(); break;\n default : self = self.get( key );\n }\n\n // Do nothing if object on the path doesn't exist.\n if( !self ) return;\n }\n\n return action( self, path[ skip ] );\n}","export interface ChildrenErrors {\n [ key : string ] : ValidationError | any\n} \n\nexport interface Validatable {\n /** @internal */\n _validateNested( errors : ChildrenErrors ) : number;\n \n validate( self : any ) : any\n get( key : string ) : any\n}\n\n// Validation error object.\nexport class ValidationError {\n // Invalid nested object keys \n nested : ChildrenErrors \n length : number\n\n // Local error\n error : any\n\n constructor( obj : Validatable ){\n this.length = obj._validateNested( this.nested = {} );\n\n if( this.error = obj.validate( obj ) ){\n this.length++;\n }\n }\n\n each( iteratee : ( value : any, key : string ) => void ) : void {\n const { error, nested } = this;\n\n if( error ) iteratee( error, null );\n\n for( const key in nested ){\n iteratee( nested[ key ], key );\n }\n }\n\n eachError( iteratee : ( error : any, key : string, object : Validatable ) => void, object : Validatable ) : void {\n this.each( ( value : any, key : string ) => {\n if( value instanceof ValidationError ){\n (value).eachError( iteratee, object.get( key ) );\n }\n else{\n iteratee( value, key, object );\n }\n });\n }\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\r\n * Select appropriate helpers function for particular value type.\r\n */\r\nexport interface IterableLink {\r\n value : any\r\n at( key : number | string ) : any\r\n}\r\n\r\nexport type Iterator = ( link : any, key : string | number ) => any;\r\n\r\nexport interface Helper {\r\n map( link : IterableLink, iterator : Iterator ) : any[]\r\n clone( obj : any ) : any,\r\n remove( obj : any, key : string | number ) : any\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\nexport function helpers( value ) : Helper {\r\n if( value && typeof value === 'object' ){\r\n switch( Object.getPrototypeOf( value ) ){\r\n case ArrayProto : return arrayHelpers;\r\n case ObjectProto : return objectHelpers;\r\n }\r\n }\r\n\r\n return dummyHelpers;\r\n}\r\n\r\n// Do nothing for types other than Array and plain Object.\r\nconst dummyHelpers : Helper = {\r\n clone( value ){ return value; },\r\n map( link : IterableLink, fun ){ return []; },\r\n remove( value ){ return value; }\r\n};\r\n\r\n// `map` and `clone` for plain JS objects\r\nexport const objectHelpers : Helper = {\r\n // Map through the link to object\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n let mapped = [],\r\n { value } = link\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n const element = iterator( link.at( key ), key );\r\n element === void 0 || ( mapped.push( element ) ); \r\n }\r\n }\r\n\r\n return mapped;\r\n },\r\n\r\n remove( object : {}, key : string ) : {} {\r\n delete object[ key ];\r\n return object;\r\n },\r\n\r\n // Shallow clone plain JS object\r\n clone( object : {} ) : {} {\r\n return { ...object };\r\n }\r\n};\r\n\r\n// `map` and `clone` helpers for arrays.\r\nexport const arrayHelpers : Helper = {\r\n // Shallow clone array\r\n clone( array : any[] ) : any[] {\r\n return array.slice();\r\n },\r\n\r\n remove( array : any[], i : number ) : any[] {\r\n array.splice( i, 1 );\r\n return array;\r\n },\r\n\r\n // Map through the link to array\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n const length = link.value.length,\r\n mapped = Array( length );\r\n\r\n for( var i = 0, j = 0; i < length; i++ ){\r\n const y = iterator( link.at( i ), i );\r\n y === void 0 || ( mapped[ j++ ] = y );\r\n }\r\n\r\n mapped.length === j || ( mapped.length = j );\r\n\r\n return mapped;\r\n }\r\n};","/**\r\n * Advanced React links for purely functional two-way data binding\r\n *\r\n * MIT License, (c) 2016 Vlad Balin, Volicon.\r\n */\r\nimport { arrayHelpers, helpers } from './helpers';\r\n\r\nexport * from './helpers'\r\n\r\n/** \r\n * `Linked` class is an abstract linked value - the value, the function to update this value, and its validation error.\r\n * The enclosed value is considered as immutable.\r\n */ \r\nexport abstract class Linked{\r\n /** Validation error. Usually is a string with error text, but can hold any type. */ \r\n error : any = void 0\r\n \r\n /** Set linked value */ \r\n abstract set( x : T ) : void\r\n\r\n constructor( public value : T ){}\r\n\r\n /** EXPERIMENTAL: Support useRef interface. */ \r\n get current(){ return this.value; }\r\n set current( x : T ){ this.set( x ); }\r\n\r\n // Private accessor for whenChanged. Uniform with Type-R models and collections API.\r\n protected get _changeToken(){\r\n return this.value;\r\n }\r\n\r\n /** Produce the new link executing the given function before the link value will be updated. */\r\n onChange( handler : ( x : T ) => void ) : Linked {\r\n return new ClonedValueLink( this, ( x : T ) => {\r\n handler( x );\r\n this.set( x );\r\n });\r\n }\r\n\r\n /** Produce the new link which transform the value before `set` with a given function. */\r\n pipe( handler : Linked.Transform ) : Linked< T > {\r\n return new ClonedValueLink( this, x =>{\r\n const next = handler( x, this.value );\r\n next === void 0 || this.set( next );\r\n } );\r\n }\r\n\r\n /** \r\n * Create React component props for the component.\r\n * \r\n * \r\n */ \r\n get props() :\r\n T extends boolean ? { checked : boolean, onChange : ( e : any ) => void } :\r\n { value : T, onChange : ( e : any ) => void }\r\n {\r\n return typeof this.value === 'boolean' ? {\r\n checked : this.value,\r\n onChange : e => this.set( Boolean( e.target.checked ) as any )\r\n }:{\r\n value : this.value,\r\n onChange : e => this.set( e.target.value )\r\n } as any;\r\n }\r\n\r\n /** Update the linked value using given transform function. */ \r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const next = transform( this.clone(), e );\r\n next === void 0 || this.set( next );\r\n }\r\n\r\n // Create UI event handler function which will update the link with a given transform function.\r\n action( transform : Linked.Transform< T > ) : Linked.EventHandler {\r\n return e => this.update( transform, e );\r\n }\r\n\r\n equals( truthyValue : T ) : Linked {\r\n return new EqualsValueLink( this, truthyValue );\r\n }\r\n\r\n get true( this : Linked ){\r\n return () => this.set( true );\r\n }\r\n\r\n get false( this : Linked ){\r\n return () => this.set( false );\r\n }\r\n\r\n get null(){\r\n return () => this.set( null );\r\n }\r\n\r\n get isTruthy(){\r\n return this.value ? true : undefined;\r\n }\r\n\r\n enabled( defaultValue? : T ) : Linked {\r\n return new EnabledValueLink( this, defaultValue || \"\" );\r\n }\r\n\r\n // Array-only links methods\r\n contains( this : Linked, element : E ) : Linked{\r\n return new ContainsRef( this, element );\r\n }\r\n\r\n push( this : Linked, ...args : E[] ) : void;\r\n push(){\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.push.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n unshift( this : Linked, ...args : E[] ) : void;\r\n unshift() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.unshift.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n \r\n splice( this : Linked, start : number, deleteCount? : number ) : void;\r\n splice() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.splice.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n // Array and objects universal collection methods\r\n map( this : Linked, iterator : ( link : PropValueLink, idx : number ) => Z ) : Z[];\r\n map( this : Linked<{[ key : string ] : E }>, iterator : ( link : PropValueLink, idx : string ) => Z ) : Z[];\r\n map( iterator ) {\r\n return helpers( this.value ).map( this, iterator );\r\n }\r\n\r\n removeAt( this : Linked, key : number ) : void;\r\n removeAt( this : Linked<{ [ key : string ] : E }>, key : string ) : void;\r\n removeAt( key ){\r\n const { value } = this,\r\n _ = helpers( value );\r\n\r\n this.set( _.remove( _.clone( value ), key ) );\r\n }\r\n\r\n at( this : Linked, key : number ) : PropValueLink;\r\n at( key : K ) : PropValueLink;\r\n at( key ){\r\n return new PropValueLink( this, key );\r\n }\r\n\r\n clone() : T {\r\n let { value } = this;\r\n return helpers( value ).clone( value );\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links. Optionally filter by \r\n */\r\n pick< K extends keyof T >( ...keys : K[]) : {[ P in K ]: Linked}\r\n pick() {\r\n let links = {}, keys = arguments.length ? arguments : Object.keys( this.value );\r\n\r\n for( let i = 0; i < keys.length; i++ ){\r\n const key : string = keys[ i ];\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links.\r\n * Memorises the result, subsequent calls are cheap.\r\n */\r\n get $() : T extends object ? Linked.Hash : never {\r\n if( !this._value$ ){\r\n let links : Linked.Hash = this._value$ = {},\r\n { value } = this;\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n }\r\n }\r\n\r\n return this._value$ as any;\r\n }\r\n\r\n private _value$ : object\r\n\r\n /**\r\n * Validate link with validness predicate and optional custom error object. Can be chained.\r\n */\r\n check( whenValid : Linked.Validator, error? : any ) : this {\r\n if( !this.error && !whenValid( this.value ) ){\r\n this.error = error || whenValid.error || defaultError;\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n\r\nexport namespace Linked {\r\n export interface Validator< T >{\r\n ( value : T ) : boolean\r\n error? : any\r\n } \r\n\r\n export type Transform< T > = ( value : T, event? : {} ) => T\r\n export type EventHandler = ( event : {} ) => void\r\n\r\n export type Hash = {\r\n [K in keyof T] : Linked\r\n }\r\n\r\n /** Create linked value out of its value and the set function */ \r\n export function value( value : T, set : ( x : T ) => void ) : Linked{\r\n return new CustomValueLink( value, set );\r\n }\r\n\r\n export function mutable( state : T ) : Linked{\r\n return new CustomValueLink( state, x => {\r\n for( let key in x ){\r\n if( x.hasOwnProperty( key ) ){\r\n state[ key ] = x[ key ];\r\n }\r\n }\r\n } );\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link values.\r\n */\r\n export function getValues( links : Linked.Hash ) : T {\r\n return unwrap( links, 'value' ) as any;\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link errors.\r\n */\r\n export function getErrors( links : Linked.Hash ) : { [ name in keyof T ] : any } {\r\n return unwrap( links, 'error' ) as any;\r\n }\r\n\r\n /**\r\n * Return true if an object with links contains any errors.\r\n */\r\n export function hasErrors( links : Linked.Hash ) : boolean {\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) && links[ key ].error ){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Assing links with values from the source object.\r\n */\r\n export function setValues( links : Linked.Hash, source : T ) : void {\r\n if( source ){\r\n for( let key in links ){\r\n const sourceKey = trim( key );\r\n if( source.hasOwnProperty( sourceKey ) ){\r\n const sourceVal = source[ sourceKey ];\r\n sourceVal === void 0 || links[ key ].set( sourceVal );\r\n }\r\n } \r\n }\r\n }\r\n\r\n}\r\n\r\nclass CustomValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( value : T, set : ( x : T ) => void ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\nclass ClonedValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( parent : Linked< T >, set : ( x : T ) => void ){\r\n super( parent.value );\r\n this.set = set;\r\n\r\n const { error } = parent;\r\n if( error ) this.error = error;\r\n }\r\n}\r\n\r\nclass EqualsValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public truthyValue ){\r\n super( parent.value === truthyValue );\r\n }\r\n\r\n set( x : boolean ) : void {\r\n this.parent.set( x ? this.truthyValue : null );\r\n }\r\n}\r\n\r\nclass EnabledValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public defaultValue ){\r\n super( parent.value != null );\r\n }\r\n\r\n set( x : boolean ){\r\n this.parent.set( x ? this.defaultValue : null );\r\n }\r\n}\r\n\r\nclass ContainsRef extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public element : any ){\r\n super( parent.value.indexOf( element ) >= 0 );\r\n }\r\n\r\n set( x : boolean ){\r\n var next = Boolean( x );\r\n\r\n if( this.value !== next ){\r\n var arr : any[] = this.parent.value,\r\n nextValue = x ? arr.concat( this.element ) : arr.filter( el => el !== this.element );\r\n\r\n this.parent.set( nextValue );\r\n }\r\n }\r\n}\r\n\r\nconst defaultError = 'Invalid value';\r\n\r\n/**\r\n * Link to array or object element enclosed in parent link.\r\n * Performs purely functional update of the parent, shallow copying its value on `set`.\r\n */\r\nexport class PropValueLink< E, K > extends Linked< E > {\r\n constructor( private parent : Linked< any >, public key : K ){\r\n super( parent.value[ key ] );\r\n }\r\n\r\n remove(){\r\n this.parent.removeAt( this.key );\r\n }\r\n\r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n const prev = obj[ key ],\r\n next = transform( helpers( prev ).clone( prev ), e );\r\n\r\n if( next !== void 0 ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n } );\r\n }\r\n\r\n // Set new element value to parent array or object, performing purely functional update.\r\n set( next : E ) : void {\r\n /*\r\n this.update( prev => {\r\n if( prev !== next ) return next\r\n })*/\r\n\r\n // A bit more efficient implementation.\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n if( obj[ key ] !== next ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n });\r\n\r\n \r\n };\r\n}\r\n\r\nfunction unwrap( links : Linked.Hash, field : string) : object {\r\n const values = {};\r\n\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) ){\r\n const value = links[ key ][ field ];\r\n if( value !== void 0 ){\r\n values[ trim( key ) ] = value;\r\n }\r\n }\r\n }\r\n\r\n return values;\r\n}\r\n\r\nfunction trim( key : string ){\r\n return key[ 0 ] === '$' ? key.slice( 1 ) : key;\r\n}","import { abortIO, IOEndpoint, IONode, IOPromise } from './io-tools';\nimport { EventCallbacks, define, definitions, eventsApi, Logger, LogLevel, Messenger, MessengerDefinition, MessengersByCid, mixinRules, mixins, MixinsState, throwingLogger } from '@type-r/mixture';\nimport { resolveReference, Traversable } from './traversable';\nimport { ChildrenErrors, Validatable, ValidationError } from './validation';\nimport { Linked } from '@linked/value/lib';\n\nconst { trigger3, on, off } = eventsApi;\n/***\n * Abstract class implementing ownership tree, tho-phase transactions, and validation. \n * 1. createTransaction() - apply changes to an object tree, and if there are some events to send, transaction object is created.\n * 2. transaction.commit() - send and process all change events, and close transaction.\n */\n\n/** @private */\nexport interface TransactionalDefinition extends MessengerDefinition {\n endpoint? : IOEndpoint\n}\n\nexport enum ItemsBehavior {\n share = 0b0001,\n listen = 0b0010,\n persistent = 0b0100\n}\n\n// Transactional object interface\n\n/**\n * Used to access the version token of the object,\n * which changes every time something inside of the object is changed.\n * \n * useEffect( () => data.fetch(), [ state[versionToken] ])\n */\nexport const versionToken = '_changeToken';\nexport const defaultStore = '_defaultStore';\n\nexport interface Transactional extends Messenger {}\n\n@define\n@definitions({\n endpoint : mixinRules.value\n})\n@mixins( Messenger )\nexport abstract class Transactional implements Messenger, IONode, Validatable, Traversable {\n // Mixins are hard in TypeScript. We need to copy type signatures over...\n // Here goes 'Mixable' mixin.\n static endpoint : IOEndpoint;\n \n /** @internal */\n static __super__ : object;\n \n static mixins : MixinsState;\n static define : ( definition? : TransactionalDefinition, statics? : object ) => typeof Transactional;\n static extend : ( definition? : T, statics? : object ) => any;\n\n static onDefine( definitions : TransactionalDefinition, BaseClass : typeof Transactional ){\n if( definitions.endpoint ) this.prototype._endpoint = definitions.endpoint;\n Messenger.onDefine.call( this, definitions, BaseClass );\n };\n\n static onExtend( BaseClass : typeof Transactional ) : void {\n // Make sure we don't inherit class factories.\n if( BaseClass.create === this.create ) {\n this.create = Transactional.create;\n }\n }\n\n // Define extendable mixin static properties.\n static create any>( this : M, a? : any, b? : any ) : InstanceType {\n return new (this as any)( a, b );\n }\n\n // State accessor.\n /** @internal */\n abstract get __inner_state__() : any;\n\n // Shared modifier (used by collections of shared models)\n /** @internal */\n _shared? : number; \n \n dispose() : void {\n if( this._disposed ) return;\n \n abortIO( this );\n this._owner = void 0;\n this._ownerKey = void 0;\n this.off();\n this.stopListening();\n this._disposed = true;\n }\n \n cidPrefix : string\n\n // Unique version token replaced on change\n /** @internal */\n _changeToken : {} = {}\n\n // true while inside of the transaction\n /** @internal */\n _transaction : boolean = false;\n\n // Holds current transaction's options, when in the middle of transaction and there're changes but is an unsent change event\n /** @internal */\n _isDirty : TransactionOptions = null;\n\n // Backreference set by owner (Model, Collection, or other object)\n /** @internal */\n _owner : Owner = void 0;\n\n // Key supplied by owner. Used by record to identify attribute key.\n // Only collections doesn't set the key, which is used to distinguish collections.\n /** @internal */ \n _ownerKey : string = void 0;\n\n // Name of the change event\n /** @internal */\n _changeEventName : string\n\n /**\n * Subsribe for the changes.\n */\n onChanges( handler : Function, target? : Messenger ){\n on( this, this._changeEventName, handler, target );\n }\n\n /**\n * Unsubscribe from changes.\n */\n offChanges( handler? : Function, target? : Messenger ){\n off( this, this._changeEventName, handler, target );\n }\n\n /**\n * Listen to changes event. \n */\n listenToChanges( target : Transactional, handler ){\n this.listenTo( target, target._changeEventName, handler );\n }\n\n constructor( cid : string | number ){\n this.cid = this.cidPrefix + cid;\n }\n\n // Deeply clone ownership subtree\n abstract clone( options? : CloneOptions ) : this\n \n // Execute given function in the scope of ad-hoc transaction.\n transaction( fun : ( self : this ) => void, options : TransactionOptions = {} ) : void{\n const isRoot = transactionApi.begin( this );\n const update = fun.call( this, this );\n update && this.set( update );\n isRoot && transactionApi.commit( this );\n }\n\n // Assign transactional object \"by value\", copying aggregated items.\n assignFrom( a_source : Transactional | Object | Linked ) : this {\n // Unpack linked value.\n const source = a_source instanceof Linked ? a_source.value : a_source;\n\n // Need to delay change events until change token will by synced.\n this.transaction( () =>{\n this.set( ( source as any).__inner_state__ || source, { merge : true } );\n\n // Synchronize change tokens\n const { _changeToken } = source as any;\n \n if( _changeToken ){\n this._changeToken = _changeToken;\n } \n });\n\n return this;\n }\n\n // Create object from JSON. Throw if validation fail.\n static from Transactional >( this : T, json : any, { strict, ...options } : { strict? : boolean } & TransactionOptions = {} ) : InstanceType{\n const obj : Transactional = ( this as any ).create( json, { ...options, logger : strict ? throwingLogger : void 0 } );\n\n if( strict && obj.validationError ){\n obj.eachValidationError( ( error, key, obj ) => {\n throw new Error( `${ obj.getClassName() }.${ key }: ${ error }` );\n });\n }\n\n return obj as any;\n }\n\n // Apply bulk object update without any notifications, and return open transaction.\n // Used internally to implement two-phase commit.\n // Returns null if there are no any changes.\n /** @internal */\n abstract _createTransaction( values : any, options? : TransactionOptions ) : Transaction | void\n\n // Apply bulk in-place object update in scope of ad-hoc transaction \n abstract set( values : any, options? : TransactionOptions ) : this;\n\n \n // Parse function applied when 'parse' option is set for transaction.\n parse( data : any, options? : TransactionOptions ) : any { return data }\n\n // Convert object to the serializable JSON structure\n abstract toJSON( options? : object ) : {}\n\n /*******************\n * Traversals and member access\n */\n \n // Get object member by its key.\n abstract get( key : string ) : any\n\n // Get object member by symbolic reference.\n deepGet( reference : string ) : any {\n return resolveReference( this, reference, ( object, key ) => object.get ? object.get( key ) : object[ key ] );\n }\n\n //_isCollection : boolean\n\n // Return owner skipping collections.\n getOwner() : Owner {\n return this._owner;\n }\n\n // Store used when owner chain store lookup failed. Static value in the prototype. \n /** @internal */\n _defaultStore : Transactional\n\n // Locate the closest store. Store object stops traversal by overriding this method. \n getStore() : Transactional {\n const { _owner } = this;\n return _owner ? _owner.getStore() : this._defaultStore;\n }\n\n\n /***************************************************\n * Iteration API\n */\n\n // Loop through the members. Must be efficiently implemented in container class.\n\n /** @internal */\n _endpoint : IOEndpoint\n \n /** @internal */\n _ioPromise : IOPromise\n\n hasPendingIO() : IOPromise { return this._ioPromise; }\n\n //fetch( options? : object ) : IOPromise { throw new Error( \"Not implemented\" ); }\n\n getEndpoint() : IOEndpoint {\n return getOwnerEndpoint( this ) || this._endpoint;\n }\n \n /*********************************\n * Validation API\n */\n\n // Lazily evaluated validation error\n /** @internal */\n _validationError : ValidationError = void 0\n\n // Validate ownership tree and return valudation error \n get validationError() : ValidationError {\n const error = this._validationError || ( this._validationError = new ValidationError( this ) );\n return error.length ? error : null; \n }\n\n // Validate nested members. Returns errors count.\n /** @internal */\n abstract _validateNested( errors : ChildrenErrors ) : number\n\n // Object-level validator. Returns validation error.\n validate( obj? : Transactional ) : any {}\n\n // Return validation error (or undefined) for nested object with the given key. \n getValidationError( key? : string ) : any {\n var error = this.validationError;\n return ( key ? error && error.nested[ key ] : error ) || null;\n }\n\n // Get validation error for the given symbolic reference.\n deepValidationError( reference : string ) : any {\n return resolveReference( this, reference, ( object, key ) => object.getValidationError( key ) );\n }\n\n // Iterate through all validation errors across the ownership tree.\n eachValidationError( iteratee : ( error : any, key : string, object : Transactional ) => void ) : void {\n const { validationError } = this;\n validationError && validationError.eachError( iteratee, this );\n }\n\n // Check whenever member with a given key is valid. \n isValid( key? : string ) : boolean {\n return !this.getValidationError( key );\n }\n\n valueOf() : Object { return this.cid; }\n toString(){ return this.cid; }\n\n // Get class name for an object instance. Works fine with ES6 classes definitions (not in IE).\n getClassName() : string {\n const { name } = this.constructor;\n if( name !== 'Subclass' ) return name;\n }\n\n // Logging interface for run time errors and warnings.\n /** @internal */\n abstract _log( level : LogLevel, topic : string, text : string, value : any, logger? : Logger ) : void\n}\n\nexport interface CloneOptions {\n // 'Pin store' shall assign this._defaultStore = this.getStore();\n pinStore? : boolean\n}\n\n// Owner must accept children update events. It's an only way children communicates with an owner.\n/** @private */\nexport interface Owner extends Traversable, Messenger {\n /** @internal */\n _onChildrenChange( child : Transactional, options : TransactionOptions ) : void;\n \n getOwner() : Owner\n getStore() : Transactional\n}\n\n// Transaction object used for two-phase commit protocol.\n// Must be implemented by subclasses.\n// Transaction must be created if there are actual changes and when markIsDirty returns true.\n/** @private */ \nexport interface Transaction {\n // Object transaction is being made on.\n object : Transactional\n\n // Send out change events, process update triggers, and close transaction.\n // Nested transactions must be marked with isNested flag (it suppress owner notification).\n commit( initiator? : Transactional )\n}\n\n// Options for distributed transaction \nexport interface TransactionOptions {\n // Invoke parsing \n parse? : boolean\n\n // Optional logger\n logger? : Logger\n\n // Suppress change notifications and update triggers\n silent? : boolean\n\n // Update existing transactional members in place, or skip the update (ignored by models)\n merge? : boolean // =true\n\n // Should collections remove elements in set (ignored by models) \n remove? : boolean // =true\n\n // Always replace enclosed objects with new instances\n reset? : boolean // = false\n\n // Do not dispose aggregated members\n unset? : boolean\n\n validate? : boolean\n\n // IO method name if the transaction is initiated as a result of IO operation\n ioMethod? : 'save' | 'fetch'\n\n // The hint for IOEndpoint\n // If `true`, `record.save()` will behave as \"upsert\" operation for the records having id.\n upsert? : boolean\n}\n\n/**\n * Low-level transactions API. Must be used like this:\n * const isRoot = begin( record );\n * ...\n * isRoot && commit( record, options );\n * \n * When committing nested transaction, the flag must be set to true. \n * commit( object, options, isNested ) \n */\n\nexport const transactionApi = {\n // Start transaction. Return true if it's the root one.\n /** @private */\n begin( object : Transactional ) : boolean {\n return object._transaction ? false : ( object._transaction = true ); \n },\n\n // Mark object having changes inside of the current transaction.\n // Returns true whenever there notifications are required.\n /** @private */\n markAsDirty( object : Transactional, options : TransactionOptions ) : boolean {\n // If silent option is in effect, don't set isDirty flag.\n const dirty = !options.silent;\n if( dirty ) object._isDirty = options;\n \n // Reset version token.\n object._changeToken = {};\n\n // Object is changed, so validation must happen again. Clear the cache.\n object._validationError = void 0;\n\n return dirty;\n },\n\n // Commit transaction. Send out change event and notify owner. Returns true if there were changes.\n // Must be executed for the root transaction only.\n /** @private */\n commit( object : Transactional, initiator? : Transactional ){\n let originalOptions = object._isDirty;\n\n if( originalOptions ){\n // Send the sequence of change events, handling chained handlers.\n while( object._isDirty ){\n const options = object._isDirty;\n object._isDirty = null; \n trigger3( object, object._changeEventName, object, options, initiator );\n }\n \n // Mark transaction as closed.\n object._transaction = false;\n\n // Notify owner on changes out of transaction scope. \n const { _owner } = object; \n if( _owner && _owner !== initiator ){ // If it's the nested transaction, owner is already aware there are some changes.\n _owner._onChildrenChange( object, originalOptions );\n }\n }\n else{\n // No changes. Silently close transaction.\n object._isDirty = null;\n object._transaction = false;\n }\n },\n\n /************************************\n * Ownership management\n */\n\n // Add reference to the record.\n /** @private */\n aquire( owner : Owner, child : Transactional, key? : string ) : void {\n if( child._owner ) throw new ReferenceError( 'Trying to aquire ownership for an object already having an owner' );\n\n child._owner = owner;\n child._ownerKey = key;\n },\n\n // Remove reference to the record.\n /** @private */\n free( owner : Owner, child : Transactional ) : void {\n if( owner === child._owner ){\n child._owner = void 0;\n child._ownerKey = void 0;\n }\n }\n}\n\nfunction getOwnerEndpoint( self : Transactional ) : IOEndpoint {\n // Check if we are the member of the collection...\n const { collection } = self as any;\n if( collection ){\n return getOwnerEndpoint( collection );\n }\n\n // Now, if we're the member of the model...\n if( self._owner ){\n const { _endpoints } = self._owner as any;\n return _endpoints && _endpoints[ self._ownerKey ];\n }\n}\n","import { eventsApi } from '@type-r/mixture';\nimport { Owner, Transaction, Transactional, transactionApi, TransactionOptions } from \"../transactions\";\nconst { begin : _begin, markAsDirty : _markAsDirty, commit } = transactionApi;\n\nconst { trigger3 } = eventsApi;\n\nexport interface ConstructorsMixin {\n Attributes : AttributesConstructor\n AttributesCopy : AttributesCopyConstructor\n}\n\nexport interface ConstructorOptions extends TransactionOptions{\n clone? : boolean\n}\n\nexport type AttributesConstructor = new ( record : AttributesContainer, values : object, options : TransactionOptions ) => AttributesValues;\nexport type AttributesCopyConstructor = new ( values : object ) => AttributesValues;\n\nexport interface AttributesContainer extends Transactional, Owner, ConstructorsMixin {\n // Attribute descriptors.\n /** @internal */\n _attributes : AttributesDescriptors\n\n // Attribute values.\n attributes : AttributesValues\n\n // Previous attribute values.\n /** @internal */\n _previousAttributes : AttributesValues\n\n // Changed attributes cache. \n /** @internal */\n _changedAttributes : AttributesValues\n}\n\nexport interface AttributesValues {\n [ name : string ] : any\n}\n\nexport interface AttributesDescriptors {\n [ name : string ] : AttributeUpdatePipeline\n}\n\nexport interface AttributeUpdatePipeline{\n doUpdate( value, record : AttributesContainer, options : TransactionOptions, nested? : Transaction[] ) : boolean\n}\n\n // Optimized single attribute transactional update. To be called from attributes setters\n // options.silent === false, parse === false. \nexport function setAttribute( record : AttributesContainer, name : string, value : any ) : void {\n // Open the transaction.\n const isRoot = begin( record ),\n options = {};\n\n // Update attribute. \n if( record._attributes[ name ].doUpdate( value, record, options ) ){\n // Notify listeners on changes.\n markAsDirty( record, options );\n trigger3( record, 'change:' + name, record, record.attributes[ name ], options );\n }\n\n // Close the transaction.\n isRoot && commit( record );\n}\n\nfunction begin( record : AttributesContainer ){\n if( _begin( record ) ){\n record._previousAttributes = new record.AttributesCopy( record.attributes );\n record._changedAttributes = null;\n return true;\n }\n \n return false;\n}\n\nfunction markAsDirty( record : AttributesContainer, options : TransactionOptions ){\n // Need to recalculate changed attributes, when we have nested set in change:attr handler\n if( record._changedAttributes ){\n record._changedAttributes = null;\n }\n\n return _markAsDirty( record, options );\n}\n\n/**\n * TODO: There's an opportunity to create an optimized pipeline for primitive types and Date, which makes the majority\n * of attributes. It might create the major speedup.\n * \n * Create the dedicated pipeline for owned and shared attributes as well.\n * \n * Three elements of the pipeline:\n * - from constructor\n * - from assignment\n * - from `set`\n */\n\nexport const UpdateModelMixin = {\n// Need to override it here, since begin/end transaction brackets are overriden. \n transaction( this : AttributesContainer, fun : ( self : AttributesContainer ) => void, options : TransactionOptions = {} ) : void{\n const isRoot = begin( this );\n fun.call( this, this );\n isRoot && commit( this );\n },\n \n // Handle nested changes. TODO: propagateChanges == false, same in transaction.\n _onChildrenChange( child : Transactional, options : TransactionOptions ) : void {\n const { _ownerKey } = child,\n attribute = this._attributes[ _ownerKey ];\n\n if( !attribute /* TODO: Must be an opposite, likely the bug */ || attribute.propagateChanges ) this.forceAttributeChange( _ownerKey, options );\n },\n\n // Simulate attribute change \n forceAttributeChange( key : string, options : TransactionOptions = {} ){\n // Touch an attribute in bounds of transaction\n const isRoot = begin( this );\n\n if( markAsDirty( this, options ) ){\n trigger3( this, 'change:' + key, this, this.attributes[ key ], options );\n }\n \n isRoot && commit( this );\n },\n\n _createTransaction( this : AttributesContainer, a_values : {}, options : TransactionOptions = {} ) : Transaction {\n const isRoot = begin( this ),\n changes : string[] = [],\n nested : ModelTransaction[]= [],\n { _attributes } = this,\n values = options.parse ? this.parse( a_values, options ) : a_values;\n\n let unknown;\n\n if( shouldBeAnObject( this, values, options ) ){\n for( let name in values ){\n const spec = _attributes[ name ];\n\n if( spec ){\n if( spec.doUpdate( values[ name ], this, options, nested ) ){\n changes.push( name );\n }\n }\n else{\n unknown || ( unknown = [] );\n unknown.push( `'${ name }'` );\n }\n }\n\n if( unknown ){\n unknownAttrsWarning( this, unknown, { values }, options );\n }\n }\n \n if( changes.length && markAsDirty( this, options ) ){\n return new ModelTransaction( this, isRoot, nested, changes );\n }\n \n // No changes, but there might be silent attributes with open transactions.\n for( let pendingTransaction of nested ){\n pendingTransaction.commit( this );\n }\n\n isRoot && commit( this );\n }\n};\n\nexport function unknownAttrsWarning( record : AttributesContainer, unknown : string[], props, options ){\n record._log( 'warn', 'Type-R:UnknownAttrs', `undefined attributes ${ unknown.join(', ')} are ignored.`, props, options.logger );\n}\n\n// One of the main performance tricks of Type-R.\n// Create loop unrolled constructors for internal attribute hash,\n// so the hidden class JIT optimization will be engaged and they will become static structs.\n// It dramatically improves record performance.\nexport function constructorsMixin( attrDefs : AttributesDescriptors ) : ConstructorsMixin {\n const attrs = Object.keys( attrDefs );\n\n const AttributesCopy : AttributesCopyConstructor = new Function( 'values', `\n ${ attrs.map( attr =>`\n this.${ attr } = values.${ attr };\n `).join( '' ) }\n `) as any;\n\n AttributesCopy.prototype = Object.prototype;\n\n const Attributes : AttributesConstructor = new Function( 'record', 'values', 'options', `\n var _attrs = record._attributes;\n\n ${ attrs.map( attr =>`\n this.${ attr } = _attrs.${ attr }.doInit( values.${ attr }, record, options );\n `).join( '' ) }\n `) as any;\n\n Attributes.prototype = Object.prototype;\n\n return { Attributes, AttributesCopy };\n}\n\nexport function shouldBeAnObject( record : AttributesContainer, values : object, options ){\n if( Object.prototype.toString.call( values ) === '[object Object]' ) return true;\n\n record._log( 'error', 'Type-R:InvalidObject', 'update with non-object is ignored!', { values }, options.logger );\n return false;\n}\n\n// Transaction class. Implements two-phase transactions on object's tree. \n// Transaction must be created if there are actual changes and when markIsDirty returns true. \nexport class ModelTransaction implements Transaction {\n // open transaction\n constructor( public object : AttributesContainer,\n public isRoot : boolean,\n public nested : Transaction[],\n public changes : string[] ){}\n\n // commit transaction\n commit( initiator? : AttributesContainer ) : void {\n const { nested, object, changes } = this;\n\n // Commit all pending nested transactions...\n for( let transaction of nested ){ \n transaction.commit( object );\n }\n\n // Notify listeners on attribute changes...\n // Transaction is never created when silent option is set, so just send events out.\n const { attributes, _isDirty } = object;\n for( let key of changes ){\n trigger3( object, 'change:' + key, object, attributes[ key ], _isDirty );\n }\n\n this.isRoot && commit( object, initiator );\n }\n}\n","import { IOEndpoint } from '../../io-tools';\nimport { LogLevel, tools, Logger } from '@type-r/mixture';\nimport { TransactionOptions, Transactional } from '../../transactions';\nimport { AttributesContainer, AttributeUpdatePipeline, ModelTransaction, setAttribute } from '../updates';\n\nconst { notEqual, assign} = tools;\n\nexport type Transform = ( this : AnyType, next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) => any;\nexport type ChangeHandler = ( this : AnyType, next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) => void;\n\nexport interface AttributeOptions {\n _metatype? : typeof AnyType\n validate? : ( record : AttributesContainer, value : any, key : string ) => any\n isRequired? : boolean\n changeEvents? : boolean\n\n endpoint? : IOEndpoint\n\n type? : Function\n value? : any\n hasCustomDefault? : boolean\n\n parse? : Parse\n toJSON? : AttributeToJSON\n \n getHooks? : GetHook[]\n transforms? : Transform[]\n changeHandlers? : ChangeHandler[]\n\n _onChange? : ChangeAttrHandler\n}\n\nexport type Parse = ( value : any, key? : string ) => any;\nexport type GetHook = ( value : any, key? : string ) => any;\nexport type AttributeToJSON = ( value : any, key? : string ) => any\nexport type AttributeParse = ( value : any, key? : string ) => any\nexport type ChangeAttrHandler = ( ( value : any, attr? : string ) => void ) | string;\n\n// TODO: interface differs from options, do something obout it\nconst emptyOptions : TransactionOptions = {};\n\n/**\n * Typeless attribute. Is the base class for all other attributes.\n */\nexport class AnyType implements AttributeUpdatePipeline {\n // Factory method to create attribute from options \n static create : ( options : AttributeOptions, name : string ) => AnyType;\n \n /**\n * Update pipeline functions\n * =========================\n *\n * Stage 0. canBeUpdated( value )\n * - presence of this function implies attribute's ability to update in place.\n */\n canBeUpdated( prev, next, options : TransactionOptions ) : any {}\n\n /**\n * Stage 1. Transform stage\n */\n transform( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) : any { return next; }\n\n // convert attribute type to `this.type`.\n convert( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) : any { return next; }\n\n /**\n * Stage 2. Check if attr value is changed\n */\n isChanged( a : any, b : any ) : boolean {\n return notEqual( a, b );\n }\n\n /**\n * Stage 3. Handle attribute change\n */\n handleChange( next : any, prev : any, model : AttributesContainer, options : TransactionOptions ) {}\n\n /**\n * End update pipeline definitions.\n */\n\n // create empty object passing backbone options to constructor...\n create() { return void 0; }\n\n // generic clone function for typeless attributes\n // Must be overriden in sublass\n clone( value : any, record : AttributesContainer ) {\n return value;\n }\n\n dispose( record : AttributesContainer, value : any ) : void {\n this.handleChange( void 0, value, record, emptyOptions );\n }\n\n validate( record : AttributesContainer, value : any, key : string ) : any {}\n\n toJSON( value, key, options? : object ) {\n return value && value.toJSON ? value.toJSON( options ) : value;\n }\n\n isMutableType(){\n return this.type && this.type.prototype instanceof Transactional;\n }\n\n createPropertyDescriptor() : PropertyDescriptor | void {\n const { name, getHook } = this;\n\n if( name !== 'id' ){\n return {\n // call to optimized set function for single argument.\n set( value ){\n setAttribute( this, name, value );\n },\n\n // attach get hook to the getter function, if it present\n get : (\n getHook ?\n function() {\n return getHook.call( this, this.attributes[ name ], name );\n } :\n function() { return this.attributes[ name ]; }\n ),\n\n configurable : true\n }\n }\n }\n\n value : any\n\n // Used as global default value for the given metatype\n static defaultValue : any;\n\n type : Function\n\n initialize( name : string, options : TransactionOptions ){}\n\n options : AttributeOptions\n\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\n const v = value === void 0 ? this.defaultValue() : value,\n x = this.transform( v, void 0, record, options );\n \n this.handleChange( x, void 0, record, options );\n return x;\n }\n\n doUpdate( value, record : AttributesContainer, options : TransactionOptions, nested? : ModelTransaction[] ){\n const { name } = this,\n { attributes } = record,\n prev = attributes[ name ];\n\n const next = this.transform( value, prev, record, options );\n attributes[ name ] = next;\n\n if( this.isChanged( next, prev ) ) {\n // Do the rest of the job after assignment\n this.handleChange( next, prev, record, options );\n return true;\n }\n\n return false;\n }\n\n propagateChanges : boolean\n\n protected _log( level : LogLevel, code : string, text : string, value, record : AttributesContainer, logger : Logger ){\n record._log( level, code, `${record.getClassName()}.${ this.name } ${ text }`, {\n 'New value' : value,\n 'Prev. value' : record.attributes[ this.name ]\n }, logger );\n }\n\n defaultValue(){\n return this.value;\n }\n\n constructor( public name : string, a_options : AttributeOptions ) { \n // Save original options...\n this.options = a_options;\n\n // Clone options.\n const options : AttributeOptions = { getHooks : [], transforms : [], changeHandlers : [], ...a_options };\n options.getHooks = options.getHooks.slice();\n options.transforms = options.transforms.slice();\n options.changeHandlers = options.changeHandlers.slice();\n\n const {\n value, type, parse, toJSON, changeEvents,\n validate, getHooks, transforms, changeHandlers\n } = options;\n\n // Initialize default value...\n this.value = value;\n this.type = type;\n\n // TODO: An opportunity to optimize for attribute subtype.\n if( !options.hasCustomDefault && type ){\n this.defaultValue = this.create;\n }\n else if( tools.isValidJSON( value ) ){ \n // JSON literals must be deep copied.\n this.defaultValue = new Function( `return ${ JSON.stringify( value ) };` ) as any;\n }\n else{\n this.defaultValue = this.defaultValue;\n }\n\n // Changes must be bubbled when they are not disabled for an attribute and transactional object.\n this.propagateChanges = changeEvents !== false;\n\n this.toJSON = toJSON === void 0 ? this.toJSON : toJSON;\n\n this.validate = validate || this.validate;\n \n if( options.isRequired ){\n this.validate = wrapIsRequired( this.validate );\n }\n\n /**\n * Assemble pipelines...\n */\n\n // `convert` is default transform, which is always present...\n transforms.unshift( this.convert );\n\n // Get hook from the attribute will be used first...\n if( this.get ) getHooks.unshift( this.get );\n\n // let subclasses configure the pipeline...\n this.initialize.call( this, options );\n\n // let attribute spec configure the pipeline...\n if( getHooks.length ){\n const getHook = this.getHook = getHooks.reduce( chainGetHooks );\n\n const { validate } = this;\n this.validate = function( record : AttributesContainer, value : any, key : string ){\n return validate.call( this, record, getHook.call( record, value, key ), key );\n }\n }\n \n this.transform = transforms.length ? transforms.reduce( chainTransforms ) : this.transform;\n \n this.handleChange = changeHandlers.length ? changeHandlers.reduce( chainChangeHandlers ) : this.handleChange;\n\n // Attribute-level parse transform are attached as update hooks modifiers...\n const { doInit, doUpdate } = this;\n this.doInit = parse ? function( value, record : AttributesContainer, options : TransactionOptions ){\n return doInit.call( this, options.parse && value !== void 0 ? parse.call( record, value, this.name ) : value, record, options );\n } : doInit;\n\n this.doUpdate = parse ? function( value, record : AttributesContainer, options : TransactionOptions, nested? : ModelTransaction[] ){\n return doUpdate.call( this, options.parse && value !== void 0 ? parse.call( record, value, this.name ) : value, record, options, nested );\n } : doUpdate;\n }\n\n getHook : ( value, key : string ) => any = null\n get : ( value, key : string ) => any\n}\n\n\nfunction chainGetHooks( prevHook : GetHook, nextHook : GetHook ) : GetHook {\n return function( value, name ) {\n return nextHook.call( this, prevHook.call( this, value, name ), name );\n }\n}\n\nfunction chainTransforms( prevTransform : Transform, nextTransform : Transform ) : Transform {\n return function( next, prev, record, options ) {\n return nextTransform.call( this, prevTransform.call( this, next, prev, record, options ), prev, record, options );\n }\n}\n\nfunction chainChangeHandlers( prevHandler : ChangeHandler, nextHandler : ChangeHandler ) : ChangeHandler {\n return function( next, prev, record, options ) {\n prevHandler.call( this, next, prev, record, options );\n nextHandler.call( this, next, prev, record, options );\n }\n}\n\nfunction wrapIsRequired( validate ){\n return function( record : AttributesContainer, value : any, key : string ){\n return value ? validate.call( this, record, value, key ) : 'Required';\n }\n}","/**\n * Built-in JSON types attributes: Object, Array, Number, String, Boolean, and immutable class.\n * \n * Adds type assertions, default validation, and optimized update pipeline.\n */\n\nimport { TransactionOptions } from '../../transactions';\nimport { AnyType } from './any';\nimport { AttributesContainer } from '../updates';\n\n/**\n * Custom class must be immutable class which implements toJSON() method\n * with a constructor taking json.\n */\nexport class ImmutableClassType extends AnyType {\n type : new ( value? : any ) => {}\n\n create(){\n return new this.type();\n }\n\n convert( next : any ) : any {\n return next == null || next instanceof this.type ? next : new this.type( next );\n }\n\n toJSON( value, key? : string, options? : object ){\n return value && value.toJSON ? value.toJSON( options ) : value;\n }\n\n clone( value ) {\n return new this.type( this.toJSON( value ) );\n }\n\n isChanged( a, b ){\n return a !== b;\n }\n}\n\n/**\n * Optimized attribute of primitive type.\n * \n * Primitives has specialized simplified pipeline.\n */\nexport class PrimitiveType extends AnyType {\n type : NumberConstructor | StringConstructor | BooleanConstructor\n\n dispose(){}\n create() { return this.type(); }\n\n toJSON( value ) { return value; }\n\n convert( next ) { return next == null ? next : this.type( next ); }\n\n isChanged( a, b ) { return a !== b; }\n\n clone( value ) { return value; }\n\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\n return this.transform( value === void 0 ? this.value : value, void 0, record, options );\n }\n\n doUpdate( value, record, options, nested ){\n const { name } = this,\n { attributes } = record,\n prev = attributes[ name ];\n \n return prev !== ( attributes[ name ] = this.transform( value, prev, record, options ) );\n }\n\n initialize(){\n if( !this.options.hasCustomDefault ){\n this.value = this.type();\n }\n }\n}\n\n// Number type with special validation algothim.\n/** @private */ \nexport class NumericType extends PrimitiveType {\n type : NumberConstructor\n\n create(){\n return 0;\n }\n\n convert( next, prev?, record?, options? ) {\n const num = next == null ? next : this.type( next );\n\n if( num !== num ){\n this._log( 'error', 'Type-R:InvalidNumber', 'Number attribute is assigned with an invalid number', next, record, options.logger );\n }\n \n return num;\n }\n\n validate( model, value, name ) {\n // Whatever is not symmetrically serializable to JSON, is not valid by default.\n if( value != null && !isFinite( value ) ) {\n return name + ' is not valid number';\n }\n }\n}\n\n/**\n * Compatibility wrapper for Array type.\n * @private\n */ \nexport class ArrayType extends AnyType {\n toJSON( value ) { return value; }\n dispose(){}\n create(){ return []; }\n\n convert( next, prev, record, options ) {\n // Fix incompatible constructor behaviour of Array...\n if( next == null || Array.isArray( next ) ) return next;\n\n this._log( 'error', 'Type-R:InvalidArray', 'Array attribute assigned with non-array value', next, record, options.logger );\n\n return [];\n }\n\n clone( value ){\n return value && value.slice();\n }\n}\n\nexport class ObjectType extends AnyType {\n create(){ return {}; }\n\n convert( next, prev, record, options ) {\n if( next == null || typeof next === 'object' ) return next;\n \n this._log( 'error', 'Type-R:InvalidObject', 'Object attribute is assigned with non-object value', next, record, options.logger );\n return {};\n }\n}\n\nexport function doNothing(){}\n\nexport class FunctionType extends AnyType {\n // Functions are not serialized.\n toJSON( value ) { return void 0; }\n create(){ return doNothing; }\n dispose(){}\n\n convert( next, prev, record, options ) {\n // Fix incompatible constructor behaviour of Function...\n if( next == null || typeof next === 'function' ) return next;\n\n this._log( 'error', 'Type-R:InvalidFunction', 'Function attribute assigned with non-function value', next, record, options.logger );\n\n return doNothing;\n }\n\n // Functions are not cloned.\n clone( value ){ return value; }\n}\n","/**\n * Date attribute type.\n * \n * Implements validation, cross-browser compatibility fixes, variety of Date serialization formats,\n * and optimized update pipeline.\n */\nimport { TransactionOptions } from '../../transactions';\nimport { AnyType } from './any';\nimport { AttributesContainer } from '../updates';\n\n// Date Attribute\n/** @private */\nexport class DateType extends AnyType {\n create(){\n return new Date();\n }\n \n convert( next : any, a, record, options ){\n if( next == null || next instanceof Date ) return next;\n\n const date = new Date( next ),\n timestamp = date.getTime();\n\n if( timestamp !== timestamp ){\n this._log( 'error', 'Type-R:InvalidDate', 'Date attribute assigned with invalid date', next, record, options.logger );\n }\n\n return date;\n }\n\n validate( model, value, name ) {\n if( value != null ){\n const timestamp = value.getTime(); \n if( timestamp !== timestamp ) return name + ' is Invalid Date';\n }\n }\n\n toJSON( value ) { return value && value.toISOString(); }\n\n isChanged( a, b ) { return ( a && a.getTime() ) !== ( b && b.getTime() ); }\n\n doInit( value, record : AttributesContainer, options : TransactionOptions ){\n // Date don't have handleChanges step.\n return this.transform( value === void 0 ? this.defaultValue() : value, void 0, record, options );\n }\n\n doUpdate( value, record, options, nested ){\n const { name } = this,\n { attributes } = record,\n prev = attributes[ name ];\n \n // Date don't have handleChanges step.\n return this.isChanged( prev , attributes[ name ] = this.transform( value, prev, record, options ) );\n }\n\n clone( value ) { return value && new Date( value.getTime() ); }\n dispose(){}\n}\n\n// If ISO date is not supported by date constructor (such as in Safari), polyfill it.\nfunction supportsDate( date ){\n return !isNaN( ( new Date( date ) ).getTime() );\n}\n\nif( !supportsDate('2011-11-29T15:52:30.5') ||\n !supportsDate('2011-11-29T15:52:30.52') ||\n !supportsDate('2011-11-29T15:52:18.867') ||\n !supportsDate('2011-11-29T15:52:18.867Z') ||\n !supportsDate('2011-11-29T15:52:18.867-03:30') ){\n\n DateType.prototype.convert = function( value ){\n return value == null || value instanceof Date ? value : new Date( safeParseDate( value ) );\n }\n}\n\nconst numericKeys = [ 1, 4, 5, 6, 7, 10, 11 ],\n isoDatePattern = /^(\\d{4}|[+\\-]\\d{6})(?:-(\\d{2})(?:-(\\d{2}))?)?(?:T(\\d{2}):(\\d{2})(?::(\\d{2})(?:\\.(\\d{3}))?)?(?:(Z)|([+\\-])(\\d{2})(?::(\\d{2}))?)?)?$/;\n\nfunction safeParseDate( date : string ) : number {\n var timestamp, struct : any[], minutesOffset = 0;\n\n if( ( struct = isoDatePattern.exec( date )) ) {\n // avoid NaN timestamps caused by undefined values being passed to Date.UTC\n for( var i = 0, k; ( k = numericKeys[ i ] ); ++i ) {\n struct[ k ] = +struct[ k ] || 0;\n }\n\n // allow undefined days and months\n struct[ 2 ] = (+struct[ 2 ] || 1) - 1;\n struct[ 3 ] = +struct[ 3 ] || 1;\n\n if( struct[ 8 ] !== 'Z' && struct[ 9 ] !== undefined ) {\n minutesOffset = struct[ 10 ] * 60 + struct[ 11 ];\n\n if( struct[ 9 ] === '+' ) {\n minutesOffset = 0 - minutesOffset;\n }\n }\n\n timestamp =\n Date.UTC( struct[ 1 ], struct[ 2 ], struct[ 3 ], struct[ 4 ], struct[ 5 ] + minutesOffset, struct[ 6 ],\n struct[ 7 ] );\n }\n else {\n timestamp = Date.parse( date );\n }\n\n return timestamp;\n}","import { ItemsBehavior, Transactional, transactionApi, TransactionOptions } from '../../transactions';\nimport { ValidationError } from '../../validation';\nimport { AnyType } from './any';\nimport { AttributesContainer, ConstructorOptions } from '../updates';\n\nconst { free, aquire } = transactionApi;\n\nexport class AggregatedType extends AnyType {\n type : typeof Transactional\n\n clone( value : Transactional ) : Transactional {\n return value ? value.clone() : value;\n }\n\n toJSON( x, key : string, options : object ){ return x && x.toJSON( options ); }\n\n doInit( value, record : AttributesContainer, options : ConstructorOptions ){\n const v = options.clone ? this.clone( value ) : (\n value === void 0 ? this.defaultValue() : value\n );\n\n const x = this.transform( v, void 0, record, options );\n this.handleChange( x, void 0, record, options );\n return x;\n }\n\n doUpdate( value, record, options, nested : any[] ){ // Last to things can be wrapped to an object, either transaction or ad-hoc\n const key = this.name, { attributes } = record; \n const prev = attributes[ key ];\n let update;\n\n // This can be moved to transactional attribute. And chained with the rest.\n if( update = this.canBeUpdated( prev, value, options ) ) { // todo - skip empty updates.\n const nestedTransaction = prev._createTransaction( update, options );\n // TODO: sync update tokens\n if( nestedTransaction ){\n if( nested ){\n nested.push( nestedTransaction );\n }\n else{\n nestedTransaction.commit( record );\n }\n\n if( this.propagateChanges ) return true;\n }\n\n return false;\n }\n\n const next = this.transform( value, prev, record, options );\n attributes[ key ] = next;\n\n if( this.isChanged( next, prev ) ) { // Primitives and nested comparison can be inlined.\n // Do the rest of the job after assignment\n this.handleChange( next, prev, record, options );\n\n return true;\n }\n\n return false;\n }\n\n canBeUpdated( prev : Transactional, next : any, options : TransactionOptions ) : any {\n // If an object already exists, and new value is of incompatible type, let object handle the update.\n if( prev && next != null ){\n if( next instanceof this.type ){\n // In case if merge option explicitly specified, force merge.\n if( options.merge ) return next.__inner_state__;\n }\n else{\n return next;\n }\n }\n }\n\n convert( next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) : Transactional {\n // Invoke class factory to handle abstract classes\n if( next == null ) return next;\n \n if( next instanceof this.type ){\n if( next._shared && !( next._shared & ItemsBehavior.persistent ) ) { // TODO: think more about shared types assignment compatibility. \n this._log( 'error', 'Type-R:InvalidCollection', 'aggregated collection attribute is assigned with shared collection type', next, record, options.logger );\n }\n\n // With explicit 'merge' option we need to clone an object if its previous value was 'null'.\n // This is an only case we could be here when merge === true.\n if( options.merge ) return next.clone();\n\n if( next._owner ){\n this._log( 'warn', 'Type-R:InvalidOwner', 'object alreay has an owner and was cloned. Use explicit object.clone() to dismiss this warning.', next, record, options.logger );\n return next.clone();\n }\n\n return next;\n }\n\n return ( this.type as any).create( next, options );\n }\n\n dispose ( record : AttributesContainer, value : Transactional ){\n if( value ){\n this.handleChange( void 0, value, record, {} );\n }\n }\n\n validate( record : AttributesContainer, value : Transactional ) : ValidationError {\n var error = value && value.validationError;\n if( error ) return error;\n }\n\n create() : Transactional {\n return (this.type).create(); // this the subclass of Transactional here.\n }\n\n initialize( options ){\n options.changeHandlers.unshift( this._handleChange );\n }\n\n _handleChange( next : Transactional, prev : Transactional, record : AttributesContainer, options : TransactionOptions ){\n if( prev ){\n free( record, prev );\n options.unset || prev.dispose();\n } \n \n if( next ) aquire( record, next, this.name );\n }\n}","import { eventsApi } from '@type-r/mixture';\nimport { ItemsBehavior, Transactional, transactionApi, TransactionOptions } from '../../transactions';\nimport { AnyType } from './any';\nimport { AttributesContainer, ConstructorOptions } from '../updates';\nimport { ChainableAttributeSpec } from '../attrDef';\n\nconst { on, off } = eventsApi,\n { free, aquire } = transactionApi;\n\n/************************\n * Shared attribute definition.\n * - Not serialized.\n * - Listening to the changes.\n * - Doesn't take ownership when assigned with object of proper type.\n * - Takes ownership on objects which are converted.\n */\n\nconst shareAndListen = ItemsBehavior.listen | ItemsBehavior.share;\n\n/** @private */\nexport class SharedType extends AnyType {\n type : typeof Transactional\n\n doInit( value, record : AttributesContainer, options : ConstructorOptions ){\n const v = options.clone ? this.clone( value, record ) : (\n value === void 0 ? this.defaultValue() : value\n );\n\n const x = this.transform( v, void 0, record, options );\n this.handleChange( x, void 0, record, options );\n return x;\n }\n\n doUpdate( value, record, options, nested : any[] ){ // Last to things can be wrapped to an object, either transaction or ad-hoc\n const key = this.name, { attributes } = record; \n const prev = attributes[ key ];\n let update;\n\n // This can be moved to transactional attribute. And chained with the rest.\n if( update = this.canBeUpdated( prev, value, options ) ) { // todo - skip empty updates.\n const nestedTransaction = prev._createTransaction( update, options );\n if( nestedTransaction ){\n if( nested ){\n nested.push( nestedTransaction );\n }\n else{\n nestedTransaction.commit( record );\n }\n\n if( this.propagateChanges ) return true;\n }\n\n return false;\n }\n\n const next = this.transform( value, prev, record, options );\n attributes[ key ] = next;\n\n if( this.isChanged( next, prev ) ) { // Primitives and nested comparison can be inlined.\n // Do the rest of the job after assignment\n this.handleChange( next, prev, record, options );\n\n return true;\n }\n\n return false;\n }\n\n clone( value : Transactional, record : AttributesContainer ) : Transactional {\n // References are not cloned.\n if( !value || value._owner !== record ) return value;\n\n // Implicitly created objects are cloned.\n const clone = value.clone();\n aquire( record, clone, this.name );\n return clone;\n }\n\n // Do not serialize by default.\n toJSON(){}\n\n canBeUpdated( prev : Transactional, next : any, options : TransactionOptions ) : any {\n // If an object already exists, and new value is of incompatible type, let object handle the update.\n if( prev && next != null && !( next instanceof this.type ) ){\n return next;\n }\n }\n\n convert( next : any, prev : any, record : AttributesContainer, options : TransactionOptions ) : Transactional {\n if( next == null || next instanceof this.type ) return next;\n\n // Convert type using implicitly created transactional object.\n const implicitObject = new ( this.type as any )( next, options, shareAndListen );\n\n // To prevent a leak, we need to take an ownership on it.\n aquire( record, implicitObject, this.name );\n\n return implicitObject;\n }\n\n // Refs are always valid.\n validate( model, value, name ){}\n\n // They are always created as null.\n create() : Transactional {\n return null;\n }\n\n // Listening to the change events\n _handleChange( next : Transactional, prev : Transactional, record : AttributesContainer, options ){\n if( prev ){\n // If there was an implicitly created object, remove an ownership.\n if( prev._owner === record ){\n free( record, prev );\n options.unset || prev.dispose();\n }\n else{\n off( prev, prev._changeEventName, this._onChange, record );\n }\n } \n \n if( next ){\n // No need to take an ownership for an implicit object - already done in convert or clone.\n if( next._owner !== record ){\n on( next, next._changeEventName, this._onChange, record );\n }\n } \n }\n\n dispose( record : AttributesContainer, value : Transactional ){\n if( value ){\n this.handleChange( void 0, value, record, {} );\n }\n }\n\n _onChange : ( child : Transactional, options : TransactionOptions, initiator : Transactional ) => void \n\n initialize( options ){\n // Create change event handler which knows current attribute name. \n const attribute = this;\n this._onChange = this.propagateChanges ? function( child, options, initiator ){\n this === initiator || this.forceAttributeChange( attribute.name, options );\n } : ignore;\n\n options.changeHandlers.unshift( this._handleChange );\n }\n}\n\nfunction ignore(){}","import { PrimitiveType, NumericType, ObjectType, ImmutableClassType, FunctionType, ArrayType } from './basic';\nimport { DateType } from './date';\nimport { AnyType, AttributeOptions } from './any';\n\nexport * from './any';\nexport * from './basic';\nexport * from './date';\nexport * from './owned';\nexport * from './shared';\n\n/**\n * Every record attribute type has the corresponding metatype controlling its behavior.\n * For built-in types, Type-R uses the predefined list to resolve metatype in order to avoid global objects modifications.\n * For user-defined types, static `_metatype` constructor member is used.\n */\n\nconst builtins : Function[] = [ String, Number, Boolean, Date, Object, Array, Function ],\n metatypes = [ PrimitiveType, NumericType, PrimitiveType, DateType, ObjectType, ArrayType, FunctionType ];\n\nexport function getMetatype( Ctor : Function ){\n return ( Ctor as any )._metatype || resolveBuiltins( Ctor );\n}\n\nAnyType.create = ( options : AttributeOptions, name : string ) => {\n const type = options.type,\n AttributeCtor = options._metatype || ( type ? getMetatype( type ): AnyType );\n\n return new AttributeCtor( name, options );\n}\n\nfunction resolveBuiltins( Ctor : Function ){\n const idx = builtins.indexOf( Ctor );\n return idx < 0 ? ImmutableClassType : metatypes[ idx ];\n}","/**\n * Type spec engine. Declare attributes using chainable syntax,\n * and returns object with spec.\n */\nimport { Linked } from '@linked/value';\nimport { definitionDecorator, EventMap, EventsDefinition, tools } from '@type-r/mixture';\nimport { Collection } from '../collection';\nimport { IOEndpoint } from '../io-tools';\nimport { Transactional } from '../transactions';\nimport { AttributeOptions, AttributeToJSON, getMetatype, Parse, SharedType } from './metatypes';\nimport { Model } from './model';\nimport { ModelAttributes } from './define'\nimport { AttributesContainer } from './updates';\n\nconst { assign } = tools;\n\nexport interface AttributeCheck {\n ( value : any, key : string ) : boolean\n error? : any\n}\n\n\n// Infer the proper TS type from a Type-R attribute spec.\nexport type Infer =\n A extends Function ? TrueReturnType :\n A extends ChainableAttributeSpec ? TrueReturnType :\n A extends Array ? (\n T extends new (...args : any[]) => infer M ? (\n M extends Model ? Collection : never\n ) :\n T extends object ? Collection> :\n T[]\n ) :\n A extends object ? Model & ModelAttributes :\n A | null;\n\n// Extract the proper TS return type for a function or constructor.\ntype TrueReturnType =\n F extends DateConstructor ? Date | null :\n F extends typeof Linked ? Linked :\n F extends ( ...args : any[] ) => infer R ? R | null :\n F extends new ( ...args : any[] ) => infer R ? R | null:\n void;\n\nexport class ChainableAttributeSpec{\n options : AttributeOptions & { type? : F };\n\n constructor( options : AttributeOptions ) {\n // Shallow copy options, fill it with defaults.\n this.options = { getHooks : [], transforms : [], changeHandlers : []};\n if( options ) assign( this.options, options );\n }\n\n check( check : AttributeCheck, error? : any ) : this {\n function validate( model, value, name ){\n if( !check.call( model, value, name ) ){\n const msg = error || check.error || name + ' is not valid';\n return typeof msg === 'function' ? msg.call( model, name ) : msg;\n }\n }\n\n const prev = this.options.validate;\n\n return this.metadata({\n validate : prev ? (\n function( model, value, name ){\n return prev( model, value, name ) || validate( model, value, name );\n }\n ) : validate\n });\n }\n\n get as() : PropertyDecorator {\n return definitionDecorator( 'attributes', this );\n }\n\n get isRequired() : this {\n return this.required;\n }\n\n get required() : this {\n return this.metadata({ isRequired : true }); \n }\n\n endpoint( endpoint : IOEndpoint ) : this {\n return this.metadata({ endpoint });\n }\n\n watcher( ref : string | ( ( value : any, key : string ) => void ) ) : this {\n return this.metadata({ _onChange : ref });\n }\n\n // Attribute-specific parse transform\n parse( fun : Parse ) : this {\n return this.metadata({ parse : fun });\n }\n\n toJSON( fun : AttributeToJSON | false ) : this {\n return this.metadata({\n toJSON : typeof fun === 'function' ? fun : ( fun ? ( x, k, o ) => x && x.toJSON( o ) : emptyFunction ) \n });\n }\n\n get dontSave(){\n return this.toJSON( false );\n }\n\n get null(){\n return this.value( null );\n }\n\n // Attribute get hook.\n get( fun ) : this {\n return this.metadata({\n getHooks : this.options.getHooks.concat( fun )\n });\n }\n\n // Attribute set hook.\n set( fun ) : this {\n function handleSetHook( next, prev, record : AttributesContainer, options ) {\n if( this.isChanged( next, prev ) ) {\n const changed = fun.call( record, next, this.name );\n return changed === void 0 ? prev : this.convert( changed, prev, record, options );\n }\n\n return prev;\n }\n\n return this.metadata({\n transforms : this.options.transforms.concat( handleSetHook )\n });\n }\n\n changeEvents( events : boolean ) : this {\n return this.metadata({ changeEvents : events });\n }\n\n // Subsribe to events from an attribute.\n events( map : EventsDefinition ) : this {\n const eventMap = new EventMap( map );\n\n function handleEventsSubscribtion( next, prev, record : AttributesContainer ){\n prev && prev.trigger && eventMap.unsubscribe( record, prev );\n\n next && next.trigger && eventMap.subscribe( record, next );\n }\n\n return this.metadata({\n changeHandlers : this.options.changeHandlers.concat( handleEventsSubscribtion )\n });\n }\n\n // Creates a copy of the spec.\n get has() : this {\n return this;\n }\n\n metadata( options : object ) : this {\n const cloned = new ChainableAttributeSpec( this.options );\n assign( cloned.options, options );\n return cloned as any;\n }\n\n value( x ) : this {\n return this.metadata({ value : x, hasCustomDefault : true });\n }\n\n static from( spec : any ) : ChainableAttributeSpec {\n return null; // dependency injection, see the top level index.ts\n }\n}\n\nfunction emptyFunction(){}\n\nexport function type( this : void, Type : ChainableAttributeSpec | F, value? : any ) : ChainableAttributeSpec {\n if( Type instanceof ChainableAttributeSpec ) return Type;\n\n const attrDef = new ChainableAttributeSpec({ type : Type }),\n defaultValue = Type && value === void 0 ? getMetatype( Type ).defaultValue : value;\n\n return defaultValue === void 0 ? attrDef : attrDef.value( defaultValue );\n}\n\nexport function shared( this : void, Constructor : C ) : ChainableAttributeSpec {\n return new ChainableAttributeSpec({\n value : null,\n type : Constructor,\n _metatype : SharedType\n });\n}\n\nexport { shared as refTo };\n\n// Create attribute metatype inferring the type from the value.\nexport function value( this : void, x : T ) : ChainableAttributeSpec T> {\n const Type = inferType( x ),\n // Transactional types inferred from values must have shared type. \n AttrDef = Type && Type.prototype instanceof Transactional ? shared( Type ) :\n type( Type );\n\n return AttrDef.value( x ) as any;\n}\n\n/*\nexport declare type InferConstructor = \n T extends number ? NumberConstructor :\n T extends string ? StringConstructor :\n T extends boolean ? BooleanConstructor :\n T extends Date ? DateConstructor :\n T extends Transactional ? new ( ...args : any[] ) => */\n\nfunction inferType( value : any ) : Function {\n switch( typeof value ) {\n case 'number' :\n return Number;\n case 'string' :\n return String;\n case 'boolean' :\n return Boolean;\n case 'function' :\n return Function;\n case 'undefined' :\n return void 0;\n case 'object' :\n return value ? value.constructor : void 0;\n }\n}","import { GenericComparator } from '../collection';\nimport { IOEndpoint } from '../io-tools';\nimport { Infer } from './attrDef';\nimport { LinkedModelHash } from './linked-attrs';\nimport { MakeModelConstructor, Model } from './model';\n\nexport const collection = Symbol(\"Methods definitions\");\nexport const metadata = Symbol(\"Methods definitions\");\n\n// TODO: getters and setters can go to the attributes object.\n// Methods can be added though the class.\n\nexport interface AnonimousModelDefinition {\n [metadata]? : {\n idAttribute? : string\n endpoint? : IOEndpoint\n }\n\n [collection]? : {\n itemEvents? : { [ event : string ] : true | string | (( ...args : any[] ) => void ) }\n comparator? : GenericComparator\n \n initialize?( models? : any[], options? : object ) : void\n parse?( json : any ) : object[]\n toJSON?( options? : any ) : any\n validate?() : any\n }\n\n [attribute : string] : any\n}\n\nexport function parseAnonimousModelDefinition({ [metadata] : md, [collection] : coll, ...attributes } : AnonimousModelDefinition){\n return {\n attributes,\n collection : coll,\n ...md\n }\n}\n\nexport type AnonymousAttributes =\n AnonymousModelConstructor\n\nexport type AnonymousModelConstructor =\n MakeModelConstructor<\n Model & ModelAttributes,\n A\n >\n\nexport type ModelAttributes =\n InferAttrs & {\n readonly $ : LinkedModelHash>\n }\n\nexport type MergeModelConstructors =\n MakeModelConstructor<\n InstanceType & InstanceType,\n First['attributes'] & Second['attributes']\n >\n\nexport type InferAttrs = {\n [K in Exclude]: Infer\n};","import { Model } from './model'\nimport { Linked } from '@linked/value'\nimport { Transactional } from '../transactions';\n\nexport function addAttributeLinks( Class : typeof Model ){\n const { prototype } = Class;\n const { _attributesArray } = prototype;\n\n const AttributeRefs = new Function('model', `\n this._model = model;\n ${ _attributesArray.map( ({ name }) => `this.$${name} = void 0; `).join( '\\n' )}\n `)\n\n AttributeRefs.prototype.__ModelAttrRef = LinkedAttr;\n\n for( let attr of _attributesArray ){\n const { name } = attr;\n \n Object.defineProperty( AttributeRefs.prototype, name, {\n get : new Function( attr.isMutableType() ? `\n var cached = this.$${name},\n value = this._model.${name},\n token = value && value._changeToken;\n\n return cached && cached._token === token ? cached :\n ( this.$${name} = new this.__ModelAttrRef( this._model, '${name}', value, token ) );\n ` : `\n var cached = this.$${name};\n\n return cached && cached.value === this._model.${name} ? cached :\n ( this.$${name} = new this.__ModelAttrRef( this._model, '${name}', this._model.${name} ) );\n `) as any\n });\n }\n\n prototype.__Attributes$ = AttributeRefs as any;\n}\n\nexport type LinkedModelHash= {\n readonly [ K in keyof T ] : LinkedAttr\n}\n\nexport class LinkedAttr extends Linked {\n constructor( protected model : Model, protected attr : string, value, protected _token ){\n super( value );\n }\n\n set( x : T ){\n this.model[ this.attr ] = x;\n }\n\n _error : any\n\n // Attribute's descriptor.\n get descriptor(){\n return this.model._attributes[ this.attr ];\n }\n}\n\nObject.defineProperty( LinkedAttr.prototype, '_changeToken', { value : null } );\nObject.defineProperty( LinkedAttr.prototype, 'error', {\n get : function(){\n return this._error || ( this._error = this.model.getValidationError( this.attr ) );\n },\n set : function( x : any ){\n this._error = x;\n }\n});\n","import { IOEndpoint } from '../io-tools';\nimport { eventsApi, tools as _ } from '@type-r/mixture';\nimport { CompiledReference } from '../traversable';\nimport { ChainableAttributeSpec } from './attrDef';\nimport { AnyType } from './metatypes';\nimport { ConstructorsMixin, constructorsMixin } from './updates';\n\nexport interface ModelAttributesMixin extends ConstructorsMixin {\n // Attributes descriptors\n _attributes : AttributeDescriptors\n _attributesArray : AnyType[]\n \n // Attribute's property descriptors\n properties : PropertyDescriptorMap\n\n // Event map for record's local events.\n _localEvents? : eventsApi.EventMap,\n\n _endpoints : { [ name : string ] : IOEndpoint }\n}\n\nexport interface AttributeDescriptors {\n [ name : string ] : AnyType\n}\n\n// Create attribute from the type spec.\nexport function createAttribute( spec : any, name : string ) : AnyType {\n return AnyType.create( ChainableAttributeSpec.from( spec ).options, name );\n}\n\n// Create record mixin from the given record's attributes definition\nexport function createAttributesMixin( attributesDefinition : object, baseClassAttributes : AttributeDescriptors ) : ModelAttributesMixin {\n const myAttributes = _.transform( {} as AttributeDescriptors, attributesDefinition, createAttribute ),\n allAttributes = _.defaults( {} as AttributeDescriptors, myAttributes, baseClassAttributes );\n\n const ConstructorsMixin = constructorsMixin( allAttributes );\n\n return {\n ...ConstructorsMixin,\n _attributes : new ConstructorsMixin.AttributesCopy( allAttributes ),\n _attributesArray : Object.keys( allAttributes ).map( key => allAttributes[ key ] ),\n properties : _.transform( {}, myAttributes, x => x.createPropertyDescriptor() ),\n ...localEventsMixin( myAttributes ),\n _endpoints : _.transform( {}, allAttributes, attrDef => attrDef.options.endpoint )\n } \n}\n\ninterface LocalEventsMixin {\n _localEvents? : eventsApi.EventMap\n}\n\nfunction localEventsMixin( attrSpecs : AttributeDescriptors ) : LocalEventsMixin {\n let _localEvents : eventsApi.EventMap;\n\n for( var key in attrSpecs ){\n const attribute = attrSpecs[ key ],\n { _onChange } = attribute.options; \n\n if( _onChange ){\n _localEvents || ( _localEvents = new eventsApi.EventMap() );\n\n _localEvents.addEvent( 'change:' + key,\n typeof _onChange === 'string' ?\n createWatcherFromRef( _onChange, key ) : \n wrapWatcher( _onChange, key ) );\n }\n }\n\n return _localEvents ? { _localEvents } : {};\n}\n\nfunction wrapWatcher( watcher, key ){\n return function( record, value ){\n watcher.call( record, value, key );\n } \n}\n\nfunction createWatcherFromRef( ref : string, key : string ){\n const { local, resolve, tail } = new CompiledReference( ref, true );\n return local ?\n function( record, value ){\n record[ tail ]( value, key );\n } :\n function( record, value ){\n resolve( record )[ tail ]( value, key );\n }\n}","import { IOEndpoint, IONode, IOOptions, IOPromise, startIO } from '../io-tools';\nimport { TransactionOptions } from '../transactions';\n\nexport interface IOModel extends IONode {\n getEndpoint() : IOEndpoint\n save( options? : object ) : IOPromise\n fetch( options? : object ) : IOPromise\n destroy( options? : object ) : IOPromise\n toJSON( options? : object ) : any\n parse( data : any, options? : object ) : any\n isNew() : boolean\n id : string | number\n set( json : object, options : TransactionOptions ) : this\n}\n\nexport const IOModelMixin = {\n save( this : IOModel, options : IOOptions = {} ){\n const endpoint = this.getEndpoint(),\n json = this.toJSON({ ioMethod : 'save', ...options });\n\n return startIO(\n this,\n this.isNew() ?\n endpoint.create( json, options, this ) :\n endpoint.update( this.id, json, options, this ),\n options,\n\n update => {\n this.set( update, {\n parse : true,\n ioMethod : 'save',\n ...options\n } );\n }\n );\n },\n\n fetch( options : IOOptions = {} ){\n return startIO(\n this,\n this.getEndpoint().read( this.id, options, this ),\n options,\n\n json => this.set( json, { parse : true, ioMethod : 'fetch', ...options } )\n );\n },\n\n destroy( options : IOOptions = {} ){ \n return startIO(\n this,\n this.getEndpoint().destroy( this.id, options, this ),\n options,\n\n () => {\n const { collection } = this;\n if( collection ){\n collection.remove( this, options );\n }\n else{\n this.dispose();\n }\n\n return this;\n }\n )\n }\n}","/**\n * Model core implementing transactional updates.\n * The root of all definitions. \n */\n\nimport { define, definitions, isProduction, Logger, TheType, logger, LogLevel, mixinRules, tools } from '@type-r/mixture';\nimport { CollectionConstructor } from '../collection';\nimport { IOEndpoint } from '../io-tools';\nimport { CloneOptions, Owner, Transaction, Transactional, TransactionalDefinition, TransactionOptions } from '../transactions';\nimport { ChildrenErrors } from '../validation';\nimport { type } from './attrDef';\nimport { InferAttrs, ModelAttributes, AnonymousModelConstructor } from './define';\nimport { IOModel, IOModelMixin } from './io-mixin';\nimport { LinkedModelHash } from './linked-attrs';\nimport { AggregatedType, AnyType } from './metatypes';\nimport { AttributesConstructor, AttributesContainer, AttributesCopyConstructor, AttributesValues, setAttribute, shouldBeAnObject, unknownAttrsWarning, UpdateModelMixin } from './updates';\n\nexport interface MakeModelConstructor extends TheType\n{\n new ( attrs? : Partial>, options? : object ) : T\n prototype : T\n attributes : A\n Collection : CollectionConstructor\n}\n\nconst { assign, isEmpty } = tools;\n\n/*******************************************************\n * Model core implementation\n */\n\nexport interface ConstructorOptions extends TransactionOptions{\n clone? : boolean\n}\n\n// Client unique id counter\nlet _cidCounter : number = 0;\n\n/***************************************************************\n * Model Definition as accepted by Model.define( definition )\n */\nexport interface ModelDefinition extends TransactionalDefinition {\n idAttribute? : string\n attributes? : AttributesValues\n collection? : object\n Collection? : typeof Transactional\n}\n\nexport type LinkedAttributes = LinkedModelHash>\nexport type AttributesMixin = ModelAttributes\n\n@define({\n // Default client id prefix \n cidPrefix : 'm',\n\n // Name of the change event\n _changeEventName : 'change',\n\n // Default id attribute name\n idAttribute : 'id'\n})\n@definitions({\n defaults : mixinRules.merge,\n attributes : mixinRules.merge,\n collection : mixinRules.merge,\n Collection : mixinRules.value,\n idAttribute : mixinRules.protoValue\n})\nexport class Model extends Transactional implements IOModel, AttributesContainer, Iterable {\n /** @internal */\n static _metatype = AggregatedType;\n\n // Hack\n static onDefine( definition, BaseClass ){}\n\n static comparator( this : T, attr : keyof InstanceType, asc = true ) : ( a : InstanceType, b : InstanceType ) => -1 | 0 | 1 {\n const { compare } = tools;\n return asc ? \n ( a, b ) => compare( a[ attr ], b[ attr ] ) :\n ( a, b ) => -compare( a[ attr ], b[ attr ] ) as any;\n }\n\n static Collection : CollectionConstructor;\n static DefaultCollection : CollectionConstructor;\n \n // Attribute type for the record id.\n static id = type( String ).value( null );\n \n // Lazy object reference, serializable as id.\n static get ref(){\n return type( this )\n .toJSON( x => x ? x.id : null )\n .parse( x => {\n return { [ this.prototype.idAttribute ] : x };\n });\n }\n\n static extendAttrs( this : T, attrs : A ) : AnonymousModelConstructor {\n return this.defaults( attrs ) as any;\n }\n\n static defaults( attrs : AttributesValues ) : typeof Model {\n return this.extend({ attributes : attrs }) as any;\n }\n \n static attributes : AttributesValues\n\n /** @internal */\n _attributes$ : object = void 0\n\n /** @internal */\n __Attributes$ : new ( model : Model ) => object\n\n /** @internal */\n get $() : object {\n return this._attributes$ || ( this._attributes$ = new this.__Attributes$( this ) )\n }\n\n /********************\n * IO Methods\n */\n /** @internal */\n _endpoints : { [ name : string ] : IOEndpoint }\n\n /***********************************\n * Core Members\n */\n previousAttributes(){ return new this.AttributesCopy( this._previousAttributes ); } \n\n // Polymorphic accessor for aggregated attribute's canBeUpdated().\n /** @internal */\n get __inner_state__(){ return this.attributes; }\n\n get changed(){\n let changed = this._changedAttributes;\n\n if( !changed ){\n const prev = this._previousAttributes;\n changed = {};\n\n const { attributes } = this;\n\n for( let attr of this._attributesArray ){\n const key = attr.name,\n value = attributes[ key ];\n\n if( attr.isChanged( value, prev[ key ] ) ){\n changed[ key ] = value;\n }\n }\n\n this._changedAttributes = changed;\n }\n\n return changed; \n }\n\n changedAttributes( diff? : {} ) : boolean | {} {\n if( !diff ) return this.hasChanged() ? { ...this.changed } : false;\n\n var val, changed : {} | boolean = false,\n old = this._transaction ? this._previousAttributes : this.attributes,\n attrSpecs = this._attributes;\n\n for( var attr in diff ){\n if( !attrSpecs[ attr ].isChanged( old[ attr ], ( val = diff[ attr ] ) ) ) continue;\n (changed || (changed = {}))[ attr ] = val;\n }\n\n return changed; \n }\n\n hasChanged( key? : string ) : boolean {\n const { _previousAttributes } = this;\n if( !_previousAttributes ) return false;\n\n return key ?\n this._attributes[ key ].isChanged( this.attributes[ key ], _previousAttributes[ key ] ) :\n !isEmpty( this.changed );\n }\n\n previous( key : string ) : any {\n if( key ){\n const { _previousAttributes } = this;\n if( _previousAttributes ) return _previousAttributes[ key ];\n }\n \n return null;\n }\n\n isNew() : boolean {\n return this.id == null;\n }\n\n has( key : string ) : boolean {\n return this[ key ] != void 0;\n }\n\n // Return attribute value, setting an attribute to undefined.\n // TODO: If attribute was aggregated, don't dispose it.\n unset( key : string, options? ) : any {\n const value = this[ key ];\n this.set({ [ key ] : void 0 }, { unset : true, ...options });\n return value;\n }\n\n // Undocumented. Move to NestedTypes?\n clear( options? ) : this {\n const nullify = options && options.nullify;\n\n this.transaction( () =>{\n this.forEach( ( value, key ) => this[ key ] = nullify ? null : void 0 );\n }, options );\n\n return this;\n }\n\n // Returns Model owner skipping collections. TODO: Move out\n getOwner() : Owner {\n const owner : any = this._owner;\n\n // If there are no key, owner must be transactional object, and it's the collection.\n // We don't expect that collection can be the member of collection, so we're skipping just one level up. An optimization.\n return this._ownerKey ? owner : owner && owner._owner;\n }\n\n /***********************************\n * Identity managements\n */\n\n // Id attribute name ('id' by default)\n idAttribute : string;\n\n // Fixed 'id' property pointing to id attribute\n get id() : string { return this.attributes[ this.idAttribute ]; }\n set id( x : string ){ setAttribute( this, this.idAttribute, x ); }\n\n /***********************************\n * Dynamically compiled stuff\n */\n\n // Attributes specifications\n /** @internal */\n _attributes : { [ key : string ] : AnyType }\n\n /** @internal */\n _attributesArray : AnyType[]\n\n // Attributes object copy constructor\n Attributes : AttributesConstructor\n AttributesCopy : AttributesCopyConstructor\n\n // Create record default values, optionally augmenting given values.\n defaults( values = {} ){\n const defaults = {},\n { _attributesArray } = this;\n\n for( let attr of _attributesArray ){\n const key = attr.name,\n value = values[ key ];\n\n defaults[ key ] = value === void 0 ? attr.defaultValue() : value;\n }\n\n return defaults;\n }\n\n /***************************************************\n * Model construction\n */\n // Create record, optionally setting an owner\n constructor( a_values? : any, a_options? : ConstructorOptions ){\n super( _cidCounter++ );\n this.attributes = {};\n \n const options = a_options || {},\n values = ( options.parse ? this.parse( a_values, options ) : a_values ) || {};\n\n isProduction || typeCheck( this, values, options );\n\n this._previousAttributes = this.attributes = new this.Attributes( this, values, options );\n\n this.initialize( a_values, a_options );\n\n if( this._localEvents ) this._localEvents.subscribe( this, this );\n }\n\n // Initialization callback, to be overriden by the subclasses \n initialize( values? : Partial, options? ){}\n\n // Deeply clone record, optionally setting new owner.\n clone( options : CloneOptions = {} ) : this {\n const copy : this = new (this.constructor)( this.attributes, { clone : true } );\n \n if( options.pinStore ) copy._defaultStore = this.getStore();\n\n return copy;\n }\n\n /** @internal */\n _validateNested( errors : ChildrenErrors ) : number {\n var length = 0;\n\n const { attributes } = this;\n\n for( let attribute of this._attributesArray ){\n const { name } = attribute,\n error = attribute.validate( this, attributes[ name ], name );\n\n if( error ){\n errors[ name ] = error;\n length++;\n }\n }\n\n return length;\n }\n\n // Get attribute by key\n get( key : string ) : any {\n return this[ key ];\n }\n\n // Apply bulk in-place object update in scope of ad-hoc transaction \n set( values : any, options? : TransactionOptions ) : this {\n if( values ){ \n const transaction = this._createTransaction( values, options );\n transaction && transaction.commit();\n }\n\n return this;\n }\n\n /**\n * Serialization control\n */\n\n // Default record-level serializer, to be overriden by subclasses \n toJSON( options? : TransactionOptions ) : any {\n const json = {},\n { attributes } = this;\n\n for( let attribute of this._attributesArray ){\n const { name } = attribute,\n value = attributes[ name ];\n\n if( value !== void 0 ){\n // ...serialize it according to its spec.\n const asJson = attribute.toJSON.call( this, value, name, options );\n\n // ...skipping undefined values. Such an attributes are excluded.\n if( asJson !== void 0 ) json[ name ] = asJson; \n }\n }\n\n return json;\n }\n \n // Default record-level parser, to be overriden by the subclasses.\n parse( data, options? : TransactionOptions ){\n return data;\n }\n\n /**\n * Transactional control\n */\n deepSet( name : string, value : any, options? : any ){\n // Operation might involve series of nested object updates, thus it's wrapped in transaction.\n this.transaction( () => {\n const path = name.split( '.' ),\n l = path.length - 1,\n attr = path[ l ];\n\n let model = this;\n\n // Locate the model, traversing the path.\n for( let i = 0; i < l; i++ ){\n const key = path[ i ];\n\n // There might be collections in path, so use `get`.\n let next = model.get ? model.get( key ) : model[ key ];\n\n // Create models, if they are not exist.\n if( !next ){\n const attrSpecs = model._attributes;\n if( attrSpecs ){\n // If current object is model, create default attribute\n var newModel = attrSpecs[ key ].create();\n\n // If created object is model, nullify attributes when requested\n if( options && options.nullify && newModel._attributes ){\n newModel.clear( options );\n }\n\n model[ key ] = next = newModel;\n }\n // Silently fail in other case.\n else return;\n }\n \n model = next;\n }\n\n // Set model attribute.\n if( model.set ){\n model.set({ [ attr ] : value }, options );\n }\n else{\n model[ attr ] = value;\n }\n });\n\n return this\n }\n \n // Returns owner without the key (usually it's collection)\n get collection() : any {\n return this._ownerKey ? null : this._owner;\n }\n\n // Dispose object and all childrens\n dispose(){\n if( this._disposed ) return;\n\n const { attributes } = this;\n\n for( let attr of this._attributesArray ){\n attr.dispose( this, attributes[ attr.name ] );\n }\n \n super.dispose();\n }\n\n /** @internal */\n _log( level : LogLevel, topic: string, text : string, props : object, a_logger? : Logger ) : void {\n ( a_logger || logger ).trigger( level, topic, this.getClassName() + ' ' + text, {\n ...props,\n 'Model' : this,\n 'Attributes definition' : this._attributes\n });\n }\n\n getClassName() : string {\n return super.getClassName() || 'Model';\n }\n\n /** @internal */\n _createTransaction( values : object, options : TransactionOptions ) : Transaction { return void 0; }\n // Simulate attribute change \n forceAttributeChange : ( key : string, options : TransactionOptions ) => void\n\n /** @internal */\n _onChildrenChange : ( child : Transactional, options : TransactionOptions ) => void\n\n\n /**\n * Map methods\n */\n\n forEach( iteratee : ( value? : any, key? : string ) => void, context? : any ){\n const fun = context !== void 0 ? ( v, k ) => iteratee.call( context, v, k ) : iteratee,\n { attributes } = this;\n\n for( const key in this.attributes ){\n const value = attributes[ key ];\n if( value !== void 0 ) fun( value, key );\n }\n }\n\n mapObject( a_fun : ( value, key ) => any, context? : any ) : object {\n const fun = context === void 0 ? a_fun : a_fun.bind( context );\n return tools.transform( {}, this.attributes, fun );\n }\n\n [ Symbol.iterator ](){\n return new ModelEntriesIterator( this );\n }\n\n entries(){\n return new ModelEntriesIterator( this );\n }\n\n // Get array of attribute keys (Model) or record ids (Collection) \n keys() : string[] {\n const keys : string[] = [];\n\n this.forEach( ( value, key ) => keys.push( key ) );\n\n return keys;\n }\n};\n\nexport interface Model extends IOModel {}\nexport interface Model extends AttributesContainer {}\n\n\nassign( Model.prototype, UpdateModelMixin, IOModelMixin );\n\n/***********************************************\n * Helper functions\n */\n\nclass BaseModelAttributes {\n id : string\n\n constructor( record : Model, x : AttributesValues, options : TransactionOptions ) {\n this.id = x.id;\n }\n}\n\nModel.prototype.Attributes = BaseModelAttributes;\n\nclass BaseModelAttributesCopy {\n id : string\n\n constructor( x : AttributesValues ) {\n this.id = x.id;\n }\n}\n\nModel.prototype.AttributesCopy = BaseModelAttributesCopy;\n\nconst IdAttribute = AnyType.create({ value : void 0 }, 'id' );\nModel.prototype._attributes = { id : IdAttribute };\nModel.prototype._attributesArray = [ IdAttribute ];\n\nfunction typeCheck( record : Model, values : object, options ){\n if( shouldBeAnObject( record, values, options ) ){\n const { _attributes } = record;\n let unknown : string[];\n\n for( let name in values ){\n if( !_attributes[ name ] ){\n unknown || ( unknown = [] );\n unknown.push( `'${ name }'` );\n }\n }\n\n if( unknown ){\n unknownAttrsWarning( record, unknown, { values }, options );\n }\n }\n}\n\nexport class ModelEntriesIterator implements Iterator<[string, any]> {\n private idx = 0;\n \n constructor( private readonly record : Model){}\n\n next() : IteratorResult<[string, any]> {\n const { record } = this,\n metatype = record._attributesArray[ this.idx++ ];\n\n return {\n done : !metatype,\n value : metatype ? [ metatype.name, record[ metatype.name ] ] : void 0\n };\n }\n}","import { define, mixins, predefine, tools } from '@type-r/mixture';\nimport { Transactional } from '../transactions';\nimport { type } from './attrDef';\nimport { AnonimousModelDefinition, AnonymousAttributes, MergeModelConstructors, parseAnonimousModelDefinition } from './define';\nimport { addAttributeLinks } from './linked-attrs';\nimport { createAttributesMixin } from './mixin';\nimport { Model, ModelDefinition } from './model';\nexport { collection, metadata, AnonymousModelConstructor, InferAttrs } from './define'\nexport * from './attrDef';\nexport * from './metatypes';\nexport { AttributesMixin, LinkedAttributes } from './model';\nexport { Model };\n\nconst { assign, defaults } = tools;\n\nexport function attributes( b1 : B1, b2 : B2, b3 : B3, attrDefs : D ) : MergeModelConstructors,B3>,AnonymousAttributes>\nexport function attributes( b1 : B1, b2 : B2, attrDefs : D ) : MergeModelConstructors,AnonymousAttributes>\nexport function attributes( b1 : B1, attrDefs : D ) : MergeModelConstructors>;\nexport function attributes( attrDefs : D ) : AnonymousAttributes;\nexport function attributes( ...models : any[] ){\n const last = parseAnonimousModelDefinition( models[ models.length - 1 ] ),\n First = models.length > 1 ? models[ 0 ] : null,\n toMix = models.length > 2 ? models.slice( 1, models.length - 1 ) : null;\n\n class AnonimousModel extends ( First || Model ){\n }\n\n toMix && mixins( toMix )(AnonimousModel);\n define( last )( AnonimousModel );\n\n return AnonimousModel as any;\n}\n\nModel.onExtend = function( this : typeof Model, BaseClass : typeof Model ){\n Transactional.onExtend.call( this, BaseClass );\n\n // Create the default collection\n const Class = this;\n\n @predefine class DefaultCollection extends BaseClass.Collection {\n static model = Class;\n }\n\n this.DefaultCollection = DefaultCollection;\n\n // If there are no collection defined in statics, use the default collection.\n // It will appear in onDefine's definition, overriding all other settings.\n if( Class.Collection === BaseClass.Collection ){\n this.Collection = DefaultCollection;\n }\n}\n\nModel.onDefine = function( definition : ModelDefinition, BaseClass : typeof Model ){\n const baseProto : Model = BaseClass.prototype;\n\n // Compile attributes spec, creating definition mixin.\n const { properties, _localEvents, ...dynamicMixin } = createAttributesMixin( this.attributes = getAttributes( definition ), baseProto._attributes );\n assign( this.prototype, dynamicMixin );\n \n definition.properties = defaults( definition.properties || {}, properties );\n definition._localEvents = _localEvents;\n \n Transactional.onDefine.call( this, definition, BaseClass );\n\n // Finalize the definition of the default collection.\n this.DefaultCollection.define( definition.collection || {} );\n\n // assign collection from the definition.\n this.Collection = definition.Collection;\n this.Collection.prototype.model = this;\n\n if( definition.endpoint ) this.Collection.prototype._endpoint = definition.endpoint;\n\n addAttributeLinks( this );\n}\n\nfunction getAttributes({ defaults, attributes, idAttribute } : ModelDefinition ) {\n const definition = attributes || defaults || {};\n \n // If there is an undeclared idAttribute, add its definition as untyped generic attribute.\n if( idAttribute && !( idAttribute in definition ) ){\n definition[ idAttribute ] = void 0;\n }\n\n return definition;\n}\n\ndeclare var Reflect;\n\nexport function auto( value : any ) : PropertyDecorator;\nexport function auto( proto : object, attrName : string ) : void;\nexport function auto( proto, attrName? : string ) : any {\n if( typeof Reflect !== 'undefined' && Reflect.getMetadata ){\n if( attrName ){\n type( Reflect.getMetadata( \"design:type\", proto, attrName ) ).as( proto, attrName );\n }\n else{\n const value = proto;\n return ( proto : object, attrName : string ) : void => {\n type( Reflect.getMetadata( \"design:type\", proto, attrName ) ).value( value ).as( proto, attrName );\n }\n } \n }\n else{\n proto._log( 'error', 'Type-R:MissingImport', 'Add import \"reflect-metadata\"; as the first line of your app.' );\n } \n}","import { eventsApi, Logger } from '@type-r/mixture';\nimport { Model } from '../model';\nimport { ItemsBehavior, Owner, Transaction, Transactional, transactionApi, TransactionOptions } from '../transactions';\n\n\nconst { trigger2, trigger3, on, off } = eventsApi,\n { commit } = transactionApi,\n _aquire = transactionApi.aquire, _free = transactionApi.free;\n\n/** @private */\nexport interface CollectionCore extends Transactional, Owner {\n /** @internal */\n _byId : IdIndex\n\n models : Model[]\n model : typeof Model\n idAttribute : string // TODO: Refactor inconsistent idAttribute usage\n \n /** @internal */\n _comparator : Comparator\n \n get( objOrId : string | Model | Object ) : Model \n \n /** @internal */\n _itemEvents? : eventsApi.EventMap\n /** @internal */\n _shared : number\n /** @internal */\n _aggregationError : Model[]\n /** @internal */\n _log( level : string, topic : string, text : string, value : any, logger : Logger ) : void\n}\n\n// Collection's manipulation methods elements\nexport type Elements = ( Object | Model )[];\n\nexport interface CollectionOptions extends TransactionOptions {\n sort? : boolean\n}\n\nexport type Comparator = ( a : Model, b : Model ) => number; \n\n/** @private */\nexport function dispose( collection : CollectionCore ) : Model[]{\n const { models } = collection;\n\n collection.models = [];\n collection._byId = {};\n\n freeAll( collection, models );\n return models;\n}\n\n/** @private */\nexport function convertAndAquire( collection : CollectionCore, attrs : {} | Model, options : CollectionOptions ){\n const { model } = collection;\n \n let record : Model;\n\n if( collection._shared ){\n record = attrs instanceof model ? attrs : model.create( attrs, options );\n\n if( collection._shared & ItemsBehavior.listen ){\n on( record, record._changeEventName, collection._onChildrenChange, collection );\n }\n }\n else{\n record = attrs instanceof model ? ( options.merge ? attrs.clone() : attrs ) : model.create( attrs, options );\n\n if( record._owner ){\n if( record._owner !== collection ){\n _aquire( collection, record.clone() );\n const errors = collection._aggregationError || ( collection._aggregationError = [] );\n errors.push( record );\n }\n }\n else{\n _aquire( collection, record ); \n }\n } \n\n // Subscribe for events...\n const { _itemEvents } = collection;\n _itemEvents && _itemEvents.subscribe( collection, record );\n\n return record;\n}\n\n/** @private */\nexport function free( owner : CollectionCore, child : Model, unset? : boolean ) : void {\n if( owner._shared ){\n if( owner._shared & ItemsBehavior.listen ){\n off( child, child._changeEventName, owner._onChildrenChange, owner );\n }\n }\n else{\n _free( owner, child );\n unset || child.dispose();\n }\n\n const { _itemEvents } = owner;\n _itemEvents && _itemEvents.unsubscribe( owner, child );\n}\n\n/** @private */\nexport function freeAll( collection : CollectionCore, children : Model[] ) : Model[] {\n for( let child of children ){\n free( collection, child );\n }\n\n return children;\n}\n\n/**\n * Silently sort collection, if its required. Returns true if sort happened.\n * @private\n */ \nexport function sortElements( collection : CollectionCore, options : CollectionOptions ) : boolean {\n let { _comparator } = collection;\n if( _comparator && options.sort !== false ){\n collection.models.sort( _comparator );\n return true;\n }\n\n return false;\n}\n\n/**********************************\n * Collection Index\n * @private \n */\nexport interface IdIndex {\n [ id : string ] : Model\n}\n\n/** @private Add record */ \nexport function addIndex( index : IdIndex, model : Model ) : void {\n index[ model.cid ] = model;\n var id = model.id;\n \n if( id || ( id as any ) === 0 ){\n index[ id ] = model;\n }\n}\n\n/** @private Remove record */ \nexport function removeIndex( index : IdIndex, model : Model ) : void {\n delete index[ model.cid ];\n var id = model.id;\n if( id || ( id as any ) === 0 ){\n delete index[ id ];\n }\n}\n\nexport function updateIndex( index : IdIndex, model : Model ){\n delete index[ model.previous( model.idAttribute ) ];\n\n const { id } = model;\n id == null || ( index[ id ] = model );\n}\n\n/***\n * In Collections, transactions appears only when\n * add remove or change events might be emitted.\n * reset doesn't require transaction.\n * \n * Transaction holds information regarding events, and knows how to emit them.\n * \n * Two major optimization cases.\n * 1) Population of an empty collection\n * 2) Update of the collection (no or little changes) - it's crucial to reject empty transactions.\n */\n\n\n// Transaction class. Implements two-phase transactions on object's tree.\n/** @private */ \nexport class CollectionTransaction implements Transaction {\n // open transaction\n constructor( public object : CollectionCore,\n public isRoot : boolean,\n public added : Model[],\n public removed : Model[],\n public nested : Transaction[],\n public sorted : boolean ){}\n\n // commit transaction\n commit( initiator? : Transactional ){\n const { nested, object } = this,\n { _isDirty } = object;\n\n // Commit all nested transactions...\n for( let transaction of nested ){\n transaction.commit( object );\n }\n\n if( object._aggregationError ){\n logAggregationError( object, _isDirty );\n }\n\n // Just trigger 'change' on collection, it must be already triggered for models during nested commits.\n // ??? TODO: do it in nested transactions loop? This way appears to be more correct. \n for( let transaction of nested ){\n trigger2( object, 'change', transaction.object, _isDirty );\n }\n\n // Notify listeners on attribute changes...\n const { added, removed } = this;\n\n // Trigger `add` events for both model and collection.\n for( let record of added ){\n trigger3( record, 'add', record, object, _isDirty );\n trigger3( object, 'add', record, object, _isDirty );\n }\n\n // Trigger `remove` events for both model and collection.\n for( let record of removed ){\n trigger3( record, 'remove', record, object, _isDirty );\n trigger3( object, 'remove', record, object, _isDirty );\n }\n\n if( this.sorted ){\n trigger2( object, 'sort', object, _isDirty );\n }\n\n if( added.length || removed.length ){\n trigger2( object, 'update', object, _isDirty );\n }\n\n this.isRoot && commit( object, initiator );\n }\n}\n\nexport function logAggregationError( collection : CollectionCore, options : TransactionOptions ){\n collection._log( 'warn', 'Type-R:InvalidOwner', 'added records already have an owner and were cloned. Use explicit record.clone() to dismiss this warning.', collection._aggregationError, options.logger );\n collection._aggregationError = void 0;\n}","import { Model } from '../model';\nimport { Transaction, transactionApi } from '../transactions';\nimport { addIndex, CollectionCore, CollectionOptions, CollectionTransaction, convertAndAquire, logAggregationError, sortElements, updateIndex } from './commons';\n\nconst { begin, commit, markAsDirty } = transactionApi;\n\nexport interface AddOptions extends CollectionOptions {\n at? : number \n}\n\n/** @private */\nexport function addTransaction( collection : CollectionCore, items : any[], options : AddOptions, merge? : boolean ){\n const isRoot = begin( collection ),\n nested : Transaction[]= [];\n\n var added = appendElements( collection, items, nested, options, merge );\n\n if( added.length || nested.length ){\n let needSort = sortOrMoveElements( collection, added, options );\n if( markAsDirty( collection, options ) ){\n return new CollectionTransaction( collection, isRoot, added, [], nested, needSort );\n }\n\n if( collection._aggregationError ) logAggregationError( collection, options );\n }\n\n // No changes...\n isRoot && commit( collection );\n};\n\n// Handle sort or insert at options for add operation. Reurns true if sort happened.\n/** @private */ \nfunction sortOrMoveElements( collection : CollectionCore, added : Model[], options : AddOptions ) : boolean {\n let at = options.at;\n\n // if `at` option is given, it overrides sorting option...\n if( at != null ){\n // Take an original collection's length. \n const length = collection.models.length - added.length;\n\n // Crazy Backbone rules about `at` index. I don't know what that guys smoke.\n at = Number( at );\n if( at < 0 ) at += length + 1;\n if( at < 0 ) at = 0;\n if( at > length ) at = length;\n\n // Move added elements to desired position. In place.\n moveElements( collection.models, at, added );\n return false;\n }\n\n return sortElements( collection, options );\n}\n\n/** @private */\nfunction moveElements( source : any[], at : number, added : any[] ) : void {\n for( var j = source.length - 1, i = j - added.length; i >= at; i--, j-- ){\n source[ j ] = source[ i ];\n }\n\n for( i = 0, j = at; i < added.length; i++, j++ ){\n source[ j ] = added[ i ];\n }\n}\n\n// append data to model and index\n/** @private */\nfunction appendElements( collection : CollectionCore, a_items : any[], nested : Transaction[], a_options : AddOptions, forceMerge : boolean ){\n var { _byId, models } = collection,\n merge = ( forceMerge || a_options.merge ) && !collection._shared,\n parse = a_options.parse,\n idAttribute = collection.model.prototype.idAttribute,\n prevLength = models.length;\n\n for( const item of a_items ){\n let model = item ? _byId[ item[ idAttribute ] ] || _byId[ item.cid ] : null;\n\n if( model ){\n if( merge && item !== model ){\n var attrs = item.attributes || item;\n const transaction = model._createTransaction( attrs, a_options );\n transaction && nested.push( transaction );\n\n if( model.hasChanged( idAttribute ) ){\n updateIndex( _byId, model );\n }\n }\n }\n else{\n model = convertAndAquire( collection, item, a_options );\n models.push( model );\n addIndex( _byId, model );\n }\n }\n\n return models.slice( prevLength );\n}\n","import { Model } from '../model'\n\nexport type Predicate = ( ( val : R, key? : number ) => boolean ) | Partial;\n\n/**\n * Optimized array methods.\n */\nexport abstract class ArrayMixin {\n models : R[]\n abstract get( modelOrId : string | Partial ) : R;\n\n /**\n * Map and optionally filter the collection.\n * @param mapFilter filter an element out if `undefined` is returned \n * @param context optional `this` for `mapFilter`\n */\n map( mapFilter : ( val : R, key? : number ) => T, context? : any ) : T[]{\n const { models } = this,\n { length } = models,\n res = Array( length ),\n fun = context ? mapFilter.bind( context ) : mapFilter;\n\n for( var i = 0, j = 0; i < length; i++ ){\n const val = fun( models[ i ], i );\n val === void 0 || ( res[ j++ ] = val );\n }\n\n if( i !== j ){\n res.length = j;\n }\n\n return res;\n }\n\n /**\n * Iterate through the collection.\n * @param context optional `this` for `iteratee`.\n */\n each( fun : ( val : R, key? : number ) => any, context? : any ) : void {\n const { models } = this,\n { length } = models,\n iteratee = context ? fun.bind( context ) : fun;\n\n for( let i = 0; i < length; i++ ){\n iteratee( models[ i ], i );\n }\n }\n\n /**\n * Iterate through collection optionally returning the value.\n * @param doWhile break the loop if anything but `undefined` is returned, and return this value.\n * @param context optional `this` for `doWhile`.\n */\n firstMatch( doWhile : ( val : R, key? : number ) => T ) : T\n firstMatch( doWhile : ( this : C, val : R, key? : number ) => T, context : C ) : T\n firstMatch( doWhile : ( val : R, key? : number ) => T, context? : any ) : T {\n const { models } = this,\n { length } = models,\n iteratee = context ? doWhile.bind( context ) : doWhile;\n\n for( let i = 0; i < length; i++ ){\n const res = iteratee( models[ i ], i );\n if( res !== void 0 ) return res;\n }\n }\n\n /**\n * Proxy for the `array.reduce()`\n * @param iteratee \n */\n reduce( iteratee : (previousValue: R, currentValue: R, currentIndex?: number ) => R ) : R\n reduce( iteratee : (previousValue: T, currentValue: R, currentIndex?: number ) => T, init? : any ) : T\n reduce( iteratee : (previousValue: any, currentValue: any, currentIndex?: number ) => any, init? : any ) : T | R {\n return init === void 0 ? this.models.reduce( iteratee ) : this.models.reduce( iteratee, init );\n }\n\n // Slice out a sub-array of models from the collection.\n slice( begin? : number, end? : number ) : R[] {\n return this.models.slice( begin, end );\n }\n \n indexOf( modelOrId : string | Partial ) : number {\n return this.models.indexOf( this.get( modelOrId ) );\n }\n\n includes( idOrObj : string | Partial ) : boolean {\n return Boolean( this.get( idOrObj ) );\n }\n\n filter( iteratee : Predicate, context? : any ) : R[] {\n const fun = toPredicateFunction( iteratee );\n return this.map( m => fun( m ) ? m : void 0, context );\n }\n\n find( iteratee : Predicate, context? : any ) : R {\n const fun = toPredicateFunction( iteratee );\n return this.firstMatch( m => fun( m ) ? m : void 0, context );\n }\n\n some( iteratee : Predicate, context? : any ) : boolean {\n return Boolean( this.find( iteratee, context ) );\n }\n\n forEach( iteratee : ( val : R, key? : number ) => void, context? : any ) : void {\n this.each( iteratee, context );\n }\n\n values() : IterableIterator {\n return this.models.values();\n }\n\n entries() : IterableIterator<[ number, R ]>{\n return this.models.entries();\n }\n\n every( iteratee : Predicate, context? : any ) : boolean {\n const fun = toPredicateFunction( iteratee );\n return this.firstMatch( m => fun( m ) ? void 0 : false, context ) === void 0;\n }\n\n pluck( key : K ) : R[K][] {\n return this.map( model => model[ key ] );\n }\n\n first() : R { return this.models[ 0 ]; }\n\n last() : R { return this.models[ this.models.length - 1 ]; }\n\n at( a_index : number ) : R {\n const index = a_index < 0 ? a_index + this.models.length : a_index; \n return this.models[ index ];\n }\n\n groupBy( attr : keyof R | (( m : R ) => string )) : { [ key : string ] : R[] };\n groupBy(\n attr : keyof R | (( m : R ) => string ),\n a_reducer : ( acc : A, model? : R, key? : string ) => A\n ) : { [ key : string ] : A };\n groupBy(\n attr : keyof R | (( m : R ) => string ),\n a_reducer? : ( acc : A, model? : R, key? : string ) => A\n ){\n const map : any = typeof attr === 'string' ?\n x => x[ attr ] :\n attr;\n\n const reducer = a_reducer || defaultGrouping;\n\n const results = {};\n\n for( let model of this.models ){\n const key = map( model );\n if( key != null ){\n results[ key ] = reducer( results[ key ], model, key );\n }\n }\n\n return results;\n }\n}\n\nconst defaultGrouping = ( acc = [], x ) => ( acc.push( x ), acc );\n\nconst noOp = x => x;\n\nfunction toPredicateFunction( iteratee : Predicate ){\n if( iteratee == null ) return noOp;\n\n switch( typeof iteratee ){\n case 'function' : return iteratee;\n case 'object' :\n const keys = Object.keys( iteratee );\n \n return x => {\n for( let key of keys ){\n if( iteratee[ key ] !== x[ key ] )\n return false;\n }\n\n return true;\n }\n default : throw new Error( 'Invalid iteratee' );\n }\n}","/*************\n * Remove items from collections.\n * \n * Cannot be a part of two-phase transaction on object tree.\n * Can be executed in the scope of ad-hoc transaction or from the trigger, though.\n *\n * Implemented with low-level API. \n * Most frequent operation - single element remove. Thus, it have the fast-path.\n */\n\nimport { eventsApi } from '@type-r/mixture';\nimport { Model } from '../model';\nimport { transactionApi, TransactionOptions } from '../transactions';\nimport { CollectionCore, CollectionTransaction, free, removeIndex } from './commons';\n\nconst { trigger2, trigger3 } = eventsApi,\n { markAsDirty, begin, commit } = transactionApi;\n\n/** @private */\nexport function removeOne( collection : CollectionCore, el : Model | {} | string, options : TransactionOptions ) : Model {\n var model : Model = collection.get( el );\n\n if( model ){\n const isRoot = begin( collection ),\n models = collection.models;\n\n // Remove model form the collection. \n models.splice( models.indexOf( model ), 1 );\n removeIndex( collection._byId, model );\n \n // Mark transaction as dirty. \n const notify = markAsDirty( collection, options );\n\n // Send out events.\n if( notify ){\n trigger3( model, 'remove', model, collection, options );\n trigger3( collection, 'remove', model, collection, options );\n } \n\n free( collection, model, options.unset );\n\n notify && trigger2( collection, 'update', collection, options );\n\n // Commit transaction.\n isRoot && commit( collection );\n\n return model;\n }\n};\n\n/** Optimized for removing many elements\n * 1. Remove elements from the index, checking for duplicates\n * 2. Create new models array matching index\n * 3. Send notifications and remove references\n */\n\n/** @private */\nexport function removeMany( collection : CollectionCore, toRemove : any[], options ){\n const removed = _removeFromIndex( collection, toRemove, options.unset );\n if( removed.length ){\n const isRoot = begin( collection );\n\n _reallocate( collection, removed.length );\n\n if( markAsDirty( collection, options ) ){\n const transaction = new CollectionTransaction( collection, isRoot, [], removed, [], false );\n transaction.commit();\n }\n else{\n // Commit transaction.\n isRoot && commit( collection );\n }\n }\n\n return removed;\n};\n\n// remove models from the index...\n/** @private */\nfunction _removeFromIndex( collection, toRemove, unset : boolean ){\n var removed = Array( toRemove.length ),\n _byId = collection._byId;\n\n for( var i = 0, j = 0; i < toRemove.length; i++ ){\n var model = collection.get( toRemove[ i ] );\n if( model ){\n removed[ j++ ] = model;\n removeIndex( _byId, model );\n free( collection, model, unset );\n }\n }\n\n removed.length = j;\n\n return removed;\n}\n\n// Allocate new models array removing models not present in the index.\n/** @private */\nfunction _reallocate( collection, removed ){\n var prev = collection.models,\n models = collection.models = Array( prev.length - removed ),\n _byId = collection._byId;\n\n for( var i = 0, j = 0; i < prev.length; i++ ){\n var model = prev[ i ];\n\n if( _byId[ model.cid ] ){\n models[ j++ ] = model;\n }\n }\n\n models.length = j;\n}","import { Model } from '../model';\nimport { Transaction, transactionApi } from '../transactions';\nimport { addIndex, CollectionCore, CollectionOptions, CollectionTransaction, convertAndAquire, Elements, free, freeAll, IdIndex, logAggregationError, sortElements } from './commons';\n\nconst { begin, commit, markAsDirty } = transactionApi;\n\n/** @private */\nconst silentOptions = { silent : true };\n\n/** @private */\nexport function emptySetTransaction( collection : CollectionCore, items : Elements, options : CollectionOptions, silent? : boolean ){\n const isRoot = begin( collection );\n\n const added = _reallocateEmpty( collection, items, options );\n\n if( added.length ){\n const needSort = sortElements( collection, options );\n\n if( markAsDirty( collection, silent ? silentOptions : options ) ){\n // 'added' is the reference to this.models. Need to copy it.\n return new CollectionTransaction( collection, isRoot, added.slice(), [], [], needSort );\n }\n\n if( collection._aggregationError ) logAggregationError( collection, options );\n }\n\n // No changes...\n isRoot && commit( collection );\n};\n\n/** @private */\nexport function setTransaction( collection, items, options ){\n const isRoot = begin( collection ),\n nested = [];\n\n var previous = collection.models,\n added = _reallocate( collection, items, nested, options );\n\n const reusedCount = collection.models.length - added.length,\n removed = reusedCount < previous.length ? (\n reusedCount ? _garbageCollect( collection, previous ) :\n freeAll( collection, previous )\n ) : []; \n \n const addedOrChanged = nested.length || added.length,\n // As we are reallocating models array, it needs to be sorted even if there are no changes.\n sorted = ( sortElements( collection, options ) && addedOrChanged ) || added.length || options.sorted;\n\n if( addedOrChanged || removed.length || sorted ){\n if( markAsDirty( collection, options ) ){ \n return new CollectionTransaction( collection, isRoot, added, removed, nested, sorted );\n }\n\n if( collection._aggregationError ) logAggregationError( collection, options );\n }\n\n isRoot && commit( collection );\n};\n\n// Remove references to all previous elements, which are not present in collection.\n// Returns an array with removed elements.\n/** @private */\nfunction _garbageCollect( collection : CollectionCore, previous : Model[] ) : Model[]{\n const { _byId } = collection,\n removed = [];\n\n // Filter out removed models and remove them from the index...\n for( let record of previous ){\n if( !_byId[ record.cid ] ){\n removed.push( record );\n free( collection, record );\n }\n }\n\n return removed;\n}\n\n// reallocate model and index\n/** @private */\nfunction _reallocate( collection : CollectionCore, source : any[], nested : Transaction[], options ){\n var models = Array( source.length ),\n _byId : IdIndex = {},\n merge = ( options.merge == null ? true : options.merge ) && !collection._shared,\n _prevById = collection._byId,\n prevModels = collection.models, \n idAttribute = collection.model.prototype.idAttribute,\n toAdd = [],\n orderKept = true;\n\n // for each item in source set...\n for( var i = 0, j = 0; i < source.length; i++ ){\n var item = source[ i ],\n model : Model = null;\n\n if( item ){\n var id = item[ idAttribute ],\n cid = item.cid;\n\n if( _byId[ id ] || _byId[ cid ] ) continue;\n\n model = _prevById[ id ] || _prevById[ cid ];\n }\n\n if( model ){\n if( merge && item !== model ){\n if( orderKept && prevModels[ j ] !== model ) orderKept = false;\n\n var attrs = item.attributes || item;\n const transaction = model._createTransaction( attrs, options );\n transaction && nested.push( transaction );\n }\n }\n else{\n model = convertAndAquire( collection, item, options );\n toAdd.push( model );\n }\n\n models[ j++ ] = model;\n addIndex( _byId, model );\n }\n\n models.length = j;\n collection.models = models;\n collection._byId = _byId;\n\n if( !orderKept ) options.sorted = true;\n\n return toAdd;\n}\n\n/** @private */\nfunction _reallocateEmpty( self, source, options ){\n var len = source ? source.length : 0,\n models = Array( len ),\n _byId : IdIndex = {},\n idAttribute = self.model.prototype.idAttribute;\n\n for( var i = 0, j = 0; i < len; i++ ){\n var src = source[ i ];\n\n if( src && ( _byId[ src[ idAttribute ] ] || _byId[ src.cid ] ) ){\n continue;\n }\n\n var model = convertAndAquire( self, src, options );\n models[ j++ ] = model;\n addIndex( _byId, model );\n }\n\n models.length = j;\n self._byId = _byId;\n\n return self.models = models;\n}","import { Linked } from '@linked/value';\nimport { define, definitions, EventMap, eventsApi, EventsDefinition, Logger, logger, LogLevel, Mixable, mixinRules, mixins, TheType } from '@type-r/mixture';\nimport { IOPromise, startIO } from '../io-tools';\nimport { AggregatedType, Model, SharedType, shared, AnonymousModelConstructor, attributes } from '../model';\nimport { CloneOptions, ItemsBehavior, Transactional, TransactionalDefinition, transactionApi, TransactionOptions } from '../transactions';\nimport { AddOptions, addTransaction } from './add';\nimport { ArrayMixin } from './arrayMethods';\nimport { CollectionCore, CollectionTransaction, Elements, free, sortElements, updateIndex } from './commons';\nimport { removeMany, removeOne } from './remove';\nimport { emptySetTransaction, setTransaction } from './set';\n\nconst { trigger2 } = eventsApi,\n { begin, commit, markAsDirty } = transactionApi;\n\nlet _count = 0;\n\nexport type GenericComparator = string | ( ( x : Model ) => number ) | ( ( a : Model, b : Model ) => number ); \n\nexport interface CollectionOptions extends TransactionOptions {\n comparator? : GenericComparator\n model? : typeof Model\n}\n\nexport interface CollectionDefinition extends TransactionalDefinition {\n model? : typeof Model,\n itemEvents? : EventsDefinition\n _itemEvents? : EventMap\n}\n\nclass CollectionRefsType extends SharedType {\n static defaultValue = [];\n}\n\nexport interface CollectionConstructor extends TheType {\n new ( records? : ElementsArg, options?: CollectionOptions ) : Collection\n prototype : Collection\n Refs : CollectionConstructor\n};\n\ntype CollectionOf = M['Collection'] extends CollectionConstructor> ? M['Collection'] : CollectionConstructor>;\n\n@define({\n // Default client id prefix \n cidPrefix : 'c',\n model : Model,\n _changeEventName : 'changes',\n _aggregationError : null\n})\n@mixins( ArrayMixin )\n@definitions({\n comparator : mixinRules.value,\n model : mixinRules.protoValue,\n itemEvents : mixinRules.merge\n})\nexport class Collection< R extends Model = Model> extends Transactional implements CollectionCore, Iterable {\n /** @internal */\n _shared : number\n /** @internal */\n _aggregationError : R[]\n\n /**\n * EXPERIMENTAL notation to extract proper collection type from the model in TypeScript.\n * \n * attrName : Collection.of( User );\n * \n * const users = new ( Collection.of( User ) )\n */\n static of( Ctor : M ) : CollectionOf;\n static of( spec : M ) : CollectionOf>;\n static of( Ctor : M ) : CollectionOf {\n return typeof Ctor === 'function' ?\n Ctor.Collection as any :\n attributes( Ctor ).Collection as any;\n }\n\n /**\n * EXPERIMENTAL notation to extract proper collection type from the model in TypeScript.\n * \n * attrName : Collection.ofRefs( User );\n * \n * const users = new ( Collection.ofRefs( User ) )\n */\n static ofRefs( Ctor : M ) : CollectionOf {\n return Ctor.Collection.Refs as any;\n }\n\n\n static Subset : typeof Collection\n static Refs : any\n static refsTo = shared;\n\n /** @internal */\n static _SubsetOf : typeof Collection\n \n createSubset( models : ElementsArg, options? : CollectionOptions) : Collection{\n throw new ReferenceError( 'Failed dependency injection' )\n }\n\n static onExtend( BaseClass : typeof Transactional ){\n // Cached subset collection must not be inherited.\n const Ctor = this;\n this._SubsetOf = null;\n\n function RefsCollection( a, b, listen? ){\n Ctor.call( this, a, b, ItemsBehavior.share | ( listen ? ItemsBehavior.listen : 0 ) );\n }\n\n Mixable.mixins.populate( RefsCollection );\n RefsCollection.create = Collection.create;\n \n RefsCollection.prototype = this.prototype;\n RefsCollection._metatype = CollectionRefsType;\n\n this.Refs = this.Subset = RefsCollection;\n\n Transactional.onExtend.call( this, BaseClass );\n }\n \n static onDefine( definition : CollectionDefinition, BaseClass : any ){\n if( definition.itemEvents ){\n const eventsMap = new EventMap( BaseClass.prototype._itemEvents );\n eventsMap.addEventsMap( definition.itemEvents );\n this.prototype._itemEvents = eventsMap;\n }\n\n if( definition.comparator !== void 0 ) this.prototype.comparator = definition.comparator;\n\n Transactional.onDefine.call( this, definition );\n }\n \n /** @internal */\n _itemEvents : EventMap\n\n /***********************************\n * Core Members\n */\n // Array of the records\n models : R[]\n\n // Polymorphic accessor for aggregated attribute's canBeUpdated().\n /** @internal */\n get __inner_state__(){ return this.models; }\n\n // Index by id and cid\n /** @internal */\n _byId : { [ id : string ] : R }\n\n set comparator( x : GenericComparator ){\n\n switch( typeof x ){\n case 'string' :\n this._comparator = ( a, b ) => {\n const aa = a[ x ], bb = b[ x ];\n if( aa === bb ) return 0;\n return aa < bb ? -1 : + 1;\n } \n break;\n case 'function' :\n if( x.length === 1 ){\n this._comparator = ( a, b ) => {\n const aa = (x).call( this, a ), bb = (x).call( this, b );\n if( aa === bb ) return 0;\n return aa < bb ? -1 : + 1;\n }\n }\n else{\n this._comparator = ( a, b ) => (x).call( this, a, b );\n }\n break;\n \n default :\n this._comparator = null;\n }\n }\n \n // TODO: Improve typing\n getStore() : Transactional {\n return this._store || ( this._store = this._owner ? this._owner.getStore() : this._defaultStore );\n }\n\n /** @internal */\n _store : Transactional\n\n get comparator(){ return this._comparator; }\n\n /** @internal */\n _comparator : ( a : R, b : R ) => number\n\n /** @internal */\n _onChildrenChange( record : R, options : TransactionOptions = {}, initiator? : Transactional ){\n // Ignore updates from nested transactions.\n if( initiator === this ) return;\n\n const { idAttribute } = this;\n\n if( record.hasChanged( idAttribute ) ){\n updateIndex( this._byId, record );\n }\n\n const isRoot = begin( this );\n\n if( markAsDirty( this, options ) ){\n // Forward change event from the record.\n trigger2( this, 'change', record, options )\n }\n\n isRoot && commit( this );\n }\n\n get( objOrId : string | { id? : string, cid? : string } ) : R {\n if( objOrId == null ) return;\n\n if( typeof objOrId === 'object' ){\n const id = objOrId[ this.idAttribute ];\n return ( id !== void 0 && this._byId[ id ] ) || this._byId[ objOrId.cid ];\n }\n else{\n return this._byId[ objOrId ];\n } \n }\n\n [ Symbol.iterator ]() : IterableIterator {\n return this.models[ Symbol.iterator ]();\n }\n\n // Loop through the members in the scope of transaction.\n // Transactional version of each()\n updateEach( iteratee : ( val : R, key? : number ) => void ){\n const isRoot = transactionApi.begin( this );\n this.each( iteratee );\n isRoot && transactionApi.commit( this );\n }\n\n /** @internal */\n _validateNested( errors : {} ) : number {\n // Don't validate if not aggregated.\n if( this._shared ) return 0;\n\n let count = 0;\n\n this.each( record => {\n const error = record.validationError;\n if( error ){\n errors[ record.cid ] = error;\n count++;\n }\n });\n\n return count;\n }\n\n model : typeof Model\n\n // idAttribute extracted from the model type.\n idAttribute : string\n\n constructor( records? : ElementsArg, options : CollectionOptions = {}, shared? : number ){\n super( _count++ );\n this.models = [];\n this._byId = {};\n \n this.comparator = this.comparator;\n\n if( options.comparator !== void 0 ){\n this.comparator = options.comparator;\n options.comparator = void 0;\n }\n \n this.model = this.model;\n \n if( options.model ){\n this.model = options.model;\n options.model = void 0;\n }\n\n this.idAttribute = this.model.prototype.idAttribute; //TODO: Remove?\n\n this._shared = shared || 0;\n\n if( records ){\n const elements = toElements( this, records, options );\n emptySetTransaction( this, elements, options, true );\n }\n\n this.initialize.apply( this, arguments );\n\n if( this._localEvents ) this._localEvents.subscribe( this, this );\n }\n\n initialize(){}\n\n // Deeply clone collection, optionally setting new owner.\n clone( options : CloneOptions = {} ) : this {\n const models = this._shared & ItemsBehavior.share ? this.models : this.map( model => model.clone() ),\n copy : this = new (this.constructor)( models, { model : this.model, comparator : this.comparator }, this._shared );\n \n if( options.pinStore ) copy._defaultStore = this.getStore();\n \n return copy;\n }\n\n toJSON( options? : object ) : any {\n return this.map( model => model.toJSON( options ) );\n }\n\n // Apply bulk in-place object update in scope of ad-hoc transaction \n set( elements : ElementsArg = [], options : TransactionOptions = {} ) : this {\n if( (options).add !== void 0 ){\n this._log( 'warn', \"Type-R:InvalidOption\", \"Collection.set doesn't support 'add' option, behaving as if options.add === true.\", options );\n }\n\n // Handle reset option here - no way it will be populated from the top as nested transaction.\n if( options.reset ){\n this.reset( elements, options )\n }\n else{\n const transaction = this._createTransaction( elements, options );\n transaction && transaction.commit();\n } \n\n return this; \n }\n\n /**\n * Enable or disable live updates.\n * \n * `true` enables full collection synchronization.\n * `false` cancel live updates.\n * `json => true | false` - filter updates\n */\n liveUpdates( enabled : LiveUpdatesOption ) : IOPromise {\n if( enabled ){\n this.liveUpdates( false );\n\n const filter = typeof enabled === 'function' ? enabled : () => true;\n\n this._liveUpdates = {\n updated : json => {\n filter( json ) && this.add( json, { parse : true, merge : true } );\n },\n\n removed : id => this.remove( id )\n };\n\n return this.getEndpoint().subscribe( this._liveUpdates, this ).then( () => this );\n }\n else{\n if( this._liveUpdates ){\n this.getEndpoint().unsubscribe( this._liveUpdates, this );\n this._liveUpdates = null;\n }\n\n // TODO: Return the resolved promise.\n }\n }\n\n /** @internal */\n _liveUpdates : object\n\n fetch( a_options : { liveUpdates? : LiveUpdatesOption } & TransactionOptions & { [ key : string ] : any } = {} ) : IOPromise {\n const options = { parse : true, ...a_options },\n endpoint = this.getEndpoint();\n\n return startIO(\n this,\n endpoint.list( options, this ),\n options,\n\n json => {\n let result : any = this.set( json, { parse : true, ioMethod : 'fetch', ...options } as TransactionOptions );\n \n if( options.liveUpdates ){\n result = this.liveUpdates( options.liveUpdates );\n }\n\n return result;\n }\n );\n }\n\n dispose() : void {\n if( this._disposed ) return;\n\n const aggregated = !this._shared;\n\n for( let record of this.models ){\n free( this, record );\n\n if( aggregated ) record.dispose();\n }\n\n this.liveUpdates( false );\n\n super.dispose();\n }\n\n reset( a_elements? : ElementsArg, options : TransactionOptions = {} ) : R[] {\n const isRoot = begin( this ),\n previousModels = this.models;\n\n // Make all changes required, but be silent.\n if( a_elements ){ \n emptySetTransaction( this, toElements( this, a_elements, options ), options, true );\n }\n else{\n this._byId = {};\n this.models = [];\n }\n\n markAsDirty( this, options );\n\n options.silent || trigger2( this, 'reset', this, { previousModels, ...options } );\n\n // Dispose models which are not in the updated collection.\n const { _byId } = this;\n \n for( let toDispose of previousModels ){\n _byId[ toDispose.cid ] || free( this, toDispose );\n }\n\n isRoot && commit( this );\n return this.models;\n }\n\n // Add elements to collection.\n add( a_elements : ElementsArg , options : AddOptions = {} ){\n const elements = toElements( this, a_elements, options ),\n transaction = this.models.length ?\n addTransaction( this, elements, options ) :\n emptySetTransaction( this, elements, options );\n\n if( transaction ){\n transaction.commit();\n return transaction.added;\n }\n }\n\n // Remove elements. \n remove( recordsOrIds : any, options : CollectionOptions = {} ) : R[] | R {\n if( recordsOrIds ){\n return Array.isArray( recordsOrIds ) ?\n removeMany( this, recordsOrIds, options ) as R[]:\n removeOne( this, recordsOrIds, options ) as R;\n }\n\n return [];\n }\n\n $includes( idOrObj : R ) : Linked {\n return new LinkedIncludes( this, idOrObj );\n }\n\n // Apply bulk object update without any notifications, and return open transaction.\n // Used internally to implement two-phase commit. \n /** @internal */\n _createTransaction( a_elements : ElementsArg, options : TransactionOptions = {} ) : CollectionTransaction | void {\n const elements = toElements( this, a_elements, options );\n\n if( this.models.length ){\n return options.remove === false ?\n addTransaction( this, elements, options, true ) :\n setTransaction( this, elements, options );\n }\n else{\n return emptySetTransaction( this, elements, options );\n }\n }\n\n /** @internal */\n static _metatype = AggregatedType;\n\n /***********************************\n * Collection manipulation methods\n */\n\n sort( options : TransactionOptions = {} ) : this {\n if( sortElements( this, options ) ){\n const isRoot = begin( this );\n \n if( markAsDirty( this, options ) ){\n trigger2( this, 'sort', this, options );\n }\n\n isRoot && commit( this );\n }\n\n return this;\n }\n\n // Remove and return given model.\n unset( modelOrId : R | string, options? ) : R {\n const value = this.get( modelOrId );\n this.remove( modelOrId, { unset : true, ...options } );\n return value;\n }\n\n modelId( attrs : {} ) : any {\n return attrs[ this.model.prototype.idAttribute ];\n }\n\n // Toggle model in collection.\n toggle( model : R, a_next? : boolean ) : boolean {\n var prev = Boolean( this.get( model ) ),\n next = a_next === void 0 ? !prev : Boolean( a_next );\n\n if( prev !== next ){\n if( prev ){\n this.remove( model );\n }\n else{\n this.add( model );\n }\n }\n\n return next;\n }\n\n /** @internal */\n _log( level : LogLevel, topic : string, text : string, value : object, a_logger? : Logger ) : void {\n ( a_logger || logger ).trigger( level, topic, `${ this.model.prototype.getClassName() }.${ this.getClassName() }: ` + text, {\n Argument : value,\n 'Attributes spec' : this.model.prototype._attributes\n });\n }\n\n getClassName() : string {\n return super.getClassName() || 'Collection';\n }\n\n /***********************************\n * Proxied Array methods\n */\n\n get length() : number { return this.models.length; }\n\n // Add a model to the end of the collection.\n push(model : ElementsArg, options? : CollectionOptions ) {\n return this.add(model, { at: this.length, ...options });\n }\n\n // Remove a model from the end of the collection.\n pop( options? : CollectionOptions ) : R {\n var model = this.at(this.length - 1);\n this.remove(model, { unset : true, ...options });\n return model;\n }\n\n // Add a model to the beginning of the collection.\n unshift(model : ElementsArg, options? : CollectionOptions ) {\n return this.add(model, { at: 0, ...options });\n }\n \n // Remove a model from the beginning of the collection.\n shift( options? : CollectionOptions ) : R {\n const model = this.at(0);\n this.remove( model, { unset : true, ...options } );\n return model;\n }\n}\n\n\nexport interface Collection extends ArrayMixin{}\n\nexport type LiveUpdatesOption = boolean | ( ( x : any ) => boolean );\n\nexport type ElementsArg = Partial | Partial[]\n\n// TODO: make is safe for parse to return null (?)\nfunction toElements( collection : Collection, elements : ElementsArg, options : CollectionOptions ) : Elements {\n const parsed = options.parse ? collection.parse( elements, options ) : elements; \n return Array.isArray( parsed ) ? parsed : [ parsed ];\n}\n\nModel.Collection = Collection;\n\nclass LinkedIncludes extends Linked {\n constructor(\n private collection,\n private model : Model ){\n super( collection.get( model ) )\n }\n\n set( x : boolean ) : void {\n this.collection.toggle( this.model );\n }\n}\n","import { Collection } from '../collection';\nimport { Model } from '../model';\nimport { CompiledReference } from '../traversable';\n\nexport type CollectionReference = ( () => Collection ) | Collection | string; \n\n/** @private */\nexport function parseReference( collectionRef : CollectionReference ) : ( root : Model ) => Collection {\n switch( typeof collectionRef ){\n case 'function' :\n return root => (collectionRef).call( root );\n case 'object' :\n return () => collectionRef;\n case 'string' :\n const { resolve } = new CompiledReference( collectionRef );\n return resolve;\n }\n}","import { AnyType, ChainableAttributeSpec, Model } from '../model';\nimport { CollectionReference, parseReference } from './commons';\n\n\n/********\n * Reference to model by id.\n * \n * Untyped attribute. Holds model id, when unresolved. When resolved, is substituted\n * with a real model.\n * \n * No model changes are detected and counted as owner's change. That's intentional.\n */\n\n/** @private */\ntype ModelRefValue = Model | string;\n\n/** @private */\nclass ModelRefType extends AnyType {\n // It is always serialized as an id, whenever it's resolved or not. \n toJSON( value : ModelRefValue ){\n return value && typeof value === 'object' ? value.id : value;\n }\n\n // Wne \n clone( value : ModelRefValue ){\n return value && typeof value === 'object' ? value.id : value;\n }\n\n // Model refs by id are equal when their ids are equal.\n isChanged( a : ModelRefValue, b : ModelRefValue){\n var aId = a && ( (a).id == null ? a : (a).id ),\n bId = b && ( (b).id == null ? b : (b).id );\n\n return aId !== bId;\n }\n\n // Refs are always valid.\n validate( model, value, name ){}\n}\n\nfunction theMemberOf( this : void, masterCollection : CollectionReference, T? : R ) : ChainableAttributeSpec {\n const getMasterCollection = parseReference( masterCollection );\n\n const typeSpec = new ChainableAttributeSpec({\n value : null,\n _metatype : ModelRefType\n });\n \n return typeSpec\n .get( function( objOrId : ModelRefValue, name : string ) : Model {\n if( typeof objOrId === 'object' ) return objOrId;\n\n // So, we're dealing with an id reference. Resolve it.\n const collection = getMasterCollection( this );\n let record : Model = null;\n\n // If master collection exists and is not empty...\n if( collection && collection.length ){\n // Silently update attribute with record from this collection.\n record = collection.get( objOrId ) || null;\n this.attributes[ name ] = record;\n\n // Subscribe for events manually. delegateEvents won't be invoked.\n record && this._attributes[ name ].handleChange( record, null, this, {} );\n }\n\n return record;\n });\n}\n\nexport { theMemberOf as memberOf }\n\ndeclare module '../model' {\n namespace Model {\n export const memberOf : ( this : R, masterCollection : CollectionReference ) => ChainableAttributeSpec;\n }\n}\n\n( Model as any ).memberOf = theMemberOf;","import { Collection, CollectionConstructor, ElementsArg, CollectionOptions } from '../collection';\nimport { define, tools } from '@type-r/mixture';\nimport { AggregatedType, ChainableAttributeSpec, Model, type } from '../model';\nimport { ItemsBehavior, transactionApi } from '../transactions';\nimport { CollectionReference, parseReference } from './commons';\n\n\ntype ModelsIds = ( string | number )[];\n\n// TODO: Change the last parameter to be the Model constructor. Extract the proper Collection type.\nexport function subsetOf, R extends Model>( this : void, masterCollection : CollectionReference, T? : X ) : ChainableAttributeSpec>{\n const CollectionClass = T || Collection,\n // Lazily define class for subset collection, if it's not defined already...\n SubsetOf = CollectionClass._SubsetOf || ( CollectionClass._SubsetOf = defineSubsetCollection( CollectionClass as any ) as any ),\n getMasterCollection = parseReference( masterCollection );\n\n return type( SubsetOf ).get(\n function( refs ){\n !refs || refs.resolvedWith || refs.resolve( getMasterCollection( this ) );\n return refs;\n }\n );\n}\n\n\ntype subsetOfType = typeof subsetOf;\n\ndeclare module \"../collection\" {\n namespace Collection {\n export const subsetOf : subsetOfType;\n } \n}\n\n( Collection as any ).subsetOf = subsetOf;\n\n\nCollection.prototype.createSubset = function( this : Collection, models : any, options ) : SubsetCollection {\n const SubsetOf = subsetOf( this, this.constructor as any ).options.type,\n subset = new SubsetOf( models, options );\n \n subset.resolve( this );\n return subset as any;\n}\n\nconst subsetOfBehavior = ItemsBehavior.share | ItemsBehavior.persistent;\n\nfunction defineSubsetCollection( CollectionClass : typeof Collection ) {\n @define class SubsetOfCollection extends CollectionClass {\n refs : any[];\n resolvedWith : Collection = null;\n\n _metatype : AggregatedType\n\n get __inner_state__(){ return this.refs || this.models; }\n\n constructor( recordsOrIds?, options? ){\n super( [], options, subsetOfBehavior );\n this.refs = toArray( recordsOrIds );\n }\n\n // Remove should work fine as it already accepts ids. Add won't...\n add( a_elements, options = {} ){\n const { resolvedWith } = this,\n toAdd = toArray( a_elements );\n \n if( resolvedWith ){\n // If the collection is resolved already, everything is simple.\n return super.add( resolveRefs( resolvedWith, toAdd ), options );\n }\n else{\n // Collection is not resolved yet. So, we prepare the delayed computation.\n if( toAdd.length ){\n const isRoot = transactionApi.begin( this );\n\n // Save elements to resolve in future...\n this.refs = this.refs ? this.refs.concat( toAdd ) : toAdd.slice();\n\n transactionApi.markAsDirty( this, options );\n\n // And throw the 'changes' event.\n isRoot && transactionApi.commit( this );\n }\n }\n }\n\n reset( a_elements?, options = {} ){\n const { resolvedWith } = this,\n elements = toArray( a_elements );\n \n return resolvedWith ?\n // Collection is resolved, so parse ids and forward the call to set.\n super.reset( resolveRefs( resolvedWith, elements ), options ) :\n // Collection is not resolved yet. So, we prepare the delayed computation.\n delaySet( this, elements, options ) as any || [];\n }\n\n _createTransaction( a_elements, options? ){\n const { resolvedWith } = this,\n elements = toArray( a_elements );\n \n return resolvedWith ?\n // Collection is resolved, so parse ids and forward the call to set.\n super._createTransaction( resolveRefs( resolvedWith, elements ), options ) :\n // Collection is not resolved yet. So, we prepare the delayed computation.\n delaySet( this, elements, options );\n }\n\n // Serialized as an array of model ids.\n toJSON() : ModelsIds {\n return this.refs ?\n this.refs.map( objOrId => objOrId.id || objOrId ) :\n this.models.map( model => model.id );\n }\n\n // Subset is always valid.\n _validateNested(){ return 0; }\n\n get length() : number {\n return this.models.length || ( this.refs ? this.refs.length : 0 );\n }\n\n // Must be shallow copied on clone.\n clone( owner? ){\n var Ctor = (this).constructor,\n copy = new Ctor( [], {\n model : this.model,\n comparator : this.comparator\n });\n\n if( this.resolvedWith ){\n // TODO: bug here. \n copy.resolvedWith = this.resolvedWith;\n copy.refs = null;\n copy.reset( this.models, { silent : true } );\n }\n else{\n copy.refs = this.refs.slice();\n }\n\n return copy;\n }\n\n // Clean up the custom parse method possibly defined in the base class.\n parse( raw : any ) : Model[] {\n return raw;\n }\n\n resolve( collection : Collection ) : this {\n if( collection && collection.length ){\n this.resolvedWith = collection;\n\n if( this.refs ){\n this.reset( this.refs, { silent : true } );\n this.refs = null;\n }\n }\n\n return this;\n }\n\n getModelIds() : ModelsIds { return this.toJSON(); }\n\n toggle( modelOrId : any, val : boolean ) : boolean {\n return super.toggle( this.resolvedWith.get( modelOrId ), val );\n }\n\n addAll() : Model[] {\n if( this.resolvedWith ){\n this.set( this.resolvedWith.models );\n return this.models;\n }\n\n throw new Error( \"Cannot add elemens because the subset collection is not resolved yet.\" );\n }\n\n toggleAll() : Model[] {\n return this.length ? this.reset() : this.addAll();\n }\n }\n\n // Clean up all custom item events to prevent memory leaks.\n SubsetOfCollection.prototype._itemEvents = void 0;\n\n return SubsetOfCollection;\n}\n\nexport interface SubsetCollection extends Collection{\n getModelIds() : string[]\n addAll() : M[]\n toggleAll() : M[]\n resolve( baseCollection : Collection ) : this\n}\n\nexport interface SubsetCollectionConstructor {\n new ( records? : ElementsArg | string[], options?: CollectionOptions ) : SubsetCollection\n prototype : SubsetCollection\n};\n\nfunction resolveRefs( master, elements ){\n const records = [];\n \n for( let el of elements ){\n const record = master.get( el );\n if( record ) records.push( record );\n }\n\n return records;\n}\n\nfunction delaySet( collection, elements, options ) : void {\n if( tools.notEqual( collection.refs, elements ) ){\n const isRoot = transactionApi.begin( collection );\n\n // Save elements to resolve in future...\n collection.refs = elements.slice();\n\n transactionApi.markAsDirty( collection, options );\n \n // And throw the 'changes' event.\n isRoot && transactionApi.commit( collection );\n }\n}\n\nfunction toArray( elements ){\n return elements ? ( \n Array.isArray( elements ) ? elements : [ elements ]\n ) : [];\n}","import { Model } from '../model';\nimport { Transactional } from '../transactions';\n\nlet _store : Store = null;\n\nexport class Store extends Model {\n getStore() : Store { return this; }\n \n // delegate item lookup to owner, and to the global store if undefined\n get( name : string ) : any {\n // Lookup for resource in the current store. \n let local = this[ name ];\n\n // If something is found or it's the global store, return result.\n if( local || this === this._defaultStore ) return local;\n\n // Forward failed lookup to owner or global store.\n return this._owner ? this._owner.get( name ) : this._defaultStore.get( name ); \n }\n\n static get global(){ return _store; }\n static set global( store : Store ){\n if( _store ){\n _store.dispose();\n }\n\n Transactional.prototype._defaultStore = _store = store;\n }\n}\n\nStore.global = new Store();","// Dummy polyfill to prevent exception in IE.\nif( typeof Symbol === 'undefined' ){\n Object.defineProperty( window, 'Symbol', { value : { iterator : 'Symbol.iterator' }, configurable : true });\n}\n\nimport { Events, Mixable as Class, log } from '@type-r/mixture';\nimport { CollectionConstructor } from './collection';\n// Define synonims for NestedTypes backward compatibility.\nimport { attributes, ChainableAttributeSpec, Model, type as _type, value } from './model';\nimport { AnonymousModelConstructor } from './model/define'\nimport { isEmpty } from '@type-r/mixture/lib/tools';\n\n/**\n * Export everything \n */\nexport { Linked } from '@linked/value';\nexport * from '@type-r/mixture';\nexport * from './collection';\nexport * from './io-tools';\nexport * from './model';\nexport * from './relations';\nexport * from './transactions';\nexport { Model as Record, Class };\n\n\nexport const { on, off, trigger, once, listenTo, stopListening, listenToOnce } = Events;\n\n/** Wrap model or collection method in transaction. */\nexport function transaction< F extends Function >( method : F ) : F {\n return function( ...args ){\n let result;\n \n this.transaction( () => {\n result = method.apply( this, args );\n });\n \n return result;\n }\n}\n\nexport function type Model>( t : T[] ) : ChainableAttributeSpec>>;\nexport function type( t : T[] ) : ChainableAttributeSpec>>>;\nexport function type( t : T | ChainableAttributeSpec ) : ChainableAttributeSpec;\nexport function type( t : T ) : ChainableAttributeSpec>;\nexport function type( t : T ){\n return Array.isArray( t ) ?\n _type( _toModel( t[ 0 ] ).Collection ) :\n _type( _toModel( t ) );\n}\n\nconst _toModel = t =>\n t != null && Object.getPrototypeOf( t ) === Object.prototype ?\n attributes( t ) :\n t;\n\nChainableAttributeSpec.from = ( spec : any ) : ChainableAttributeSpec => {\n // Pass metatype through untouched...\n if( spec && spec instanceof ChainableAttributeSpec ) {\n return spec;\n }\n\n if( typeof spec === 'function' ) return type( spec );\n\n if( Array.isArray( spec ) ){\n if( spec.length !== 1 ||\n !spec[ 0 ] || (\n typeof spec[ 0 ] !== 'function' &&\n Object.getPrototypeOf( spec[ 0 ] ) !== Object.prototype\n )\n ) {\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, [ ModelType ] and [{ attr1, attr2, }] declares collection of models. Use Array or value([ 1, 2, ... ]) to declare plain array attributes.` );\n return value( spec );\n }\n\n return type( spec );\n }\n\n if( spec && typeof spec === 'object' ){\n if( Object.getPrototypeOf( spec ) !== Object.prototype ){\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, non-primitive values must be wrapped in value(...). All objects are treated as attribute specs and define nested models.` );\n return value( spec )\n }\n\n if( isEmpty( spec ) ){\n log( 'error', 'Type-R:WrongDeclaration', `Since v4.1, objects are treated as attribute specs and define nested models. Use Object or value({...}) for an object attribute type.` );\n return value( spec )\n }\n\n return type( spec )\n }\n\n return value( spec );\n}\n "],"names":["defaults","dest","source","name","hasOwnProperty","arguments","length","i","other","isValidJSON","value","proto","Object","getPrototypeOf","prototype","Array","every","getBaseClass","Class","constructor","isEmpty","obj","key","some","fun","ArrayProto","arr","result","someArray","someObject","predicate","x","omit","discard","transform","assign","once","func","memo","first","apply","this","DateProto","Date","ObjectProto","notEqual","a","b","protoA","arraysNotEqual","keysA","keys","objectsNotEqual","HashProto","create","hashMap","hash","compare","av","valueOf","bv","definition","_i","names","names_1","_a","name_1","prop","desc","getOwnPropertyDescriptor","o","EventMap","map","handlers","concat","addEvent","split","eventSplitter","getBubblingHandler","callback","name_2","push","EventDescriptor","target","event_1","on","event_2","off","slice","addEventsMap","handler","_bubblingHandlers","event","c","d","e","trigger5","trigger3","trigger2","context","next","listOff","_events","filteredHead","prev","head","ev","_callback","listSend3","call","EventHandler","once_1","_once","name_3","strings","api","events","test","self","queue","all","listSend2","listSend4","listSend5","f","listSend6","extendStatics","setPrototypeOf","__proto__","p","__extends","__","__assign","t","s","n","__rest","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__decorate","decorators","r","Reflect","decorate","defineProperty","Mixable","protoProps","staticProps","BaseClass","mixins","defineMixin","merge","mergeObject","getStaticDefinitions","onDefine","definitions","mergeInheritedMembers","spec","statics","TheSubclass","__extends_1","predefine","define","Constructor","__super__","MixinsState","get","populate","onExtend","ClassOrDefinition","Ctor","rules","definitionRules","definitionDecorator","definitionKey","rule","appliedMixins","mixins_1","mixin","isArray","sourceMixins","mergeRules","ctors","ctors_1","unshift","object","ignore","dontMix","getOwnPropertyNames","forEachOwnProp","sourceProp","_this","assignProperty","mixinRules","protoValue","baseProto","resolveRule","function","caller","list","destProp","configurable","pipe","classFirst","classLast","_eventsApi.strings","_eventsApi.on","_eventsApi.off","_eventsApi.once","_eventsApi.trigger5","_eventsApi.trigger2","_eventsApi.trigger3","_idCount","uniqueId","Messenger","localEvents","_localEvents","properties","eventsMap","defineProperties","toPropertyDescriptor","addReference","a_source","_listeningTo","removeAll","second","cid","_disposed","stopListening","initialize","Events","listener","isProduction","process","env","NODE_ENV","logEvents","Logger","level","filter","topic","msg","props","args","toString","console","Error","counter","_super","window","something","__inner_state__","body","join","JSON","stringify","logger","logEvents_1","logToConsole","throwingLogger","throwOn","log","trigger","bind","startIO","promise","options","thenDo","abortIO","_ioPromise","then","resp","triggerAndBubble","catch","err","abort","eventSource","collection","referenceMask","reference","splitTail","path","match","substr","tail","pop","local","resolve","Function","shift","resolveReference","root","action","skip","getStore","getOwner","ValidationError","iteratee","error","nested","each","eachError","_validateNested","validate","helpers","arrayHelpers","objectHelpers","dummyHelpers","Linked","clone","link","remove","iterator","mapped","element","at","array","splice","j","y","set","ClonedValueLink","checked","onChange","Boolean","update","truthyValue","EqualsValueLink","undefined","defaultValue","EnabledValueLink","ContainsRef","_","PropValueLink","links","_value$","whenValid","defaultError","CustomValueLink","state","unwrap","sourceKey","trim","sourceVal","tslib_1.__extends","parent","nextValue","el","removeAt","field","values","ItemsBehavior","eventsApi.trigger3","eventsApi.on","eventsApi.off","Transactional","endpoint","_endpoint","Transactional_1","_owner","_ownerKey","_changeEventName","listenTo","isRoot","transactionApi","begin","commit","transaction","_changeToken","json","strict","validationError","eachValidationError","getClassName","data","_defaultStore","getOwnerEndpoint","_endpoints","_validationError","getValidationError","cidPrefix","_transaction","markAsDirty","dirty","silent","_isDirty","initiator","originalOptions","_onChildrenChange","aquire","owner","child","ReferenceError","free","_begin","_markAsDirty","setAttribute","record","_attributes","doUpdate","attributes","_previousAttributes","AttributesCopy","_changedAttributes","UpdateModelMixin","attribute","propagateChanges","forceAttributeChange","_createTransaction","a_values","unknown","changes","parse","shouldBeAnObject","unknownAttrsWarning","ModelTransaction","nested_1","_log","nested_2","changes_1","_b","tools.notEqual","emptyOptions","AnyType","model","handleChange","toJSON","type","getHook","v","isChanged","code","text","New value","Prev. value","a_options","getHooks","transforms","changeHandlers","changeEvents","hasCustomDefault","tools.isValidJSON","isRequired","wrapIsRequired","convert","getHook_1","reduce","chainGetHooks","validate_1","chainTransforms","chainChangeHandlers","doInit","prevHook","nextHook","prevTransform","nextTransform","prevHandler","nextHandler","ImmutableClassType","PrimitiveType","NumericType","num","isFinite","ArrayType","ObjectType","doNothing","FunctionType","DateType","date","timestamp","getTime","toISOString","supportsDate","isNaN","struct","minutesOffset","isoDatePattern","exec","k","numericKeys","UTC","safeParseDate","AggregatedType","canBeUpdated","nestedTransaction","_shared","persistent","_handleChange","unset","dispose","shareAndListen","listen","share","SharedType","implicitObject","_onChange","builtins","String","Number","metatypes","getMetatype","_metatype","idx","resolveBuiltins","tools.assign","ChainableAttributeSpec","check","metadata","required","ref","emptyFunction","changed","eventMap","unsubscribe","subscribe","cloned","Type","attrDef","shared","inferType","Symbol","LinkedAttr","attr","_token","createAttribute","from","createAttributesMixin","attributesDefinition","baseClassAttributes","myAttributes","_.transform","allAttributes","_.defaults","ConstructorsMixin","attrDefs","attrs","Attributes","constructorsMixin","_attributesArray","createPropertyDescriptor","attrSpecs","eventsApi.EventMap","createWatcherFromRef","wrapWatcher","localEventsMixin","watcher","CompiledReference","_error","IOModelMixin","save","getEndpoint","ioMethod","isNew","id","fetch","read","destroy","tools.isEmpty","_cidCounter","Model","asc","tools.compare","idAttribute","extend","_attributes$","__Attributes$","diff","hasChanged","val","old","nullify","forEach","_attributesArray_1","copy","pinStore","errors","asJson","l","newModel","clear","a_logger","Attributes definition","a_fun","tools.transform","ModelEntriesIterator","Collection","typeCheck","BaseModelAttributes","BaseModelAttributesCopy","IdAttribute","metatype","done","tools.defaults","models","last","md","_c","coll","parseAnonimousModelDefinition","First","toMix","AnonimousModel","DefaultCollection","getAttributes","dynamicMixin","AttributeRefs","__ModelAttrRef","isMutableType","addAttributeLinks","eventsApi.trigger2","_aquire","_free","convertAndAquire","_aggregationError","_itemEvents","sortElements","_comparator","sort","addIndex","index","removeIndex","updateIndex","previous","CollectionTransaction","logAggregationError","added","removed","added_1","_d","removed_1","_e","sorted","addTransaction","items","a_items","forceMerge","_byId","prevLength","a_items_1","item","appendElements","needSort","length_1","moveElements","sortOrMoveElements","ArrayMixin","mapFilter","res","doWhile","init","end","modelOrId","idOrObj","toPredicateFunction","m","firstMatch","find","entries","a_index","a_reducer","reducer","defaultGrouping","results","acc","noOp","keys_1","keys_2","removeMany","toRemove","_removeFromIndex","_reallocate","silentOptions","emptySetTransaction","len","src","_reallocateEmpty","setTransaction","_prevById","prevModels","toAdd","orderKept","reusedCount","previous_1","_garbageCollect","children","children_1","freeAll","addedOrChanged","_count","CollectionRefsType","Refs","RefsCollection","_SubsetOf","Collection_1","Subset","itemEvents","comparator","aa","bb","_store","objOrId","count","elements","add","reset","enabled","liveUpdates","filter_1","_liveUpdates","updated","aggregated","a_elements","previousModels","toElements","previousModels_1","toDispose","recordsOrIds","notify","removeOne","LinkedIncludes","a_next","Argument","Attributes spec","records","parsed","toggle","parseReference","collectionRef","ModelRefType","theMemberOf","masterCollection","T","getMasterCollection","subsetOf","CollectionClass","SubsetOf","subsetOfBehavior","refs","toArray","SubsetOfCollection","resolvedWith","resolveRefs","delaySet","raw","addAll","defineSubsetCollection","memberOf","createSubset","subset","master","elements_1","Store","store","global","listenToOnce","_type","_toModel","attrName","getMetadata","value_1","as","reject","onAbort","fn","Promise","a_resolve","a_reject","listName","method"],"mappings":"4MAEgBA,EAAeC,EAAUC,GACrC,IAAK,IAAIC,KAAQD,EACTA,EAAOE,eAAgBD,KAAWF,EAAKG,eAAgBD,KACvDF,EAAME,GAASD,EAAQC,IAI/B,GAAuB,EAAnBE,UAAUC,OACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAAK,CACvC,IAAMC,EAAQH,UAAWE,GACzBC,GAASR,EAAUC,EAAMO,GAIjC,OAAOP,WAIKQ,EAAaC,GACzB,GAAc,OAAVA,EACA,OAAO,EAGX,cAAeA,GACf,IAAK,SACL,IAAK,SACL,IAAK,UACD,OAAO,EAEX,IAAK,SACD,IAAIC,EAAQC,OAAOC,eAAgBH,GAEnC,GAAIC,IAAUC,OAAOE,WAAaH,IAAUI,MAAMD,UAC9C,OAAOE,EAAON,EAAOD,GAI7B,OAAO,WAOKQ,EAAcC,GAC1B,OAAON,OAAOC,eAAgBK,EAAMJ,WAAYK,qBAWpCC,EAASC,GACrB,GAAIA,EACA,IAAK,IAAIC,KAAOD,EACZ,GAAIA,EAAIjB,eAAgBkB,GACpB,OAAO,EAKnB,OAAO,WA4BKC,EAAMF,EAAKG,GACvB,OAAIZ,OAAOC,eAAgBQ,KAAUI,EAxBzC,SAAoBC,EAAaF,GAG7B,IAFA,IAAIG,EAEKpB,EAAI,EAAGA,EAAImB,EAAIpB,OAAQC,IAC5B,GAAIoB,EAASH,EAAKE,EAAKnB,GAAKA,GACxB,OAAOoB,EAoBJC,CAAWP,EAAKG,GAf/B,SAAqBH,EAAUG,GAC3B,IAAIG,EAEJ,IAAK,IAAIL,KAAOD,EACZ,GAAIA,EAAIjB,eAAgBkB,KAChBK,EAASH,EAAKH,EAAKC,GAAOA,IAC1B,OAAOK,EAYRE,CAAYR,EAAKG,YAKhBR,EAAOK,EAAWS,GAC9B,OAAQP,EAAMF,EAAK,SAAAU,GAAK,OAACD,EAAWC,cAgBxBC,EAAM9B,GAGlB,IAFA,IAAMD,EAAO,GAAIgC,EAAU,GAElB1B,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAClC0B,EAAS5B,UAAWE,KAAQ,EAGhC,IAAK,IAAIJ,KAAQD,GACR+B,EAAQ7B,eAAgBD,IAAUD,EAAOE,eAAgBD,KAC1DF,EAAME,GAASD,EAAQC,IAI/B,OAAOF,WAMKiC,EAAmBjC,EAAiCC,EAAmCsB,GACnG,IAAK,IAAIrB,KAAQD,EACb,GAAIA,EAAOE,eAAgBD,GAAS,CAChC,IAAIO,EAAQc,EAAKtB,EAAQC,GAAQA,QACvB,IAAVO,IAAsBT,EAAME,GAAcO,GAIlD,OAAOT,WAuBKkC,EAAalC,EAAUC,GACnC,IAAK,IAAIC,KAAQD,EACTA,EAAOE,eAAgBD,KACvBF,EAAME,GAASD,EAAQC,IAI/B,GAAuB,EAAnBE,UAAUC,OACV,IAAK,IAAIC,EAAI,EAAGA,EAAIF,UAAUC,OAAQC,IAAK,CACvC,IAAMC,EAAQH,UAAWE,GACzBC,GAAS2B,EAAQlC,EAAMO,GAI/B,OAAOP,WASKmC,EAAMC,GAClB,IAAIC,EAAMC,GAAQ,EAClB,OAAO,WAMH,OALKA,IACDA,GAAQ,EACRD,EAAOD,EAAKG,MAAMC,KAAMpC,WACxBgC,EAAO,MAEJC,GAIf,IAAMb,EAAaV,MAAMD,UACnB4B,EAAYC,KAAK7B,UACjB8B,EAAchC,OAAOE,mBAOX+B,EAAUC,EAASC,GAC/B,GAAID,IAAMC,EAAI,OAAO,EAErB,GAAID,GAAKC,GAAiB,iBAALD,GAA6B,iBAALC,EAAgB,CACzD,IAAMC,EAASpC,OAAOC,eAAgBiC,GAEtC,GAAIE,IAAWpC,OAAOC,eAAgBkC,GAAM,OAAO,EAEnD,OAAQC,GACJ,KAAKN,EAAc,OAAQI,IAAOC,EAClC,KAAKtB,EAAc,OA0B/B,SAAyBqB,EAAGC,GACxB,GAAID,EAAExC,SAAWyC,EAAEzC,OAAS,OAAO,EAEnC,IAAK,IAAIC,EAAI,EAAGA,EAAIuC,EAAExC,OAAQC,IAC1B,GAAIsC,EAAUC,EAAGvC,GAAKwC,EAAGxC,IAAQ,OAAO,EAG5C,OAAO,EAjC2B0C,CAAgBH,EAAGC,GAC7C,KAAKH,EACL,KAAK,KACD,OAOhB,SAA0BE,EAAGC,GACzB,IAAMG,EAAQtC,OAAOuC,KAAML,GAE3B,GAAII,EAAM5C,SAAWM,OAAOuC,KAAMJ,GAAIzC,OAAS,OAAO,EAEtD,IAAK,IAAIC,EAAI,EAAGA,EAAI2C,EAAM5C,OAAQC,IAAM,CACpC,IAAMe,EAAM4B,EAAO3C,GAEnB,IAAKwC,EAAE3C,eAAgBkB,IAASuB,EAAUC,EAAGxB,GAAOyB,EAAGzB,IACnD,OAAO,EAIf,OAAO,EApBY8B,CAAiBN,EAAGC,IAIvC,OAAO,EAiCX,IAAMM,EAAYzC,OAAO0C,OAAQ,eAGjBC,EAASlC,GACrB,IAAMmC,EAAO5C,OAAO0C,OAAQD,GAC5B,OAAOhC,EAAMc,EAAQqB,EAAMnC,GAAQmC,WAGvBC,EAASX,EAASC,GAE9B,GAAID,GAAKC,EAAI,OAAO,EAGpB,GAAS,MAALD,EAAY,OAAQ,EACxB,GAAS,MAALC,EAAY,OAAO,EAGvB,IAAMW,EAAKZ,EAAEa,UACTC,EAAKb,EAAEY,UAEX,OAAQD,EAAKE,GAAM,EACNA,EAALF,EAAU,EACV,EArBZL,EAAUjD,eAAiBwC,EAAYxC,wGAzNmBc,EAAO2C,OAAgB,aAAAC,mBAAAA,IAAAC,oBAC7E,IAAiB,QAAAC,IAAAC,WAAAA,IAAO,CAAnB,IAAIC,OACCxD,EAAQmD,EAAYK,QAChB,IAAVxD,IAAsBQ,EAAMJ,UAAWoD,GAASxD,6DAyDjBW,EAAU8C,GAG7C,IAFA,IAAIC,EAEKzD,EAAQU,GAAM+C,GAAQzD,EAAOA,EAAQC,OAAOC,eAAgBF,GACjEyD,EAAOxD,OAAOyD,yBAA0B1D,EAAOwD,GAGnD,OAAOC,0CAmCsBnE,EAAUC,GACvC,IAAK,IAAIC,KAAQD,EACbD,EAAME,GAASD,EAAQC,GAG3B,OAAOF,yBAGwBA,EAAUC,GACzC,IAAK,IAAIC,KAAQD,OACQ,IAAjBD,EAAME,KACNF,EAAME,GAASD,EAAQC,IAI/B,OAAOF,0BAuBWqE,GAClB,OAAOA,EAAI1D,OAAOuC,KAAMmB,GAAM,+CCjK9BC,kBAAA,SAAOC,GACH/B,KAAKgC,SAAWhC,KAAKgC,SAASC,OAAQF,EAAIC,WAG9CF,yBAAA,SAAcC,GACV,IAAK,IAAIT,KAASS,EACd/B,KAAKkC,SAAUZ,EAAOS,EAAKT,KAInCQ,yBAAA,SAAcR,GACV,IAAiB,QAAAE,EAAAF,EAAMa,MAAOC,GAAbf,WAAAA,IAA8B,CAA1C,IAAII,OACLzB,KAAKkC,SAAUT,EAAMY,EAAoBZ,MAIjDK,qBAAA,SAAUR,EAAgBgB,GAGtB,IAFQ,IAAAN,EAAahC,kBAEJwB,EAAAF,EAAMa,MAAOC,GAAbf,WAAAA,IAA8B,CAA1C,IAAIkB,OACLP,EAASQ,KAAM,IAAIC,EAAiBF,EAAMD,MAIlDR,sBAAA,SAAWY,EAAajF,GACpB,IAAkB,QAAA+D,EAAAxB,KAAKgC,SAALX,WAAAA,IAAe,CAA5B,IAAIsB,OACLC,EAAInF,EAAQkF,EAAMjF,KAAMiF,EAAML,SAAUI,KAIhDZ,wBAAA,SAAaY,EAAajF,GACtB,IAAkB,QAAA+D,EAAAxB,KAAKgC,SAALX,WAAAA,IAAe,CAA5B,IAAIwB,OACLC,EAAKrF,EAAQoF,EAAMnF,KAAMmF,EAAMP,SAAUI,QA3CjD,WAAaX,GAFb/B,cAA+B,GAGvB+B,IACIA,aAAeD,EACf9B,KAAKgC,SAAWD,EAAIC,SAASe,QAG7BhB,GAAO/B,KAAKgD,aAAcjB,IA0C1C,MAGI,SACWrE,EACP4E,GADOtC,UAAAtC,EAIHsC,KAAKsC,UADQ,IAAbA,EACgBD,EAAoB3E,GAEX,iBAAb4E,EAER,WACI,IAAMW,EAAUjD,KAAMsC,GACtBW,GAAWA,EAAQlD,MAAOC,KAAMpC,YAId0E,GAKhCY,EAAoB,GAE1B,SAASb,EAAoBc,GACzB,OAAOD,EAAmBC,KACtBD,EAAmBC,GAAU,SAAU9C,EAAIC,EAAI8C,EAAIC,EAAIC,QACzC,IAAND,QAAsB,IAANC,GAAeC,EAAUvD,KAAMmD,EAAO9C,EAAGC,EAAG8C,EAAGC,EAAGC,QAC5D,IAANF,EAAeI,EAAUxD,KAAMmD,EAAO9C,EAAGC,EAAG8C,GAC3CK,EAAUzD,KAAMmD,EAAO9C,EAAGC,KAS3C,MACI,SAAoBgC,EAA4BoB,EAAsBC,gBAAAA,QAAlD3D,cAAAsC,EAA4BtC,aAAA0D,EAAsB1D,UAAA2D,GAG1E,SAASC,EAASC,EAA2BnG,EAAe4E,EAAqBoB,GAK7E,IAJA,IAEII,EAAcC,EAFZC,EAAOH,EAASnG,GAIbuG,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAEtBrB,GAAYA,IAAa2B,EAAG3B,UAAYA,IAAa2B,EAAG3B,SAAS4B,WACjER,GAAWA,IAAYO,EAAGP,SAE5BK,EAAOE,EACWH,EAAlBA,GAAiCG,GAI7BF,IAAOA,EAAKJ,KAAOM,EAAGN,MAI9BK,IAASF,IAAeD,EAASnG,GAASoG,GAOlD,SAASK,EAAWH,EAAqB3D,EAAGC,EAAG8C,GAC3C,IAAK,IAAIa,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAASrD,EAAGC,EAAG8C,YAmB/DR,EAAInF,EAAsBC,EAAe4E,EAAqBoB,GAC1E,GAAIpB,EAAU,CACV,IAAMuB,EAAUpG,EAAOoG,UAAapG,EAAOoG,QAAU1F,OAAO0C,OAAQ,OACpEgD,EAASnG,GAAS,IAAI2G,EAAc/B,EAAUoB,EAASG,EAASnG,cAIxDiC,EAAMlC,EAAsBC,EAAe4E,EAAqBoB,GAC5E,GAAIpB,EAAU,CACV,IAAMgC,EAAkBC,EAAO,WAC3BzB,EAAKrF,EAAQC,EAAM4G,GACnBhC,EAASvC,MAAMC,KAAMpC,aAGzB0G,EAAKJ,UAAY5B,EACjBM,EAAInF,EAAQC,EAAM4G,EAAMZ,aAIhBZ,EAAKrF,EAAsBC,EAAgB4E,EAAsBoB,GACrE,IAAAG,EAAYpG,UACpB,GAAIoG,EACA,GAAIvB,GAAYoB,EACZ,GAAIhG,EACAkG,EAASC,EAASnG,EAAM4E,EAAUoB,QAGlC,IAAK,IAAIc,KAAQX,EACbD,EAASC,EAASW,EAAMlC,EAAUoB,QAIrChG,EACLmG,EAASnG,QAAS,EAGlBD,EAAOoG,aAAU,EAU7B,IAAMzB,EAAgB,eAENqC,EAASC,EAAgBjH,EAAsBkH,EAAiBrC,EAAqBoB,GACjG,GAAItB,EAAcwC,KAAMD,GAEpB,IADA,QACiBpD,EADHoD,EAAOxC,MAAOC,GACXf,WAAAA,KAAQqD,EAAKjH,OAAc6E,EAAUoB,QAErDgB,EAAKjH,EAAQkH,EAAQrC,EAAUoB,YASvBD,EAAUoB,EAAoBnH,EAAe2C,EAAGC,GACrD,IAAAuD,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASnG,GACjBqH,EAAQlB,OA1FtB,SAAoBG,EAAqB3D,EAAGC,GACxC,IAAK,IAAI2D,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAASrD,EAAGC,GA2FpE0E,CAAWF,EAAOzE,EAAGC,GACrB6D,EAAWY,EAAKrH,EAAM2C,EAAGC,aAIjBkD,EAAUqB,EAAoBnH,EAAe2C,EAAGC,EAAG8C,GACvD,IAAAS,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASnG,GACjBqH,EAAQlB,MAEdM,EAAWW,EAAOzE,EAAGC,EAAG8C,GA/FhC,SAAoBY,EAAqB3D,EAAGC,EAAG8C,EAAGC,GAC9C,IAAK,IAAIY,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAASrD,EAAGC,EAAG8C,EAAGC,GA+F1E4B,CAAWF,EAAKrH,EAAM2C,EAAGC,EAAG8C,aAIpBG,EAAUsB,EAAoBnH,EAAe2C,EAAGC,EAAG8C,EAAGC,EAAGC,GAC7D,IAAAO,EAAYgB,UACpB,GAAIhB,EAAS,CACH,IAAAiB,EAAQjB,EAASnG,GACjBqH,EAAQlB,OApGtB,SAAoBG,EAAqB3D,EAAGC,EAAG8C,EAAGC,EAAGC,GACjD,IAAK,IAAIW,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAASrD,EAAGC,EAAG8C,EAAGC,EAAGC,GAqG7E4B,CAAWJ,EAAOzE,EAAGC,EAAG8C,EAAGC,EAAGC,GAlGtC,SAAoBU,EAAqB3D,EAAGC,EAAG8C,EAAGC,EAAGC,EAAG6B,GACpD,IAAK,IAAIlB,EAAKD,EAAMC,EAAIA,EAAKA,EAAGN,KAAOM,EAAG3B,SAAS8B,KAAMH,EAAGP,QAASrD,EAAGC,EAAG8C,EAAGC,EAAGC,EAAG6B,GAkGhFC,CAAWL,EAAKrH,EAAM2C,EAAGC,EAAG8C,EAAGC,EAAGC,oICvOtC+B,EAAgB,SAAShC,EAAG/C,GAI5B,OAHA+E,EAAgBlH,OAAOmH,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU+E,EAAG/C,GAAK+C,EAAEkC,UAAYjF,IACvE,SAAU+C,EAAG/C,GAAK,IAAK,IAAIkF,KAAKlF,EAAOA,EAAE3C,eAAe6H,KAAInC,EAAEmC,GAAKlF,EAAEkF,MACpDnC,EAAG/C,IAGrB,SAASmF,EAAUpC,EAAG/C,GAEzB,SAASoF,IAAO1F,KAAKtB,YAAc2E,EADnCgC,EAAchC,EAAG/C,GAEjB+C,EAAEhF,UAAkB,OAANiC,EAAanC,OAAO0C,OAAOP,IAAMoF,EAAGrH,UAAYiC,EAAEjC,UAAW,IAAIqH,GAG5E,IAAIC,EAAW,WAQlB,OAPAA,EAAWxH,OAAOuB,QAAU,SAAkBkG,GAC1C,IAAK,IAAIC,EAAG/H,EAAI,EAAGgI,EAAIlI,UAAUC,OAAQC,EAAIgI,EAAGhI,IAE5C,IAAK,IAAI0H,KADTK,EAAIjI,UAAUE,GACOK,OAAOE,UAAUV,eAAeyG,KAAKyB,EAAGL,KAAII,EAAEJ,GAAKK,EAAEL,IAE9E,OAAOI,IAEK7F,MAAMC,KAAMpC,YAGzB,SAASmI,EAAOF,EAAGvC,GACtB,IAAIsC,EAAI,GACR,IAAK,IAAIJ,KAAKK,EAAO1H,OAAOE,UAAUV,eAAeyG,KAAKyB,EAAGL,IAAMlC,EAAE0C,QAAQR,GAAK,IAC9EI,EAAEJ,GAAKK,EAAEL,IACb,GAAS,MAALK,GAAqD,mBAAjC1H,OAAO8H,sBACtB,CAAA,IAAInI,EAAI,EAAb,IAAgB0H,EAAIrH,OAAO8H,sBAAsBJ,GAAI/H,EAAI0H,EAAE3H,OAAQC,IAC3DwF,EAAE0C,QAAQR,EAAE1H,IAAM,GAAKK,OAAOE,UAAU6H,qBAAqB9B,KAAKyB,EAAGL,EAAE1H,MACvE8H,EAAEJ,EAAE1H,IAAM+H,EAAEL,EAAE1H,KAE1B,OAAO8H,EAGJ,SAASO,EAAWC,EAAY1D,EAAQ7D,EAAK8C,GAChD,IAA2H0B,EAAvHD,EAAIxF,UAAUC,OAAQwI,EAAIjD,EAAI,EAAIV,EAAkB,OAATf,EAAgBA,EAAOxD,OAAOyD,yBAAyBc,EAAQ7D,GAAO8C,EACrH,GAAuB,iBAAZ2E,SAAoD,mBAArBA,QAAQC,SAAyBF,EAAIC,QAAQC,SAASH,EAAY1D,EAAQ7D,EAAK8C,QACpH,IAAK,IAAI7D,EAAIsI,EAAWvI,OAAS,EAAQ,GAALC,EAAQA,KAASuF,EAAI+C,EAAWtI,MAAIuI,GAAKjD,EAAI,EAAIC,EAAEgD,GAAS,EAAJjD,EAAQC,EAAEX,EAAQ7D,EAAKwH,GAAKhD,EAAEX,EAAQ7D,KAASwH,GAChJ,OAAW,EAAJjD,GAASiD,GAAKlI,OAAOqI,eAAe9D,EAAQ7D,EAAKwH,GAAIA,SCjBrDI,SAAP,SAAeC,EAAqCC,gBAArCD,MACX,IAAME,EAAiCpI,EAAcwB,MAGrD2G,GAAejH,EAAQM,KAAM2G,GAGrB,IAAAE,EAA2BH,SAAhBI,IAAgBJ,EAA7B,YAeN,OAdAG,GAAU7G,KAAK6G,OAAOE,MAAOF,GAG7B7G,KAAK6G,OAAOG,YAAahH,KAAK3B,UAAWyI,GAAa,GAGtD9G,KAAK6G,OAAOG,YAAahH,KAAK3B,UAAW2B,KAAK6G,OAAOI,qBAAsBL,IAAa,GAGxF5G,KAAKkH,UAAYlH,KAAKkH,SAAUlH,KAAK6G,OAAOM,YAAaP,GAGzD5G,KAAK6G,OAAOO,sBAAuBR,GAE5B5G,MAIJyG,SAAP,SAAiCY,EAAWC,GACxC,IAAIC,IAWc,4DAMlB,OAbIF,GAAQA,EAAK1J,eAAgB,eAG7B8H,EADA8B,EAAcF,EAAK3I,YACKsB,OAIawH,MAAAxH,MAArCuH,KAGJE,EAAWF,GACXF,GAAQE,EAAYG,OAAQL,EAAMC,GAE3BC,MArDf,uBA4DgBE,EAAWE,GACvB,IAAMf,EAAiCpI,EAAcmJ,GAGrDA,EAAYC,UAAYhB,EAAUvI,UAGlCsJ,EAAYD,QAAUG,EAAYC,IAAKrB,GAAUsB,SAAUJ,GAG3DE,EAAYC,IAAKH,GAGjBA,EAAYK,UAAYL,EAAYK,SAAUpB,YAQlCc,EAAQO,GAEpB,GAAiC,mBAAtBA,EAMP,OAAO,SAAUC,GACbT,EAAWS,GACXA,EAAKR,OAAQO,IAPjBR,EAAWQ,GACTA,EAA0CP,kBAWpCP,EAAagB,GACzB,OAAO,SAAE1J,GACL,IAAMoI,EAASgB,EAAYC,IAAKrJ,GAChCoI,EAAOuB,gBAAkB7K,EAAUuD,IAAWqH,EAAOtB,EAAOuB,2BAcpDC,EAAqBC,EAAerK,GAChD,OAAO,SAAEC,EAAgBR,WACrBmK,EACKC,IAAK5J,EAAMQ,aACXsI,YAAa9I,UACRoK,WACI5K,GAASO,iBAapB4J,MAAP,SAAYpJ,GACA,IAAAoI,EAAWpI,SAEnB,OAAOoI,GAAUpI,IAAUoI,EAAOpI,MAAQoI,EACrCpI,EAAMoI,OAAS,IAAIgB,EAAapJ,IAWzCoJ,iCAAA,SAAsBjB,GACZ,IAAAO,EAAcrG,IACdrC,EAAUuB,WAEhB,OAAOP,EAAW0H,EAAanH,KAAKoI,gBAAiB,SAAEG,EAAM7K,GACzD,GAAIkJ,EAAWlJ,KAAWe,EAAOf,GAC7B,OAAOe,EAAOf,MAK1BmK,kBAAA,SAAOhB,GAQH,IAPM,IAAA3I,EAAa8B,KAAKvB,MAAMJ,UAIxBmK,GAHexI,gBAGCA,KAAKwI,cAAgBxI,KAAKwI,cAAczF,aAG5C0F,IAAApH,WAAAA,IAAS,CAAtB,IAAIqH,OAEL,GAAIpK,MAAMqK,QAASD,GACf1I,KAAK+G,MAAO2B,QAGX,GAAIF,EAAcxC,QAAS0C,GAAU,EAItC,GAHAF,EAAchG,KAAMkG,GAGC,mBAAVA,EAAsB,CAE7B1I,KAAKgH,YAAahH,KAAKvB,MAAOiK,GAG9B,IAAME,EAAiBF,EAAe7B,OAClC+B,IACA5I,KAAK6I,WAAatL,EAAUuD,IAAWd,KAAK6I,WAAYD,EAAaC,YACrE7I,KAAKoI,gBAAkB7K,EAAUuD,IAAWd,KAAKoI,gBAAiBQ,EAAaR,iBAC/EpI,KAAKwI,cAAgBxI,KAAKwI,cAAcvG,OAAQ2G,EAAaJ,gBAIjExI,KAAKgH,YAAa9I,EAAOwK,EAAMrK,gBAI/B2B,KAAKgH,YAAa9I,EAAOwK,KAMzCb,qBAAA,eAAU,aAAAxG,mBAAAA,IAAAyH,kBACN,IAAiB,QAAAC,IAAAvH,WAAAA,IAAQ,CAApB,IAAI0G,OACLL,EAAYC,IAAKI,GAAOnB,MAAM,CAAE/G,KAAKvB,UAI7CoJ,wBAAA,SAAarK,EAAeC,EAAiBuL,GAA7C,YAgDJ,SAAyBC,EAAiBlK,GAGtC,IAFA,IAAMmK,EAASC,SAAgBF,OAEdzH,EAAArD,OAAOiL,oBAAqBH,GAA5B5H,WAAAA,IAAuC,CAAnD,IAAIkB,OACL2G,EAAQ3G,IAAUxD,EAAKwD,IAnDvB8G,CAAgB5L,EAAQ,SAAAC,GACpB,IACI6K,EADEe,EAAanL,OAAOyD,yBAA0BnE,EAAQC,IAGxD6K,EAAOgB,EAAKnB,gBAAiB1K,KAC7B8L,EAAgBD,EAAKpC,YAAazJ,EAAM4L,EAAYf,EAAMS,GAGzDT,GAAQA,IAASkB,EAAWC,YAC7BF,EAAgBhM,EAAME,EAAM4L,EAAYC,EAAKV,WAAYnL,GAAQsL,MAK7EnB,kCAAA,SAAuBjB,GACb,IAAEiC,EAAsB7I,gBAAVvB,EAAUuB,WAE9B,GAAI6I,EAAY,CACZ,IAAM3K,EAAQO,EAAMJ,UAChBsL,EAAY/C,EAAUvI,UAE1B,IAAK,IAAIoD,KAAQoH,EAAa,CAC1B,IAAMN,EAAOM,EAAYpH,GAErBvD,EAAMP,eAAgB8D,IAAUA,KAAQkI,IACxCzL,EAAOuD,GAASmI,EAAa1L,EAAOuD,GAAQkI,EAAWlI,GAAQ8G,UA5F/E,WAAoB9J,GAAAuB,WAAAvB,EAXpBuB,iBAAuB,GAYX,IAAA6G,EAAWrI,EAAcC,UAEjCuB,KAAK6I,WAAehC,GAAUA,EAAOgC,YAAgB/H,IACrDd,KAAKoI,gBAAoBvB,GAAUA,EAAOuB,iBAAqBtH,IAC/Dd,KAAKwI,cAAkB3B,GAAUA,EAAO2B,eAAmB,GA8FnE,IAAMW,EAAU,CACZU,SAAW/I,EAAQ,CACfjD,QAAS,EACTQ,WAAY,EACZyL,QAAS,EACTlM,WAAY,EACZF,MAAO,EACPkK,WAAY,IAGhBqB,OAASnI,EAAQ,CACbpC,aAAc,KAiCA,SAATmI,QAAW,aAAAxF,mBAAAA,IAAA0I,kBAAuB,gBACzCtL,GAAsB,OAAAoJ,EAAYC,IAAKrJ,GAAQsI,MAAOgD,QAI/CN,WAAiBtB,GAA6B,gBACrD1J,GACE,IAAMoI,EAASgB,EAAYC,IAAKrJ,GAChCoI,EAAOgC,WAAatL,EAAU4K,EAAOtB,EAAOgC,cA4DpD,SAASW,EAAgBhM,EAAeE,EAAe4L,EAAiCf,EAAuBS,GAE3G,GAAIxL,EAAKG,eAAgBD,GAAQ,CAC7B,IAAMsM,EAAW7L,OAAOyD,yBAA0BpE,EAAME,GAEpDsM,EAASC,cAAgB,UAAWD,IACpCxM,EAAME,GAASsL,EACXY,EAAaN,EAAWrL,MAAO+L,EAAS/L,MAAOsK,GAC/CqB,EAAaI,EAAS/L,MAAOqL,EAAWrL,MAAOsK,SAKvDpK,OAAOqI,eAAgBhJ,EAAME,EAAM4L,GAI3C,SAASM,EAAapM,EAAMC,EAAQ8K,GAEhC,YAAa,IAAT/K,EAAyBC,EAGxB8K,QAAmB,IAAX9K,EAGN8K,EAAM/K,EAAMC,GAHqBD,EA5E5CiM,EAAWxL,MAAQ,SAAEoC,EAAGC,GAAO,OAAAD,GAE/BoJ,EAAWC,WAAa,SAAErJ,EAAGC,GAAO,OAAAD,GAGpCoJ,EAAW1C,MAAQ,SAAE1G,EAAGC,GAAO,OAAA/C,EAAU,GAAI8C,EAAGC,IAGhDmJ,EAAWS,KAAO,SAAE7J,EAAGC,GAAO,gBAChBhB,GACN,OAAOe,EAAE+D,KAAMpE,KAAMM,EAAE8D,KAAMpE,KAAMV,MAK3CmK,EAAWlM,SAAW,SAAE8C,EAAcC,GAAkB,kBAEhD,OAAO/C,EAAU8C,EAAEN,MAAOC,KAAMpC,WAAa0C,EAAEP,MAAOC,KAAMpC,cAKpE6L,EAAWU,WAAa,SAAE9J,EAAcC,GAAkB,kBAElDD,EAAEN,MAAOC,KAAMpC,WACf0C,EAAEP,MAAOC,KAAMpC,aAKvB6L,EAAWW,UAAY,SAAE/J,EAAcC,GAAkB,kBAEjDA,EAAEP,MAAOC,KAAMpC,WACfyC,EAAEN,MAAOC,KAAMpC,aAKvB6L,EAAWlL,MAAQ,SAAE8B,EAAcC,GAAiB,kBAE5C,OAAOD,EAAEN,MAAOC,KAAMpC,YAAe0C,EAAEP,MAAOC,KAAMpC,aAI5D6L,EAAW3K,KAAO,SAAEuB,EAAcC,GAAiB,kBAE3C,OAAOD,EAAEN,MAAOC,KAAMpC,YAAe0C,EAAEP,MAAOC,KAAMpC,aC/WpD,IAAA6G,GAAyD4F,EAAhDzH,GAAgD0H,EAA5CxH,GAA4CyH,EAAvC5K,GAAuC6K,EAAjCjH,GAAiCkH,EAAvBhH,GAAuBiH,EAAblH,GAAamH,EAE7DC,GAAW,EAEf,SAASC,KACL,MAAO,IAAMD,aA2CNE,YAAP,SAAgBtJ,EAAiEoF,OAA/DmE,gBAAaC,iBAAcC,eAEzC,GAAIF,GAAeC,EAAc,CAC7B,IAAME,EAAY,IAAIpJ,EAAU9B,KAAK3B,UAAU2M,cAE/CD,GAAeG,EAAUlI,aAAc+H,GACvCC,GAAgBE,EAAUnE,MAAOiE,GAEjChL,KAAK3B,UAAU2M,aAAeE,EAI9BD,GACA9M,OAAOgN,iBAAkBnL,KAAK3B,UAAWoB,EAAW,GAAiBwL,EAAYG,MAwBzFN,wBAAA,aAEAA,gBAAA,SAAInG,EAAwCrC,EAAWoB,GACnD,GAAsB,iBAAXiB,EAAsBF,GAAS7B,GAAI5C,KAAM2E,EAAQrC,EAAUoB,QACjE,IAAK,IAAIjC,KAAQkD,EAASF,GAAS7B,GAAI5C,KAAMyB,EAAMkD,EAAQlD,GAAQiC,GAAWpB,GAEnF,OAAOtC,MAGX8K,kBAAA,SAAMnG,EAAwCrC,EAAWoB,GACrD,GAAsB,iBAAXiB,EAAsBF,GAAS9E,GAAMK,KAAM2E,EAAQrC,EAAUoB,QACnE,IAAK,IAAInB,KAAQoC,EAASF,GAAS9E,GAAMK,KAAMuC,EAAMoC,EAAQpC,GAAQmB,GAAWpB,GAErF,OAAOtC,MAGX8K,iBAAA,SAAKnG,EAAyCrC,EAAWoB,GACrD,GAAKiB,EACA,GAAsB,iBAAXA,EAAsBF,GAAS3B,GAAK9C,KAAM2E,EAAQrC,EAAUoB,QACvE,IAAK,IAAIc,KAAQG,EAASF,GAAS3B,GAAK9C,KAAMwE,EAAMG,EAAQH,GAAQd,GAAWpB,QAFtEQ,GAAK9C,UAAM,EAAQsC,EAAUoB,GAI3C,OAAO1D,MAOX8K,qBAAA,SAAQpN,EAAe2C,EAAIC,EAAI8C,EAAIC,EAAIC,GAInC,YAHU,IAAND,QAAsB,IAANC,EAAeC,GAAUvD,KAAMtC,EAAM2C,EAAGC,EAAG8C,EAAGC,EAAGC,QACtD,IAANF,EAAeI,GAAUxD,KAAMtC,EAAM2C,EAAGC,EAAG8C,GAC/CK,GAAUzD,KAAMtC,EAAM2C,EAAGC,GACvBN,MAGX8K,sBAAA,SAAUrN,EAAoB4C,EAAmCC,GAM7D,OALI7C,IACA4N,GAAcrL,KAAMvC,GACpBA,EAAOmF,GAAIvC,EAAIC,GAAkB,iBAAND,EAAwBC,EAAPN,KAAUA,OAGnDA,MAGX8K,0BAAA,SAAcrN,EAAoB4C,EAAmCC,GAMjE,OALI7C,IACA4N,GAAcrL,KAAMvC,GACpBA,EAAOkC,KAAMU,EAAIC,GAAkB,iBAAND,EAAwBC,EAAPN,KAAUA,OAGrDA,MAGX8K,2BAAA,SAAeQ,EAAuBjL,EAAoCC,GAC9D,IAAAiL,EAAiBvL,kBACzB,GAAIuL,EAAc,CACd,IAAMC,IAAenL,GAAKC,GACpBmL,EAAUnL,GAAkB,iBAAND,EAAwBC,EAAPN,KAE7C,GAAIsL,EAAU,CACV,IAAM7N,EAAS8N,EAAcD,EAASI,KAClCjO,IACI+N,UAAmBD,EAAcD,EAASI,KAC9CjO,EAAOqF,IAAKzC,EAAGoL,EAAQzL,YAG1B,GAAgB,MAAZsL,EAAkB,CACvB,IAAK,IAAII,KAAOH,EAAeA,EAAcG,GAAM5I,IAAKzC,EAAGoL,EAAQzL,MAE/DwL,IAAcxL,KAAKuL,kBAAe,IAI9C,OAAOvL,MASX8K,qBAAA,WACQ9K,KAAK2L,YAET3L,KAAK4L,gBACL5L,KAAK8C,MAEL9C,KAAK2L,WAAY,IArIZb,MALZpD,EACAP,EAAY,CACT8D,WAAaxB,EAAW1C,MACxBgE,YAActB,EAAW1C,SAEhB+D,KAqCT,cAXA9K,kBAA4B,EAG5BA,uBAAiC,EAS7BA,KAAK0L,IAAMb,KACX7K,KAAK6L,WAAW9L,MAAOC,KAAMpC,eAqGxBkO,GAAiCvM,EAAMuL,GAAUzM,UAAW,cAAe,cAMxF,SAAS+M,GAAsB9L,GAC3B,GAAIA,EACA,MAAoB,mBAANA,EAAmB,CAAEwI,IAAmBxI,EAAG2K,cAAe,GAA8B3K,EAI9G,SAAS+L,GAAcU,EAAsBtO,IACnBsO,EAASR,eAAiBQ,EAASR,aAAepN,OAAO0C,OAAQ,QACzEpD,EAAOiO,MAASjO,EAAOiO,IAAMb,OAEpBpN,SCjMduO,GAAkC,oBAAZC,SAA2BA,QAAQC,KAAgC,eAAzBD,QAAQC,IAAIC,SACrFC,GAA0BJ,GACtB,CAAE,QAAS,QACX,CAAE,QAAS,OAAQ,QAAS,OAAQ,WAGhBvG,QAAAqF,IAIxBuB,0BAAA,SAAcC,EAAkBC,GAC5B,OAAOvM,KAAK4C,GAAI0J,EAAO,SAAEE,EAAOC,EAAKC,GACjC,IAAKH,GAAUA,EAAO3H,KAAM4H,GAAS,CACjC,IAAMG,EAAO,CAAE,WAAIH,eAAUC,IAE7B,IAAK,IAAIhL,KAAQiL,EACbC,EAAKnK,KAAM,cAAOf,OAASmL,GAAUF,EAAOjL,KAGhDoL,QAASP,GAAQvM,MAAO8M,QAASF,OAM7CN,qBAAA,SAASC,EAAkBC,GACvB,OAAOvM,KAAK4C,GAAI0J,EAAO,SAAEE,EAAOC,EAAKC,GACjC,IAAKH,GAAUA,EAAO3H,KAAM4H,GACxB,MAAM,IAAIM,MAAO,WAAIN,eAAUC,OAM3CJ,mBAAA,SAAOC,EAAkBC,GAAzB,WACI,OAAOvM,KAAK4C,GAAI0J,EAAO,SAAEE,EAAOC,EAAKC,GAC5BH,IAAUA,EAAO3H,KAAM4H,KACxBjD,EAAKwD,QAAST,IAAY/C,EAAKwD,QAAST,IAAW,GAAM,MAarED,gBAAA,SAAIhM,EAASC,GACT,OAAO0M,aAAMpK,aAAIvC,EAAGC,IA7Cf+L,MADZ3E,GACY2E,KAAb,qEACI9C,UAAgD,KAoDpD,IAAIqD,GAA6B,oBAAXK,OAClB,SAAAC,GACI,GAAIA,GAAkC,iBAAdA,EAAwB,CAE5C,IAAMjP,EAAQiP,EAAUC,iBAAmBD,EAGrCE,EAFQ9O,MAAMqK,QAAS1K,GAEN,qBAAeA,EAAMJ,aAAc,YAAMM,OAAOuC,KAAMzC,GAAQoP,KAAM,YAE3F,OAAOH,EAAUxO,YAAYhB,KAAO,IAAM0P,EAG9C,OAAOE,KAAKC,UAAWL,IAEzB,SAAA5N,GAAK,OAAAA,GAEEkO,GAAS,IAAInB,GAE1B,GAAuB,oBAAZQ,QACP,IAAkB,SAAAY,MAAApM,aAAAA,KAAW,CAAxB,IAAIsB,UACL6K,GAAOE,aAAc/K,QAIhBgL,GAAiB,IAAItB,GAClCsB,GAAeC,QAAS,SAAUA,QAAS,YAE9BC,GAA8BL,GAAOM,QAAQC,KAAMP,aCnBhDQ,GAASnJ,EAAeoJ,EAA0BC,EAAqBC,GAyBnF,OAvBAC,GAASvJ,GAETA,EAAKwJ,WAAaJ,EACbK,KAAM,SAAAC,GACH1J,EAAKwJ,WAAa,KAElB,IAAMnP,EAASiP,EAASA,EAAQI,GAASA,EAIzC,OAFAC,GAAkB3J,EAAM,OAAQA,EAAM0J,EAAML,GAErChP,IAEVuP,MAAO,SAAAC,GAMJ,MALA7J,EAAKwJ,WAAa,KAGlBG,GAAkB3J,EAAM,QAASA,EAAM6J,EAAKR,GAEtCQ,IAGd7J,EAAKwJ,WAAWM,MAAQV,EAAQU,MAEzB9J,EAAKwJ,oBAGAD,GAASvJ,GACjBA,EAAKwJ,YAAcxJ,EAAKwJ,WAAWM,QACnC9J,EAAKwJ,WAAWM,QAChB9J,EAAKwJ,WAAa,eAIVG,GAAkBI,OAAa,aAAAvN,mBAAAA,IAAAsL,oBAC3CiC,EAAYd,QAAQ/N,MAAO6O,EAAajC,GAChC,IAAAkC,EAAeD,aACvBC,GAAcA,EAAWf,QAAQ/N,MAAO8O,EAAYlC,GCxGxD,IAAMmC,GAAiB,gCAUnB,SAAaC,EAAoBC,gBAAAA,MAC7B,IAAMC,EAAOF,EACIG,MAAOJ,IACP/M,IAAK,SAAAlD,GACF,MAAY,MAARA,GAAuB,UAARA,EAAyB,aAE3B,MAAbA,EAAK,GAAqB,0BAAoBA,EAAIsQ,OAAQ,SAE9B,IAA5BtQ,EAAImH,QAAS,UAA0B,0BAAoBnH,EAAIsQ,OAAQ,SAEpEtQ,IAG3BmB,KAAKoP,KAAOJ,GAAaC,EAAKI,MAC9BrP,KAAKsP,OAASL,EAAKpR,OAEnBmC,KAAKuP,QAAgB,IAAIC,SAAU,OAAQ,qCACvBP,EAAKQ,+DAElBR,EAAKlN,IAAK,SAAAzC,GAAK,MAAA,uCACAA,uBACf+N,KAAK,sDAOJqC,GAAkBC,EAAoBZ,EAAoBa,GAMtE,IALA,IAAMX,EAAOF,EAAUG,MAAOJ,IACxBe,EAAOZ,EAAKpR,OAAS,EAEvBgH,EAAO8K,EAEF7R,EAAI,EAAGA,EAAI+R,EAAM/R,IAAK,CAC3B,IAAMe,EAAMoQ,EAAMnR,GAClB,OAAQe,GACJ,IAAK,IAAMgG,EAAOA,EAAKiL,WAAY,MACnC,IAAK,IAAMjL,EAAOA,EAAKkL,WAAY,MACnC,QAAWlL,EAAOA,EAAKiD,IAAKjJ,GAIhC,IAAKgG,EAAO,OAGhB,OAAO+K,EAAQ/K,EAAMoK,EAAMY,ICpD/B,QAgBIG,kBAAA,SAAMC,GACI,IAAEC,EAAkBlQ,WAAXmQ,EAAWnQ,YAI1B,IAAK,IAAMnB,KAFPqR,GAAQD,EAAUC,EAAO,MAEXC,EACdF,EAAUE,EAAQtR,GAAOA,IAIjCmR,uBAAA,SAAWC,EAAwEhH,GAC/EjJ,KAAKoQ,KAAM,SAAEnS,EAAaY,GAClBZ,aAAiB+R,GACC/R,EAAOoS,UAAWJ,EAAUhH,EAAOnB,IAAKjJ,IAG1DoR,EAAUhS,EAAOY,EAAKoK,UAxBlC,YAAarK,GACToB,KAAKnC,OAASe,EAAI0R,gBAAiBtQ,KAAKmQ,OAAS,KAE7CnQ,KAAKkQ,MAAQtR,EAAI2R,SAAU3R,KAC3BoB,KAAKnC,SCTjB,IAAIwH,GAAgB,SAAShC,EAAG/C,GAI5B,OAHA+E,GAAgBlH,OAAOmH,gBAClB,CAAEC,UAAW,cAAgBjH,OAAS,SAAU+E,EAAG/C,GAAK+C,EAAEkC,UAAYjF,IACvE,SAAU+C,EAAG/C,GAAK,IAAK,IAAIkF,KAAKlF,EAAOA,EAAE3C,eAAe6H,KAAInC,EAAEmC,GAAKlF,EAAEkF,MACpDnC,EAAG/C,IAGrB,SAASmF,GAAUpC,EAAG/C,GAEzB,SAASoF,IAAO1F,KAAKtB,YAAc2E,EADnCgC,GAAchC,EAAG/C,GAEjB+C,EAAEhF,UAAkB,OAANiC,EAAanC,OAAO0C,OAAOP,IAAMoF,EAAGrH,UAAYiC,EAAEjC,UAAW,IAAIqH,GAG5E,IAAIC,GAAW,WAQlB,OAPAA,GAAWxH,OAAOuB,QAAU,SAAkBkG,GAC1C,IAAK,IAAIC,EAAG/H,EAAI,EAAGgI,EAAIlI,UAAUC,OAAQC,EAAIgI,EAAGhI,IAE5C,IAAK,IAAI0H,KADTK,EAAIjI,UAAUE,GACOK,OAAOE,UAAUV,eAAeyG,KAAKyB,EAAGL,KAAII,EAAEJ,GAAKK,EAAEL,IAE9E,OAAOI,IAEK7F,MAAMC,KAAMpC,YCrB1BoB,GAAaV,MAAMD,UACnB8B,GAAchC,OAAOE,mBAEXmS,GAASvS,GACrB,GAAIA,GAA0B,iBAAVA,EAChB,OAAQE,OAAOC,eAAgBH,IAC3B,KAAKe,GAAc,OAAOyR,GAC1B,KAAKtQ,GAAc,OAAOuQ,GAIlC,OAAOC,GAIX,IC2KiBC,GD3KXD,GAAwB,CAC1BE,eAAO5S,GAAS,OAAOA,GACvB8D,IAAA,SAAK+O,EAAqB/R,GAAO,MAAO,IACxCgS,gBAAQ9S,GAAS,OAAOA,IAIfyS,GAAyB,CAElC3O,IAAA,SAAK+O,EAAqBE,GAClB,IAAAC,EAAS,GACPhT,UAEN,IAAK,IAAIY,KAAOZ,EACZ,GAAIA,EAAMN,eAAgBkB,GAAO,CAC7B,IAAMqS,EAAUF,EAAUF,EAAKK,GAAItS,GAAOA,QAC9B,IAAZqS,GAAwBD,EAAOzO,KAAM0O,GAI7C,OAAOD,GAGXF,OAAA,SAAQ9H,EAAapK,GAEjB,cADOoK,EAAQpK,GACRoK,GAIX4H,MAAA,SAAO5H,GACH,aAAYA,KAKPwH,GAAwB,CAEjCI,MAAA,SAAOO,GACH,OAAOA,EAAMrO,SAGjBgO,OAAA,SAAQK,EAAetT,GAEnB,OADAsT,EAAMC,OAAQvT,EAAG,GACVsT,GAIXrP,IAAA,SAAK+O,EAAqBE,GAItB,IAHA,IAAMnT,EAASiT,EAAK7S,MAAMJ,OACpBoT,EAAS3S,MAAOT,GAEbC,EAAI,EAAGwT,EAAI,EAAGxT,EAAID,EAAQC,IAAK,CACpC,IAAMyT,EAAIP,EAAUF,EAAKK,GAAIrT,GAAKA,QAC5B,IAANyT,IAAkBN,EAAQK,KAAQC,GAKtC,OAFAN,EAAOpT,SAAWyT,IAAOL,EAAOpT,OAASyT,GAElCL,ICrEX,YAAoBhT,GAAA+B,WAAA/B,EALpB+B,gBAAc,YAQd7B,sBAAIyS,4BAAJ,WAAe,OAAO5Q,KAAK/B,WAC3B,SAAaqB,GAASU,KAAKwR,IAAKlS,oCAGhCnB,sBAAcyS,iCAAd,WACI,OAAO5Q,KAAK/B,uCAIhB2S,sBAAA,SAAU3N,GAAV,WACI,OAAO,IAAIwO,GAAiBzR,KAAM,SAAEV,GAChC2D,EAAS3D,GACTiK,EAAKiI,IAAKlS,MAKlBsR,kBAAA,SAAM3N,GAAN,WACI,OAAO,IAAIwO,GAAiBzR,KAAM,SAAAV,GAC9B,IAAMqE,EAAOV,EAAS3D,EAAGiK,EAAKtL,YACrB,IAAT0F,GAAmB4F,EAAKiI,IAAK7N,MASrCxF,sBAAIyS,0BAAJ,WAAA,WAII,MAA6B,kBAAf5Q,KAAK/B,MAAsB,CACrCyT,QAAU1R,KAAK/B,MACf0T,SAAW,SAAArO,GAAK,OAAAiG,EAAKiI,IAAKI,QAAStO,EAAEZ,OAAOgP,YAC9C,CACEzT,MAAQ+B,KAAK/B,MACb0T,SAAW,SAAArO,GAAK,OAAAiG,EAAKiI,IAAKlO,EAAEZ,OAAOzE,0CAK3C2S,oBAAA,SAAQnR,EAAiC6D,GACrC,IAAMK,EAAOlE,EAAWO,KAAK6Q,QAASvN,QAC7B,IAATK,GAAmB3D,KAAKwR,IAAK7N,IAIjCiN,oBAAA,SAAQnR,GAAR,WACI,OAAO,SAAA6D,GAAK,OAAAiG,EAAKsI,OAAQpS,EAAW6D,KAGxCsN,oBAAA,SAAQkB,GACJ,OAAO,IAAIC,GAAiB/R,KAAM8R,IAGtC3T,sBAAIyS,yBAAJ,WAAA,WACI,OAAO,WAAM,OAAArH,EAAKiI,KAAK,qCAG3BrT,sBAAIyS,0BAAJ,WAAA,WACI,OAAO,WAAM,OAAArH,EAAKiI,KAAK,qCAG3BrT,sBAAIyS,yBAAJ,WAAA,WACI,OAAO,WAAM,OAAArH,EAAKiI,IAAK,wCAG3BrT,sBAAIyS,6BAAJ,WACI,QAAO5Q,KAAK/B,YAAe+T,mCAG/BpB,qBAAA,SAASqB,GACL,OAAO,IAAIC,GAAkBlS,KAAMiS,GAAgB,KAIvDrB,sBAAA,SAAiCM,GAC7B,OAAO,IAAIiB,GAAanS,KAAMkR,IAIlCN,kBAAA,WACI,IAAMQ,EAAQX,GAAaI,MAAO7Q,KAAK/B,OACvCK,MAAMD,UAAUmE,KAAKzC,MAAOqR,EAAOxT,WACnCoC,KAAKwR,IAAKJ,IAIdR,qBAAA,WACI,IAAMQ,EAAQX,GAAaI,MAAO7Q,KAAK/B,OACvCK,MAAMD,UAAU2K,QAAQjJ,MAAOqR,EAAOxT,WACtCoC,KAAKwR,IAAKJ,IAKdR,oBAAA,WACI,IAAMQ,EAAQX,GAAaI,MAAO7Q,KAAK/B,OACvCK,MAAMD,UAAUgT,OAAOtR,MAAOqR,EAAOxT,WACrCoC,KAAKwR,IAAKJ,IAMdR,iBAAA,SAAKI,GACD,OAAOR,GAASxQ,KAAK/B,OAAQ8D,IAAK/B,KAAMgR,IAK5CJ,sBAAA,SAAU/R,GACE,IAAAZ,aACJmU,EAAI5B,GAASvS,GAEjB+B,KAAKwR,IAAKY,EAAErB,OAAQqB,EAAEvB,MAAO5S,GAASY,KAK1C+R,gBAAA,SAAI/R,GACA,OAAO,IAAIwT,GAAerS,KAAMnB,IAGpC+R,mBAAA,WACU,IAAA3S,aACN,OAAOuS,GAASvS,GAAQ4S,MAAO5S,IAOnC2S,kBAAA,WAGI,IAFA,IAAI0B,EAAQ,GAAI5R,EAAO9C,UAAUC,OAASD,UAAYO,OAAOuC,KAAMV,KAAK/B,OAE/DH,EAAI,EAAGA,EAAI4C,EAAK7C,OAAQC,IAAK,CAClC,IAAMe,EAAe6B,EAAM5C,GAC3BwU,EAAOzT,GAAQ,IAAIwT,GAAerS,KAAMnB,GAG5C,OAAOyT,GAOXnU,sBAAIyS,sBAAJ,WACI,IAAK5Q,KAAKuS,QAAS,CACX,IAAAD,EAA2BtS,KAAKuS,QAAU,GACxCtU,aAEN,IAAK,IAAIY,KAAOZ,EACRA,EAAMN,eAAgBkB,KACtByT,EAAOzT,GAAQ,IAAIwT,GAAerS,KAAMnB,IAKpD,OAAOmB,KAAKuS,yCAQhB3B,mBAAA,SAAO4B,EAAiCtC,GAKpC,OAJKlQ,KAAKkQ,OAAUsC,EAAWxS,KAAK/B,SAChC+B,KAAKkQ,MAAQA,GAASsC,EAAUtC,OAASuC,IAGtCzS,WAIE4Q,GAAAA,WAAAA,oBAcb,SAA0B3S,EAAWuT,GACjC,OAAO,IAAIkB,GAAiBzU,EAAOuT,IAGvBZ,WAAhB,SAA2C+B,GACvC,OAAO,IAAID,GAAiBC,EAAO,SAAArT,GAC/B,IAAK,IAAIT,KAAOS,EACRA,EAAE3B,eAAgBkB,KAClB8T,EAAO9T,GAAQS,EAAGT,OASlB+R,aAAhB,SAA6C0B,GACzC,OAAOM,GAAQN,EAAO,UAMV1B,aAAhB,SAA6C0B,GACzC,OAAOM,GAAQN,EAAO,UAMV1B,aAAhB,SAA6C0B,GACzC,IAAK,IAAIzT,KAAOyT,EACZ,GAAIA,EAAM3U,eAAgBkB,IAASyT,EAAOzT,GAAMqR,MAC5C,OAAO,EAIf,OAAO,GAMIU,aAAhB,SAA6C0B,EAAwB7U,GAChE,GAAIA,EACA,IAAK,IAAIoB,KAAOyT,EAAO,CACnB,IAAMO,EAAYC,GAAMjU,GACxB,GAAIpB,EAAOE,eAAgBkV,GAAa,CACpC,IAAME,EAAYtV,EAAQoV,QACZ,IAAdE,GAAwBT,EAAOzT,GAAM2S,IAAKuB,MAQ9D,WAAmCC,SAAApC,UAC/B8B,iBAAA,SAAKpT,SAEL,YAAarB,EAAWuT,GAAxB,MACIxE,aAAO/O,gBACPsL,EAAKiI,IAAMA,IAInB,WAAmCwB,SAAApC,UAC/Ba,iBAAA,SAAKnS,SAEL,YAAa2T,EAAsBzB,GAAnC,MACIxE,aAAOiG,EAAOhV,aACdsL,EAAKiI,IAAMA,EAEH,IAAAtB,iBACJA,IAAQ3G,EAAK2G,MAAQA,KAIjC,WAA8B8C,SAAApC,UAK1BmB,iBAAA,SAAKzS,GACDU,KAAKiT,OAAOzB,IAAKlS,EAAIU,KAAK8R,YAAc,WAL5C,YAAoBmB,EAA+BnB,GAAnD,MACI9E,aAAOiG,EAAOhV,QAAU6T,gBADRvI,SAAA0J,EAA+B1J,cAAAuI,IASvD,WAA+BkB,SAAApC,UAK3BsB,iBAAA,SAAK5S,GACDU,KAAKiT,OAAOzB,IAAKlS,EAAIU,KAAKiS,aAAe,WAL7C,YAAoBgB,EAA+BhB,GAAnD,MACIjF,aAAuB,MAAhBiG,EAAOhV,oBADEsL,SAAA0J,EAA+B1J,eAAA0I,IASvD,WAA0Be,SAAApC,UAKtBuB,iBAAA,SAAK7S,GAAL,WACQqE,EAAOiO,QAAStS,GAEpB,GAAIU,KAAK/B,QAAU0F,EAAM,CACrB,IAAI1E,EAAce,KAAKiT,OAAOhV,MAC1BiV,EAAY5T,EAAIL,EAAIgD,OAAQjC,KAAKkR,SAAYjS,EAAIsN,OAAQ,SAAA4G,GAAM,OAAAA,IAAO5J,EAAK2H,UAE/ElR,KAAKiT,OAAOzB,IAAK0B,SAXzB,YAAoBD,EAA+B/B,GAAnD,MACIlE,aAA0C,GAAnCiG,EAAOhV,MAAM+H,QAASkL,iBADb3H,SAAA0J,EAA+B1J,UAAA2H,IAgBvD,OAAOuB,GAAe,oBAMqBO,SAAApC,UAKvCyB,oBAAA,WACIrS,KAAKiT,OAAOG,SAAepT,KAAKnB,MAGpCwT,oBAAA,SAAQ5S,EAAiC6D,GAC7B,IAAAzE,WAERmB,KAAKiT,OAAOpB,OAAQ,SAAAjT,GAChB,IAAMmF,EAAOnF,EAAKC,GACd8E,EAAOlE,EAAW+Q,GAASzM,GAAO8M,MAAO9M,GAAQT,GAErD,QAAa,IAATK,EAEA,OADA/E,EAAKC,GAAQ8E,EACN/E,KAMnByT,iBAAA,SAAK1O,GAOO,IAAA9E,WAERmB,KAAKiT,OAAOpB,OAAQ,SAAAjT,GAChB,GAAIA,EAAKC,KAAU8E,EAEf,OADA/E,EAAKC,GAAQ8E,EACN/E,SAnCnB,YAAqBqU,EAA+BpU,GAApD,MACImO,aAAOiG,EAAOhV,MAAOY,iBADJ0K,SAAA0J,EAA+B1J,MAAA1K,IA2CxD,SAAS+T,GAAQN,EAAqBe,GAClC,IAAMC,EAAS,GAEf,IAAK,IAAIzU,KAAOyT,EACZ,GAAIA,EAAM3U,eAAgBkB,GAAO,CAC7B,IAAMZ,EAAQqU,EAAOzT,GAAOwU,QACd,IAAVpV,IACAqV,EAAQR,GAAMjU,IAAUZ,GAKpC,OAAOqV,EAGX,SAASR,GAAMjU,GACX,MAAoB,MAAbA,EAAK,GAAcA,EAAIkE,MAAO,GAAMlE,ECxYvC,IAYI0U,GAZJ/P,GAAsBgQ,EAAZ5Q,GAAY6Q,EAAR3Q,GAAQ4Q,GAYlBH,GAAAA,kBAAAA,yCAERA,yBACAA,gDAqBkBI,aAYlB,SAAiBxM,EAAuCP,GAChDO,EAAYyM,WAAW5T,KAAK3B,UAAUwV,UAAY1M,EAAYyM,UAClE9I,GAAU5D,SAAS9C,KAAMpE,KAAMmH,EAAaP,IAGzC+M,YAAP,SAAiB/M,GAETA,EAAU/F,SAAWb,KAAKa,SAC1Bb,KAAKa,OAASiT,GAAcjT,SAK7B8S,UAAP,SAA2DtT,EAAUC,GACjE,OAAO,IAAKN,KAAcK,EAAGC,IAWjCqT,qBAAA,WACQ3T,KAAK2L,YAETyC,GAASpO,MACTA,KAAK+T,YAAS,EACd/T,KAAKgU,eAAY,EACjBhU,KAAK8C,MACL9C,KAAK4L,gBACL5L,KAAK2L,WAAY,IAiCrBgI,uBAAA,SAAW1Q,EAAoBP,GAC3BE,GAAI5C,KAAMA,KAAKiU,iBAAkBhR,EAASP,IAM9CiR,wBAAA,SAAY1Q,EAAqBP,GAC7BI,GAAK9C,KAAMA,KAAKiU,iBAAkBhR,EAASP,IAM/CiR,6BAAA,SAAiBjR,EAAwBO,GACrCjD,KAAKkU,SAAUxR,EAAQA,EAAOuR,iBAAkBhR,IAWpD0Q,yBAAA,SAAa5U,EAA+BmP,GACxC,IAAMiG,EAASC,GAAeC,MAAOrU,MAC/B6R,EAAS9S,EAAIqF,KAAMpE,KAAMA,MAC/B6R,GAAU7R,KAAKwR,IAAKK,GACpBsC,GAAUC,GAAeE,OAAQtU,OAIrC2T,wBAAA,SAAYrI,GAAZ,WAEU7N,EAAS6N,aAAoBsF,SAAStF,EAASrN,MAAQqN,EAc7D,OAXAtL,KAAKuU,YAAa,WACdhL,EAAKiI,IAAO/T,EAAe0P,iBAAmB1P,EAAQ,CAAEsJ,OAAQ,IAGxD,IAAAyN,EAAiB/W,eAErB+W,IACAjL,EAAKiL,aAAeA,KAIrBxU,MAIJ2T,QAAP,SAAmEc,EAAYjT,gBAAAA,MAAE,IAAAkT,WAAWxG,MAAb,YACrEtP,EAAwBoB,KAAca,OAAQ4T,SAAWvG,IAASV,OAASkH,EAAS/G,QAAiB,KAQ3G,OANI+G,GAAU9V,EAAI+V,iBACd/V,EAAIgW,oBAAqB,SAAE1E,EAAOrR,EAAKD,GACnC,MAAM,IAAIkO,MAAO,UAAIlO,EAAIiW,2BAAoBhW,eAAUqR,MAIxDtR,GAcX+U,mBAAA,SAAOmB,EAAY5G,GAAwC,OAAO4G,GAalEnB,qBAAA,SAAS5E,GACL,OAAOW,GAAkB1P,KAAM+O,EAAW,SAAE9F,EAAQpK,GAAS,OAAAoK,EAAOnB,IAAMmB,EAAOnB,IAAKjJ,GAAQoK,EAAQpK,MAM1G8U,sBAAA,WACI,OAAO3T,KAAK+T,QAQhBJ,sBAAA,WACY,IAAAI,EAAW/T,YACnB,OAAO+T,EAAyBA,EAAOjE,WAAa9P,KAAK+U,eAgB7DpB,0BAAA,WAAmC,OAAO3T,KAAKqO,YAI/CsF,yBAAA,WACI,OAgNR,SAASqB,EAAkBnQ,GAEf,IAAAgK,EAAehK,aACvB,GAAIgK,EACA,OAAOmG,EAAkBnG,GAI7B,GAAIhK,EAAKkP,OAAQ,CACL,IAAAkB,EAAepQ,EAAKkP,kBAC5B,OAAOkB,GAAcA,EAAYpQ,EAAKmP,YA1N/BgB,CAAkBhV,OAAUA,KAAK6T,WAY5C1V,sBAAIwV,oCAAJ,WACI,IAAMzD,EAAQlQ,KAAKkV,mBAAsBlV,KAAKkV,iBAAmB,IAAIlF,GAAiBhQ,OACtF,OAAOkQ,EAAMrS,OAASqS,EAAQ,sCAQlCyD,sBAAA,SAAU/U,KAGV+U,gCAAA,SAAoB9U,GAChB,IAAIqR,EAAQlQ,KAAK2U,gBACjB,OAAS9V,EAAMqR,GAASA,EAAMC,OAAQtR,GAAQqR,IAAW,MAI7DyD,iCAAA,SAAqB5E,GACjB,OAAOW,GAAkB1P,KAAM+O,EAAW,SAAE9F,EAAQpK,GAAS,OAAAoK,EAAOkM,mBAAoBtW,MAI5F8U,iCAAA,SAAqB1D,GACT,IAAA0E,EAAoB3U,qBAC5B2U,GAAmBA,EAAgBtE,UAAWJ,EAAUjQ,OAI5D2T,qBAAA,SAAS9U,GACL,OAAQmB,KAAKmV,mBAAoBtW,IAGrC8U,qBAAA,WAAqB,OAAO3T,KAAK0L,KACjCiI,sBAAA,WAAY,OAAO3T,KAAK0L,KAGxBiI,0BAAA,WACY,IAAAjW,EAAcsC,KAAKtB,iBAC3B,GAAa,aAAThB,EAAsB,OAAOA,GAnQnBiW,SALrBjM,EACAP,EAAY,CACTyM,SAAWnK,EAAWxL,QAEzB4I,EAAQiE,KACa6I,KAgGlB,YAAajI,GA5Cb1L,kBAAoB,GAIpBA,mBAAyB,EAIzBA,cAAiC,KAIjCA,iBAAiB,EAKjBA,oBAAqB,EAmJrBA,2BAAqC,EAvHjCA,KAAK0L,IAAM1L,KAAKoV,UAAY1J,MAiPvB0I,GAAiB,CAG1BC,eAAOpL,GACH,OAAOA,EAAOoM,eAAyBpM,EAAOoM,cAAe,IAMjEC,qBAAarM,EAAwBiF,GAEjC,IAAMqH,GAASrH,EAAQsH,OASvB,OARID,IAAQtM,EAAOwM,SAAWvH,GAG9BjF,EAAOuL,aAAe,GAGtBvL,EAAOiM,sBAAmB,EAEnBK,GAMXjB,gBAAQrL,EAAwByM,GAC5B,IAAIC,EAAkB1M,EAAOwM,SAE7B,GAAIE,EAAiB,CAEjB,KAAO1M,EAAOwM,UAAU,CACpB,IAAMvH,EAAUjF,EAAOwM,SACvBxM,EAAOwM,SAAW,KAClBjS,GAAUyF,EAAQA,EAAOgL,iBAAkBhL,EAAQiF,EAASwH,GAIhEzM,EAAOoM,cAAe,EAGd,IAAAtB,EAAW9K,SACf8K,GAAUA,IAAiB2B,GAC3B3B,EAAO6B,kBAAmB3M,EAAQ0M,QAKtC1M,EAAOwM,SAAW,KAClBxM,EAAOoM,cAAe,GAU9BQ,gBAAQC,EAAeC,EAAuBlX,GAC1C,GAAIkX,EAAMhC,OAAS,MAAM,IAAIiC,eAAgB,oEAE7CD,EAAMhC,OAAS+B,EACfC,EAAM/B,UAAYnV,GAKtBoX,cAAMH,EAAeC,GACbD,IAAUC,EAAMhC,SAChBgC,EAAMhC,YAAS,EACfgC,EAAM/B,eAAY,KClctB,IAAQkC,GAA+C9B,SAAzB+B,GAAyB/B,eAAXE,GAAWF,UAEvD5Q,GAAagQ,WA6CL4C,GAAcC,EAA8B3Y,EAAeO,GAEvE,IAAMkW,EAAUE,GAAOgC,GACjBnI,EAAU,GAGZmI,EAAOC,YAAa5Y,GAAO6Y,SAAUtY,EAAOoY,EAAQnI,KAEpDoH,GAAae,EAAQnI,GACrB1K,GAAU6S,EAAQ,UAAY3Y,EAAM2Y,EAAQA,EAAOG,WAAY9Y,GAAQwQ,IAI3EiG,GAAUG,GAAQ+B,GAGtB,SAAShC,GAAOgC,GACZ,QAAIH,GAAQG,KACRA,EAAOI,oBAAsB,IAAIJ,EAAOK,eAAgBL,EAAOG,cAC/DH,EAAOM,mBAAqB,OAOpC,SAASrB,GAAae,EAA8BnI,GAMhD,OAJImI,EAAOM,qBACPN,EAAOM,mBAAqB,MAGzBR,GAAcE,EAAQnI,GAe1B,IAAM0I,GAAmB,CAE5BrC,qBAAyCxV,EAA8CmP,GACnF,IAAMiG,EAASE,GAAOrU,MACtBjB,EAAIqF,KAAMpE,KAAMA,MAChBmU,GAAUG,GAAQtU,OAItB4V,2BAAmBG,EAAuB7H,GAC9B,IAAA8F,EAAc+B,YAChBc,EAAY7W,KAAKsW,YAAatC,GAE/B6C,IAA6DA,EAAUC,kBAAmB9W,KAAK+W,qBAAsB/C,EAAW9F,IAIzI6I,8BAAsBlY,EAAcqP,gBAAAA,MAEhC,IAAMiG,EAASE,GAAOrU,MAElBsV,GAAatV,KAAMkO,IACnB1K,GAAUxD,KAAM,UAAYnB,EAAKmB,KAAMA,KAAKwW,WAAY3X,GAAOqP,GAGnEiG,GAAUG,GAAQtU,OAGtBgX,4BAAgDC,EAAe/I,gBAAAA,MAC3D,IAMIgJ,EANE/C,EAASE,GAAOrU,MACdmX,EAAqB,GACrBhH,EAA6B,GAC3BmG,EAAgBtW,iBAClBsT,EAASpF,EAAQkJ,MAAQpX,KAAKoX,MAAOH,EAAU/I,GAAY+I,EAInE,GAAII,GAAkBrX,KAAMsT,EAAQpF,GAAW,CAC3C,IAAK,IAAIzM,KAAQ6R,EAAQ,CACrB,IAAMjM,EAAOiP,EAAa7U,GAEtB4F,EACIA,EAAKkP,SAAUjD,EAAQ7R,GAAQzB,KAAMkO,EAASiC,IAC9CgH,EAAQ3U,KAAMf,IAILyV,EAAbA,GAAuB,IACf1U,KAAM,WAAKf,QAIvByV,GACAI,GAAqBtX,KAAMkX,EAAS,CAAE5D,UAAUpF,GAIxD,GAAIiJ,EAAQtZ,QAAUyX,GAAatV,KAAMkO,GACrC,OAAO,IAAIqJ,GAAkBvX,KAAMmU,EAAQhE,EAAQgH,GAIvD,IAA+B,QAAAK,IAAAnW,WAAAA,IAAQ,MAChBiT,OAAQtU,MAG/BmU,GAAUG,GAAQtU,iBAIVsX,GAAqBjB,EAA8Ba,EAAoBxK,EAAOwB,GAC1FmI,EAAOoB,KAAM,OAAQ,sBAAuB,+BAAyBP,EAAQ7J,KAAK,uBAAsBX,EAAOwB,EAAQV,iBA+B3G6J,GAAkBhB,EAA8B/C,EAAiBpF,GAC7E,MAAiD,oBAA7C/P,OAAOE,UAAUuO,SAASxI,KAAMkP,KAEpC+C,EAAOoB,KAAM,QAAS,uBAAwB,qCAAsC,CAAEnE,UAAUpF,EAAQV,SACjG,GAKX,QAQI+J,oBAAA,SAAQ7B,GAIJ,IAHM,IAAEvF,EAA4BnQ,YAApBiJ,EAAoBjJ,YAAZmX,EAAYnX,iBAGZ0X,IAAArW,WAAAA,SACRiT,OAAQrL,GAMxB,IADQ,IAAAuN,EAAyBvN,aAAbwM,EAAaxM,eACjB0O,IAAAC,WAAAA,IAAS,CAApB,IAAI/Y,OACL2E,GAAUyF,EAAQ,UAAYpK,EAAKoK,EAAQuN,EAAY3X,GAAO4W,GAGlEzV,KAAKmU,QAAUG,GAAQrL,EAAQyM,QArBnC,YAAoBzM,EACAkL,EACAhE,EACAgH,GAHAnX,YAAAiJ,EACAjJ,YAAAmU,EACAnU,YAAAmQ,EACAnQ,aAAAmX,MC/MhB/W,GAAoByX,EAkCtBC,GAAoC,OAgBtCC,0BAAA,SAAchU,EAAMJ,EAAMuK,KAK1B6J,uBAAA,SAAWpU,EAAYI,EAAYiU,EAA6B9J,GAAuC,OAAOvK,GAG9GoU,qBAAA,SAASpU,EAAYI,EAAYiU,EAA6B9J,GAAuC,OAAOvK,GAK5GoU,uBAAA,SAAW1X,EAASC,GAChB,OAAOF,GAAUC,EAAGC,IAMxByX,0BAAA,SAAcpU,EAAYI,EAAYiU,EAA6B9J,KAOnE6J,oBAAA,aAIAA,mBAAA,SAAO9Z,EAAaoY,GAChB,OAAOpY,GAGX8Z,qBAAA,SAAS1B,EAA8BpY,GACnC+B,KAAKiY,kBAAc,EAAQha,EAAOoY,EAAQyB,KAG9CC,sBAAA,SAAU1B,EAA8BpY,EAAaY,KAErDkZ,oBAAA,SAAQ9Z,EAAOY,EAAKqP,GAChB,OAAOjQ,GAASA,EAAMia,OAASja,EAAMia,OAAQhK,GAAYjQ,GAG7D8Z,2BAAA,WACI,OAAO/X,KAAKmY,MAAQnY,KAAKmY,KAAK9Z,qBAAqBsV,IAGvDoE,sCAAA,WACU,IAAEra,EAAkBsC,UAAZoY,EAAYpY,aAE1B,GAAa,OAATtC,EACA,MAAO,CAEH8T,aAAKvT,GACDmY,GAAcpW,KAAMtC,EAAMO,IAI9B6J,IACIsQ,EACI,WACI,OAAOA,EAAQhU,KAAMpE,KAAMA,KAAKwW,WAAY9Y,GAAQA,IAExD,WAAa,OAAOsC,KAAKwW,WAAY9Y,IAG7CuM,cAAe,IAY3B8N,wBAAA,SAAYra,EAAewQ,KAI3B6J,oBAAA,SAAQ9Z,EAAOoY,EAA8BnI,GACzC,IAAMmK,OAAc,IAAVpa,EAAmB+B,KAAKiS,eAAiBhU,EAC/CqB,EAAIU,KAAKP,UAAW4Y,OAAG,EAAQhC,EAAQnI,GAG3C,OADAlO,KAAKiY,aAAc3Y,OAAG,EAAQ+W,EAAQnI,GAC/B5O,GAGXyY,sBAAA,SAAU9Z,EAAOoY,EAA8BnI,EAA8BiC,GACjE,IAAAzS,EAASsC,UACXwW,EAAeH,aACftS,EAAOyS,EAAY9Y,GAEnBiG,EAAO3D,KAAKP,UAAWxB,EAAO8F,EAAMsS,EAAQnI,GAGlD,OAFAsI,EAAY9Y,GAASiG,IAEjB3D,KAAKsY,UAAW3U,EAAMI,KAEtB/D,KAAKiY,aAActU,EAAMI,EAAMsS,EAAQnI,IAChC,IAQL6J,kBAAV,SAAgBzL,EAAkBiM,EAAeC,EAAeva,EAAOoY,EAA8B7I,GACjG6I,EAAOoB,KAAMnL,EAAOiM,EAAM,UAAGlC,EAAOxB,2BAAmB7U,KAAKtC,iBAAU8a,GAAS,CAC3EC,YAAcxa,EACdya,cAAgBrC,EAAOG,WAAYxW,KAAKtC,OACzC8P,IAGPuK,0BAAA,WACI,OAAO/X,KAAK/B,WAGhB,YAAoBP,EAAeib,GAAf3Y,UAAAtC,EAgFpBsC,aAA2C,KA9EvCA,KAAKkO,QAAUyK,EAGf,IAAMzK,KAA+B0K,SAAW,GAAIC,WAAa,GAAIC,eAAiB,IAAOH,GAC7FzK,EAAQ0K,SAAW1K,EAAQ0K,SAAS7V,QACpCmL,EAAQ2K,WAAa3K,EAAQ2K,WAAW9V,QACxCmL,EAAQ4K,eAAiB5K,EAAQ4K,eAAe/V,QAGtC,IAAA9E,EAEAiQ,QAFOiK,EAEPjK,OAFakJ,EAEblJ,QAFoBgK,EAEpBhK,SAF4B6K,EAE5B7K,eADAqC,EACArC,WADU0K,EACV1K,WADoB2K,EACpB3K,aADgC4K,EAChC5K,iBA2CV,GAxCAlO,KAAK/B,MAAQA,EACb+B,KAAKmY,KAAQA,GAGRjK,EAAQ8K,kBAAoBb,EAC7BnY,KAAKiS,aAAejS,KAAKa,OAEpBoY,EAAmBhb,GAExB+B,KAAKiS,aAAe,IAAIzC,SAAU,iBAAWlC,KAAKC,UAAWtP,SAG7D+B,KAAKiS,aAAejS,KAAKiS,aAI7BjS,KAAK8W,kBAAoC,IAAjBiC,EAExB/Y,KAAKkY,YAAoB,IAAXA,EAAoBlY,KAAKkY,OAASA,EAEhDlY,KAAKuQ,SAAWA,GAAYvQ,KAAKuQ,SAE7BrC,EAAQgL,aACRlZ,KAAKuQ,SAiEjB,SAAyBA,GACrB,OAAO,SAAU8F,EAA8BpY,EAAaY,GACxD,OAAOZ,EAAQsS,EAASnM,KAAMpE,KAAMqW,EAAQpY,EAAOY,GAAQ,YAnEvCsa,CAAgBnZ,KAAKuQ,WAQzCsI,EAAW7P,QAAShJ,KAAKoZ,SAGrBpZ,KAAK8H,KAAM8Q,EAAS5P,QAAShJ,KAAK8H,KAGtC9H,KAAK6L,WAAWzH,KAAMpE,KAAMkO,GAGxB0K,EAAS/a,OAAQ,CACjB,IAAMwb,EAAUrZ,KAAKoY,QAAUQ,EAASU,OAAQC,IAExCC,EAAaxZ,cACrBA,KAAKuQ,SAAW,SAAU8F,EAA8BpY,EAAaY,GACjE,OAAO2a,EAASpV,KAAMpE,KAAMqW,EAAQgD,EAAQjV,KAAMiS,EAAQpY,EAAOY,GAAOA,IAIhFmB,KAAKP,UAAYoZ,EAAWhb,OAASgb,EAAWS,OAAQG,IAAoBzZ,KAAKP,UAEjFO,KAAKiY,aAAea,EAAejb,OAASib,EAAeQ,OAAQI,IAAwB1Z,KAAKiY,aAG1F,IAAE0B,EAAqB3Z,YAAbuW,EAAavW,cAC7BA,KAAK2Z,OAASvC,EAAQ,SAAUnZ,EAAOoY,EAA8BnI,GACjE,OAAOyL,EAAOvV,KAAMpE,KAAMkO,EAAQkJ,YAAmB,IAAVnZ,EAAmBmZ,EAAMhT,KAAMiS,EAAQpY,EAAO+B,KAAKtC,MAASO,EAAOoY,EAAQnI,IACtHyL,EAEJ3Z,KAAKuW,SAAWa,EAAQ,SAAUnZ,EAAOoY,EAA8BnI,EAA8BiC,GACjG,OAAOoG,EAASnS,KAAMpE,KAAMkO,EAAQkJ,YAAmB,IAAVnZ,EAAmBmZ,EAAMhT,KAAMiS,EAAQpY,EAAO+B,KAAKtC,MAASO,EAAOoY,EAAQnI,EAASiC,IACjIoG,EAQZ,SAASgD,GAAeK,EAAoBC,GACxC,OAAO,SAAU5b,EAAOP,GACpB,OAAOmc,EAASzV,KAAMpE,KAAM4Z,EAASxV,KAAMpE,KAAM/B,EAAOP,GAAQA,IAIxE,SAAS+b,GAAiBK,EAA2BC,GACjD,OAAO,SAAUpW,EAAMI,EAAMsS,EAAQnI,GACjC,OAAO6L,EAAc3V,KAAMpE,KAAM8Z,EAAc1V,KAAMpE,KAAM2D,EAAMI,EAAMsS,EAAQnI,GAAWnK,EAAMsS,EAAQnI,IAIhH,SAASwL,GAAqBM,EAA6BC,GACvD,OAAO,SAAUtW,EAAMI,EAAMsS,EAAQnI,GACjC8L,EAAY5V,KAAMpE,KAAM2D,EAAMI,EAAMsS,EAAQnI,GAC5C+L,EAAY7V,KAAMpE,KAAM2D,EAAMI,EAAMsS,EAAQnI,eCvQZzI,QAAAsS,IAGpCmC,oBAAA,WACI,OAAO,IAAIla,KAAKmY,MAGpB+B,qBAAA,SAASvW,GACL,OAAe,MAARA,GAAgBA,aAAgB3D,KAAKmY,KAAOxU,EAAO,IAAI3D,KAAKmY,KAAMxU,IAG7EuW,oBAAA,SAAQjc,EAAOY,EAAeqP,GAC1B,OAAOjQ,GAASA,EAAMia,OAASja,EAAMia,OAAQhK,GAAYjQ,GAG7Dic,mBAAA,SAAOjc,GACH,OAAO,IAAI+B,KAAKmY,KAAMnY,KAAKkY,OAAQja,KAGvCic,uBAAA,SAAW7Z,EAAGC,GACV,OAAOD,IAAMC,OApBrB,0EA6BmCmF,QAAAsS,IAG/BoC,qBAAA,aACAA,oBAAA,WAAW,OAAOna,KAAKmY,QAEvBgC,oBAAA,SAAQlc,GAAU,OAAOA,GAEzBkc,qBAAA,SAASxW,GAAS,OAAe,MAARA,EAAeA,EAAO3D,KAAKmY,KAAMxU,IAE1DwW,uBAAA,SAAW9Z,EAAGC,GAAM,OAAOD,IAAMC,GAEjC6Z,mBAAA,SAAOlc,GAAU,OAAOA,GAExBkc,oBAAA,SAAQlc,EAAOoY,EAA8BnI,GACzC,OAAOlO,KAAKP,eAAqB,IAAVxB,EAAmB+B,KAAK/B,MAAQA,OAAO,EAAQoY,EAAQnI,IAGlFiM,sBAAA,SAAUlc,EAAOoY,EAAQnI,EAASiC,GACpB,IAAAzS,EAASsC,UACTwW,EAAeH,aACjBtS,EAAOyS,EAAY9Y,GAE3B,OAAOqG,KAAWyS,EAAY9Y,GAASsC,KAAKP,UAAWxB,EAAO8F,EAAMsS,EAAQnI,KAGhFiM,wBAAA,WACSna,KAAKkO,QAAQ8K,mBACdhZ,KAAK/B,MAAQ+B,KAAKmY,aA5B9B,0EAmCiC1S,QAAA0U,IAG7BC,oBAAA,WACI,OAAO,GAGXA,qBAAA,SAASzW,EAAMI,EAAOsS,EAASnI,GAC3B,IAAMmM,EAAc,MAAR1W,EAAeA,EAAO3D,KAAKmY,KAAMxU,GAM7C,OAJI0W,GAAQA,GACRra,KAAKyX,KAAM,QAAS,uBAAwB,sDAAuD9T,EAAM0S,EAAQnI,EAAQV,QAGtH6M,GAGXD,sBAAA,SAAUpC,EAAO/Z,EAAOP,GAEpB,GAAa,MAATO,IAAkBqc,SAAUrc,GAC5B,OAAOP,EAAO,4BApB1B,0EA6B+B+H,QAAAsS,IAC3BwC,oBAAA,SAAQtc,GAAU,OAAOA,GACzBsc,qBAAA,aACAA,oBAAA,WAAU,MAAO,IAEjBA,qBAAA,SAAS5W,EAAMI,EAAMsS,EAAQnI,GAEzB,OAAY,MAARvK,GAAgBrF,MAAMqK,QAAShF,GAAgBA,GAEnD3D,KAAKyX,KAAM,QAAS,sBAAuB,gDAAiD9T,EAAM0S,EAAQnI,EAAQV,QAE3G,KAGX+M,mBAAA,SAAOtc,GACH,OAAOA,GAASA,EAAM8E,aAf9B,0EAmBgC0C,QAAAsS,IAC5ByC,oBAAA,WAAU,MAAO,IAEjBA,qBAAA,SAAS7W,EAAMI,EAAMsS,EAAQnI,GACzB,OAAY,MAARvK,GAAgC,iBAATA,EAA2BA,GAEtD3D,KAAKyX,KAAM,QAAS,uBAAwB,qDAAsD9T,EAAM0S,EAAQnI,EAAQV,QACjH,SAPf,wEAWgBiN,iBAEkBhV,QAAAsS,IAE9B2C,oBAAA,SAAQzc,KACRyc,oBAAA,WAAU,OAAOD,IACjBC,qBAAA,aAEAA,qBAAA,SAAS/W,EAAMI,EAAMsS,EAAQnI,GAEzB,OAAY,MAARvK,GAAgC,mBAATA,EAA6BA,GAExD3D,KAAKyX,KAAM,QAAS,yBAA0B,sDAAuD9T,EAAM0S,EAAQnI,EAAQV,QAEpHiN,KAIXC,mBAAA,SAAOzc,GAAS,OAAOA,OAhB3B,0EC/H8BwH,QAAAsS,IAC1B4C,oBAAA,WACI,OAAO,IAAIza,MAGfya,qBAAA,SAAShX,EAAYtD,EAAGgW,EAAQnI,GAC5B,GAAY,MAARvK,GAAgBA,aAAgBzD,KAAO,OAAOyD,EAElD,IAAMiX,EAAO,IAAI1a,KAAMyD,GACjBkX,EAAYD,EAAKE,UAMvB,OAJID,GAAcA,GACd7a,KAAKyX,KAAM,QAAS,qBAAsB,4CAA6C9T,EAAM0S,EAAQnI,EAAQV,QAG1GoN,GAGXD,sBAAA,SAAU3C,EAAO/Z,EAAOP,GACpB,GAAa,MAATO,EAAe,CACf,IAAM4c,EAAY5c,EAAM6c,UACxB,GAAID,GAAcA,EAAY,OAAOnd,EAAO,qBAIpDid,oBAAA,SAAQ1c,GAAU,OAAOA,GAASA,EAAM8c,eAExCJ,uBAAA,SAAWta,EAAGC,GAAM,OAASD,GAAKA,EAAEya,cAAkBxa,GAAKA,EAAEwa,YAE7DH,oBAAA,SAAQ1c,EAAOoY,EAA8BnI,GAEzC,OAAOlO,KAAKP,eAAqB,IAAVxB,EAAmB+B,KAAKiS,eAAiBhU,OAAO,EAAQoY,EAAQnI,IAG3FyM,sBAAA,SAAU1c,EAAOoY,EAAQnI,EAASiC,GACpB,IAAAzS,EAASsC,UACTwW,EAAeH,aACjBtS,EAAOyS,EAAY9Y,GAG3B,OAAOsC,KAAKsY,UAAWvU,EAAOyS,EAAY9Y,GAASsC,KAAKP,UAAWxB,EAAO8F,EAAMsS,EAAQnI,KAG5FyM,mBAAA,SAAO1c,GAAU,OAAOA,GAAS,IAAIiC,KAAMjC,EAAM6c,YACjDH,qBAAA,iBA5CJ,+DAgDA,SAASK,GAAcJ,GACnB,OAAQK,MAAO,IAAM/a,KAAM0a,GAASE,WAGnCE,GAAa,0BACbA,GAAa,2BACbA,GAAa,4BACbA,GAAa,6BACbA,GAAa,mCAEdL,GAAStc,UAAU+a,QAAU,SAAUnb,GACnC,OAAgB,MAATA,GAAiBA,aAAiBiC,KAAOjC,EAAQ,IAAIiC,KAOpE,SAAwB0a,GACpB,IAAIC,EAAWK,EAAgBC,EAAgB,EAE/C,GAAMD,EAASE,GAAeC,KAAMT,GAAU,CAE1C,IAAK,IAAWU,EAAPxd,EAAI,EAAQwd,EAAIC,GAAazd,KAASA,EAC3Cod,EAAQI,IAAOJ,EAAQI,IAAO,EAIlCJ,EAAQ,KAAQA,EAAQ,IAAO,GAAK,EACpCA,EAAQ,IAAOA,EAAQ,IAAO,EAEV,MAAhBA,EAAQ,SAA+BlJ,IAAhBkJ,EAAQ,KAC/BC,EAA+B,GAAfD,EAAQ,IAAYA,EAAQ,IAExB,MAAhBA,EAAQ,KACRC,EAAgB,EAAIA,IAI5BN,EACI3a,KAAKsb,IAAKN,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAKA,EAAQ,GAAMC,EAAeD,EAAQ,GAC3FA,EAAQ,SAGpBL,EAAY3a,KAAKkX,MAAOwD,GAG5B,OAAOC,EApC+DY,CAAexd,MAIzF,IAAMsd,GAAiB,CAAE,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,IACtCH,GAAiB,qICvEf,OAAAnF,GAAiB7B,QAAXyB,GAAWzB,cAEW3O,QAAAsS,IAGhC2D,mBAAA,SAAOzd,GACH,OAAOA,EAAQA,EAAM4S,QAAU5S,GAGnCyd,oBAAA,SAAQpc,EAAGT,EAAcqP,GAAoB,OAAO5O,GAAKA,EAAE4Y,OAAQhK,IAEnEwN,oBAAA,SAAQzd,EAAOoY,EAA8BnI,GACzC,IAAMmK,EAAInK,EAAQ2C,MAAQ7Q,KAAK6Q,MAAO5S,QACxB,IAAVA,EAAmB+B,KAAKiS,eAAiBhU,EAGvCqB,EAAIU,KAAKP,UAAW4Y,OAAG,EAAQhC,EAAQnI,GAE7C,OADAlO,KAAKiY,aAAc3Y,OAAG,EAAQ+W,EAAQnI,GAC/B5O,GAGXoc,sBAAA,SAAUzd,EAAOoY,EAAQnI,EAASiC,GACxB,IAEF0B,EAFEhT,EAAMmB,KAAKtC,KAAQ8Y,EAAeH,aAClCtS,EAAOyS,EAAY3X,GAIzB,GAAIgT,EAAS7R,KAAK2b,aAAc5X,EAAM9F,EAAOiQ,GAAY,CACrD,IAAM0N,EAAoB7X,EAAKiT,mBAAoBnF,EAAQ3D,GAE3D,SAAI0N,IACIzL,EACAA,EAAO3N,KAAMoZ,GAGbA,EAAkBtH,OAAQ+B,IAG1BrW,KAAK8W,mBAMjB,IAAMnT,EAAO3D,KAAKP,UAAWxB,EAAO8F,EAAMsS,EAAQnI,GAGlD,OAFAsI,EAAY3X,GAAQ8E,IAEhB3D,KAAKsY,UAAW3U,EAAMI,KAEtB/D,KAAKiY,aAActU,EAAMI,EAAMsS,EAAQnI,IAEhC,IAMfwN,0BAAA,SAAc3X,EAAsBJ,EAAYuK,GAE5C,GAAInK,GAAgB,MAARJ,EAAc,CACtB,KAAIA,aAAgB3D,KAAKmY,MAKrB,OAAOxU,EAHP,GAAIuK,EAAQnH,MAAQ,OAAOpD,EAAKwJ,kBAQ5CuO,qBAAA,SAAS/X,EAAYI,EAAYsS,EAA8BnI,GAE3D,OAAY,MAARvK,EAAsBA,EAEtBA,aAAgB3D,KAAKmY,OACjBxU,EAAKkY,SAAclY,EAAKkY,QAAUtI,gBAAcuI,YAChD9b,KAAKyX,KAAM,QAAS,2BAA4B,0EAA2E9T,EAAM0S,EAAQnI,EAAQV,QAKjJU,EAAQnH,MAAepD,EAAKkN,QAE5BlN,EAAKoQ,QACL/T,KAAKyX,KAAM,OAAQ,sBAAuB,kGAAmG9T,EAAM0S,EAAQnI,EAAQV,QAC5J7J,EAAKkN,SAGTlN,GAGF3D,KAAKmY,KAAatX,OAAQ8C,EAAMuK,IAG7CwN,qBAAA,SAAUrF,EAA8BpY,GAChCA,GACA+B,KAAKiY,kBAAc,EAAQha,EAAOoY,EAAQ,KAIlDqF,sBAAA,SAAUrF,EAA8BpY,GACpC,IAAIiS,EAAQjS,GAASA,EAAM0W,gBAC3B,GAAIzE,EAAQ,OAAOA,GAGvBwL,oBAAA,WACI,OAAa1b,KAAKmY,KAAMtX,UAG5B6a,wBAAA,SAAYxN,GACRA,EAAQ4K,eAAe9P,QAAShJ,KAAK+b,gBAGzCL,2BAAA,SAAe/X,EAAsBI,EAAsBsS,EAA8BnI,GACjFnK,IACAkS,GAAMI,EAAQtS,GACdmK,EAAQ8N,OAASjY,EAAKkY,WAGtBtY,GAAOkS,GAAQQ,EAAQ1S,EAAM3D,KAAKtC,WArH9C,+DCDQ,OAAAkF,GAAY6Q,EAAR3Q,GAAQ4Q,EACduC,GAAiB7B,QAAXyB,GAAWzB,UAUjB8H,GAAiB3I,gBAAc4I,OAAS5I,gBAAc6I,UAG5B3W,QAAAsS,IAG3BsE,oBAAA,SAAQpe,EAAOoY,EAA8BnI,GAC1C,IAAMmK,EAAInK,EAAQ2C,MAAQ7Q,KAAK6Q,MAAO5S,EAAOoY,QAC/B,IAAVpY,EAAmB+B,KAAKiS,eAAiBhU,EAGvCqB,EAAIU,KAAKP,UAAW4Y,OAAG,EAAQhC,EAAQnI,GAE7C,OADAlO,KAAKiY,aAAc3Y,OAAG,EAAQ+W,EAAQnI,GAC/B5O,GAGX+c,sBAAA,SAAUpe,EAAOoY,EAAQnI,EAASiC,GACxB,IAEF0B,EAFEhT,EAAMmB,KAAKtC,KAAQ8Y,EAAeH,aAClCtS,EAAOyS,EAAY3X,GAIzB,GAAIgT,EAAS7R,KAAK2b,aAAc5X,EAAM9F,EAAOiQ,GAAY,CACrD,IAAM0N,EAAoB7X,EAAKiT,mBAAoBnF,EAAQ3D,GAC3D,SAAI0N,IACIzL,EACAA,EAAO3N,KAAMoZ,GAGbA,EAAkBtH,OAAQ+B,IAG1BrW,KAAK8W,mBAMjB,IAAMnT,EAAO3D,KAAKP,UAAWxB,EAAO8F,EAAMsS,EAAQnI,GAGlD,OAFAsI,EAAY3X,GAAQ8E,IAEhB3D,KAAKsY,UAAW3U,EAAMI,KAEtB/D,KAAKiY,aAActU,EAAMI,EAAMsS,EAAQnI,IAEhC,IAMfmO,mBAAA,SAAOpe,EAAuBoY,GAE1B,IAAKpY,GAASA,EAAM8V,SAAWsC,EAAS,OAAOpY,EAG/C,IAAM4S,EAAQ5S,EAAM4S,QAEpB,OADAgF,GAAQQ,EAAQxF,EAAO7Q,KAAKtC,MACrBmT,GAIXwL,oBAAA,aAEAA,0BAAA,SAActY,EAAsBJ,EAAYuK,GAE5C,GAAInK,GAAgB,MAARJ,KAAmBA,aAAgB3D,KAAKmY,MAChD,OAAOxU,GAIf0Y,qBAAA,SAAS1Y,EAAYI,EAAYsS,EAA8BnI,GAC3D,GAAY,MAARvK,GAAgBA,aAAgB3D,KAAKmY,KAAO,OAAOxU,EAGvD,IAAM2Y,EAAiB,IAAMtc,KAAKmY,KAAexU,EAAMuK,EAASgO,IAKhE,OAFArG,GAAQQ,EAAQiG,EAAgBtc,KAAKtC,MAE9B4e,GAIXD,sBAAA,SAAUrE,EAAO/Z,EAAOP,KAGxB2e,oBAAA,WACI,OAAO,MAIXA,2BAAA,SAAe1Y,EAAsBI,EAAsBsS,EAA8BnI,GACjFnK,IAEIA,EAAKgQ,SAAWsC,GAChBJ,GAAMI,EAAQtS,GACdmK,EAAQ8N,OAASjY,EAAKkY,WAGtBnZ,GAAKiB,EAAMA,EAAKkQ,iBAAkBjU,KAAKuc,UAAWlG,IAItD1S,GAEIA,EAAKoQ,SAAWsC,GAChBzT,GAAIe,EAAMA,EAAKsQ,iBAAkBjU,KAAKuc,UAAWlG,IAK7DgG,qBAAA,SAAShG,EAA8BpY,GAC/BA,GACA+B,KAAKiY,kBAAc,EAAQha,EAAOoY,EAAQ,KAMlDgG,wBAAA,SAAYnO,GAER,IAAM2I,EAAY7W,KAClBA,KAAKuc,UAAYvc,KAAK8W,iBAAmB,SAAUf,EAAO7H,EAASwH,GAC/D1V,OAAS0V,GAAa1V,KAAK+W,qBAAsBF,EAAUnZ,KAAMwQ,IACjEhF,GAEJgF,EAAQ4K,eAAe9P,QAAShJ,KAAK+b,oBA5H7C,+DAgIA,SAAS7S,MCpIT,IAAMsT,GAAwB,CAAEC,OAAQC,OAAQ9K,QAAS1R,KAAM/B,OAAQG,MAAOkR,UACxEmN,GAAY,CAAExC,GAAeC,GAAaD,GAAeQ,GAAUH,GAAYD,GAAWG,aAEhFkC,GAAa1U,GACzB,OAASA,EAAc2U,WAU3B,SAA0B3U,GACtB,IAAM4U,EAAMN,GAASxW,QAASkC,GAC9B,OAAO4U,EAAM,EAAI5C,GAAqByC,GAAWG,GAZbC,CAAiB7U,GAGzD6P,GAAQlX,OAAS,SAAEqN,EAA4BxQ,GAC3C,IAAMya,EAAOjK,EAAQiK,KAGrB,OAAO,IAFejK,EAAQ2O,YAAe1E,EAAOyE,GAAazE,GAAQJ,KAE/Cra,EAAMwQ,ICb5B,IAAAxO,GAAWsd,MAuCfC,mBAAA,SAAOC,EAAwBhN,GAC3B,SAASK,EAAUyH,EAAO/Z,EAAOP,GAC7B,IAAKwf,EAAM9Y,KAAM4T,EAAO/Z,EAAOP,GAAQ,CACnC,IAAM+O,EAAMyD,GAASgN,EAAMhN,OAASxS,EAAO,gBAC3C,MAAsB,mBAAR+O,EAAqBA,EAAIrI,KAAM4T,EAAOta,GAAS+O,GAIrE,IAAM1I,EAAO/D,KAAKkO,QAAQqC,SAE1B,OAAOvQ,KAAKmd,SAAS,CACjB5M,SAAWxM,WACeiU,EAAO/Z,EAAOP,GACpB,OAAOqG,EAAMiU,EAAO/Z,EAAOP,IAAU6S,EAAUyH,EAAO/Z,EAAOP,IAElE6S,KAIvBpS,sBAAI8e,uBAAJ,WACI,OAAO5U,EAAqB,aAAcrI,uCAG9C7B,sBAAI8e,+BAAJ,WACI,OAAOjd,KAAKod,0CAGhBjf,sBAAI8e,6BAAJ,WACI,OAAOjd,KAAKmd,SAAS,CAAEjE,YAAa,qCAGxC+D,sBAAA,SAAUrJ,GACN,OAAO5T,KAAKmd,SAAS,CAAEvJ,cAG3BqJ,qBAAA,SAASI,GACL,OAAOrd,KAAKmd,SAAS,CAAEZ,UAAYc,KAIvCJ,mBAAA,SAAOle,GACH,OAAOiB,KAAKmd,SAAS,CAAE/F,MAAQrY,KAGnCke,oBAAA,SAAQle,GACJ,OAAOiB,KAAKmd,SAAS,CACjBjF,OAAwB,mBAARnZ,EAAqBA,EAAQA,EAAM,SAAEO,EAAGgc,EAAGzZ,GAAO,OAAAvC,GAAKA,EAAE4Y,OAAQrW,IAAMyb,MAI/Fnf,sBAAI8e,6BAAJ,WACI,OAAOjd,KAAKkY,QAAQ,oCAGxB/Z,sBAAI8e,yBAAJ,WACI,OAAOjd,KAAK/B,MAAO,uCAIvBgf,iBAAA,SAAKle,GACD,OAAOiB,KAAKmd,SAAS,CACjBvE,SAAW5Y,KAAKkO,QAAQ0K,SAAS3W,OAAQlD,MAKjDke,iBAAA,SAAKle,GAUD,OAAOiB,KAAKmd,SAAS,CACjBtE,WAAa7Y,KAAKkO,QAAQ2K,WAAW5W,OAVzC,SAAwB0B,EAAMI,EAAMsS,EAA8BnI,GAC9D,GAAIlO,KAAKsY,UAAW3U,EAAMI,GAAS,CAC/B,IAAMwZ,EAAUxe,EAAIqF,KAAMiS,EAAQ1S,EAAM3D,KAAKtC,MAC7C,YAAmB,IAAZ6f,EAAqBxZ,EAAO/D,KAAKoZ,QAASmE,EAASxZ,EAAMsS,EAAQnI,GAG5E,OAAOnK,OAQfkZ,0BAAA,SAActY,GACV,OAAO3E,KAAKmd,SAAS,CAAEpE,aAAepU,KAI1CsY,oBAAA,SAAQlb,GACJ,IAAMyb,EAAW,IAAI1b,EAAUC,GAQ/B,OAAO/B,KAAKmd,SAAS,CACjBrE,eAAiB9Y,KAAKkO,QAAQ4K,eAAe7W,OAPjD,SAAmC0B,EAAMI,EAAMsS,GAC3CtS,GAAQA,EAAK+J,SAAW0P,EAASC,YAAapH,EAAQtS,GAEtDJ,GAAQA,EAAKmK,SAAW0P,EAASE,UAAWrH,EAAQ1S,QAS5DxF,sBAAI8e,wBAAJ,WACI,OAAOjd,sCAGXid,sBAAA,SAAU/O,GACN,IAAMyP,EAAS,IAAIV,GAAwBjd,KAAKkO,SAEhD,OADAxO,GAAQie,EAAOzP,QAASA,GACjByP,GAGXV,mBAAA,SAAO3d,GACH,OAAOU,KAAKmd,SAAS,CAAElf,MAAQqB,EAAG0Z,kBAAmB,KAGlDiE,QAAP,SAAa5V,GACT,OAAO,UA1HX,YAAa6G,GAETlO,KAAKkO,QAAU,CAAE0K,SAAW,GAAIC,WAAa,GAAIC,eAAiB,IAC9D5K,GAAUxO,GAAQM,KAAKkO,QAASA,GA2H5C,SAASoP,eAEOnF,GAAuCyF,EAAsC3f,GACzF,GAAI2f,aAAgBX,GAAyB,OAAOW,EAEpD,IAAMC,EAAU,IAAIZ,GAA0B,CAAE9E,KAAOyF,IACjD3L,EAAe2L,QAAkB,IAAV3f,EAAmB2e,GAAagB,GAAO3L,aAAehU,EAEnF,YAAwB,IAAjBgU,EAA0B4L,EAAUA,EAAQ5f,MAAOgU,YAG9C6L,GAAyCnW,GACrD,OAAO,IAAIsV,GAA0B,CACjChf,MAAQ,KACRka,KAAOxQ,EACPkV,UAAYR,cAOJpe,GAAuBqB,GACnC,IAAMse,EAgBV,SAAoB3f,GAChB,cAAeA,GACX,IAAK,SACD,OAAOye,OACX,IAAK,SACD,OAAOD,OACX,IAAK,UACD,OAAO7K,QACX,IAAK,WACD,OAAOpC,SACX,IAAK,YACD,OACJ,IAAK,SACD,OAAOvR,EAAcA,EAAMS,iBAAc,GA7BpCqf,CAAWze,GAKxB,OAHcse,GAAQA,EAAKvf,qBAAqBsV,GAAgBmK,GAAQF,GAC1DzF,GAAMyF,IAEL3f,MAAOqB,OCnMbuP,GAAamP,OAAO,uBACpBb,GAAWa,OAAO,uBCmC/B,WAAmCvY,QAAAmL,UAK/BqN,iBAAA,SAAK3e,GACDU,KAAKgY,MAAOhY,KAAKke,MAAS5e,GAM9BnB,sBAAI8f,+BAAJ,WACI,OAAOje,KAAKgY,MAAM1B,YAAatW,KAAKke,2CAZxC,YAAuBlG,EAAyBkG,EAAejgB,EAAiBkgB,GAC5E,MAAAnR,aAAO/O,gBADYsL,QAAAyO,EAAyBzO,OAAA2U,EAAgC3U,SAAA4U,aCjBpEC,GAAiB/W,EAAY3J,GACzC,OAAOqa,GAAQlX,OAAQoc,GAAuBoB,KAAMhX,GAAO6G,QAASxQ,YAIxD4gB,GAAuBC,EAA+BC,GAClE,IAAMC,EAAeC,EAAa,GAA4BH,EAAsBH,IAC9EO,EAAgBC,EAAY,GAA4BH,EAAcD,GAEtEK,WV2IyBC,GAC/B,IAAMC,EAAQ5gB,OAAOuC,KAAMoe,GAErBpI,EAA6C,IAAIlH,SAAU,SAAU,oBACpEuP,EAAMhd,IAAK,SAAAmc,GAAO,MAAA,6BACTA,uBAAmBA,mBAC5B7Q,KAAM,eAGbqJ,EAAerY,UAAYF,OAAOE,UAElC,IAAM2gB,EAAqC,IAAIxP,SAAU,SAAU,SAAU,UAAW,gEAGjFuP,EAAMhd,IAAK,SAAAmc,GAAO,MAAA,6BACTA,uBAAmBA,6BAAyBA,sCACrD7Q,KAAM,eAKb,OAFA2R,EAAW3gB,UAAYF,OAAOE,UAEvB,CAAE2gB,aAAYtI,kBUhKKuI,CAAmBN,GAE7C,kBACOE,IACHvI,YAAc,IAAIuI,EAAkBnI,eAAgBiI,GACpDO,iBAAmB/gB,OAAOuC,KAAMie,GAAgB5c,IAAK,SAAAlD,GAAO,OAAA8f,EAAe9f,KAC3EoM,WAAayT,EAAoC,GAAID,EAAc,SAAAnf,GAAK,OAAAA,EAAE6f,+BAUlF,SAA2BC,GACvB,IAAIpU,EAEJ,IAAK,IAAInM,KAAOugB,EAAW,CACjB,IACA7C,EADY6C,EAAWvgB,GACCqP,kBAE1BqO,IACkBvR,EAAlBA,GAAiC,IAAIqU,GAExBnd,SAAU,UAAYrD,EACV,iBAAd0d,EACH+C,GAAsB/C,EAAW1d,GACjC0gB,GAAahD,EAAW1d,IAIxC,OAAOmM,EAAe,CAAEA,gBAAiB,GA1BlCwU,CAAkBf,KACrBxJ,WAAayJ,EAAa,GAAIC,EAAe,SAAAd,GAAW,OAAAA,EAAQ3P,QAAQ0F,aA4BhF,SAAS2L,GAAaE,EAAS5gB,GAC3B,OAAO,SAAUwX,EAAQpY,GACrBwhB,EAAQrb,KAAMiS,EAAQpY,EAAOY,IAIrC,SAASygB,GAAsBjC,EAAcxe,GACnC,IAAA2C,EAA2B,IAAIke,GAAmBrC,GAAK,GAArD/N,UAAOC,YAASH,SACxB,OAAOE,EACH,SAAU+G,EAAQpY,GACdoY,EAAQjH,GAAQnR,EAAOY,IAE3B,SAAUwX,EAAQpY,GACdsR,EAAS8G,GAAUjH,GAAQnR,EAAOY,IDzB9CV,OAAOqI,eAAgByX,GAAW5f,UAAW,eAAgB,CAAEJ,MAAQ,OACvEE,OAAOqI,eAAgByX,GAAW5f,UAAW,QAAS,CAClDyJ,IAAM,WACF,OAAO9H,KAAK2f,SAAY3f,KAAK2f,OAAS3f,KAAKgY,MAAM7C,mBAAoBnV,KAAKke,QAE9E1M,IAAM,SAAUlS,GACZU,KAAK2f,OAASrgB,KElDf,OAAMsgB,GAAe,CACxBC,cAAsB3R,GAAtB,wBAAsBA,MAClB,IAAM0F,EAAW5T,KAAK8f,cAChBrL,EAAOzU,KAAKkY,UAAS6H,SAAW,QAAW7R,IAEjD,OAAOF,GACHhO,KACAA,KAAKggB,QACDpM,EAAS/S,OAAQ4T,EAAMvG,EAASlO,MAChC4T,EAAS/B,OAAQ7R,KAAKigB,GAAIxL,EAAMvG,EAASlO,MAC7CkO,EAEA,SAAA2D,GACItI,EAAKiI,IAAKK,KACNuF,OAAQ,EACR2I,SAAW,QACR7R,OAMnBgS,eAAOhS,GAAP,WACI,oBADGA,MACIF,GACHhO,KACAA,KAAK8f,cAAcK,KAAMngB,KAAKigB,GAAI/R,EAASlO,MAC3CkO,EAEA,SAAAuG,GAAQ,OAAAlL,EAAKiI,IAAKiD,KAAQ2C,OAAQ,EAAM2I,SAAW,SAAY7R,OAIvEkS,iBAASlS,GAAT,WACI,oBADKA,MACEF,GACHhO,KACAA,KAAK8f,cAAcM,QAASpgB,KAAKigB,GAAI/R,EAASlO,MAC9CkO,EAEA,WACY,IAAAW,EAAetF,aAQvB,OAPIsF,EACAA,EAAWkC,OAAQxH,EAAM2E,GAGzB3E,EAAK0S,UAGF1S,MCrCf7J,GAAoBsd,EAAZre,GAAY0hB,EAWxBC,GAAuB,MAgCA7a,QAAAkO,IAAd4M,YAKT,SAAiBnf,EAAYwF,KAEtB2Z,cAAP,SAAqDrC,EAA8BsC,gBAAAA,MACvE,IAAAxf,EAAYyf,EACpB,OAAOD,EACH,SAAEngB,EAAGC,GAAO,OAAAU,EAASX,EAAG6d,GAAQ5d,EAAG4d,KACnC,SAAE7d,EAAGC,GAAO,OAACU,EAASX,EAAG6d,GAAQ5d,EAAG4d,MAU5C/f,sBAAWoiB,cAAX,WAAA,WACI,OAAOpI,GAAMnY,MACRkY,OAAQ,SAAA5Y,GAAK,OAAAA,EAAIA,EAAE2gB,GAAK,OACxB7I,MAAO,SAAA9X,SACJ,aAAWiK,EAAKlL,UAAUqiB,aAAgBphB,uCAI/CihB,eAAP,SAAwExB,GACpE,OAAO/e,KAAKzC,SAAUwhB,IAGnBwB,YAAP,SAAiBxB,GACb,OAAO/e,KAAK2gB,OAAO,CAAEnK,WAAauI,KAYtC5gB,sBAAIoiB,sBAAJ,WACI,OAAOvgB,KAAK4gB,eAAkB5gB,KAAK4gB,aAAe,IAAI5gB,KAAK6gB,cAAe7gB,wCAY9EugB,gCAAA,WAAsB,OAAO,IAAIvgB,KAAK0W,eAAgB1W,KAAKyW,sBAI3DtY,sBAAIoiB,oCAAJ,WAAuB,OAAOvgB,KAAKwW,4CAEnCrY,sBAAIoiB,4BAAJ,WACI,IAAIhD,EAAUvd,KAAK2W,mBAEnB,IAAK4G,EAAS,CACV,IAAMxZ,EAAO/D,KAAKyW,oBAClB8G,EAAU,GAIV,IAFQ,IAAA/G,EAAexW,oBAENwB,EAAAxB,KAAKkf,iBAAL7d,WAAAA,IAAuB,CAAnC,IAAI6c,OACCrf,EAAMqf,EAAKxgB,KACbO,EAAQuY,EAAY3X,GAEpBqf,EAAK5F,UAAWra,EAAO8F,EAAMlF,MAC7B0e,EAAS1e,GAAQZ,GAIzB+B,KAAK2W,mBAAqB4G,EAG9B,OAAOA,mCAGXgD,+BAAA,SAAmBO,GACf,IAAKA,EAAO,QAAO9gB,KAAK+gB,mBAAoB/gB,KAAKud,SAEjD,IAAIyD,EAAKzD,GAAyB,EAC9B0D,EAAejhB,KAAKqV,aAAerV,KAAKyW,oBAAsBzW,KAAKwW,WACnE4I,EAAepf,KAAKsW,YAExB,IAAK,IAAI4H,KAAQ4C,EACR1B,EAAWlB,GAAO5F,UAAW2I,EAAK/C,GAAU8C,EAAMF,EAAM5C,OAChDX,EAAZA,GAAsB,IAAMW,GAAS8C,GAG1C,OAAOzD,GAGXgD,wBAAA,SAAY1hB,GACA,IAAA4X,EAAwBzW,yBAChC,QAAKyW,IAEE5X,EACCmB,KAAKsW,YAAazX,GAAMyZ,UAAWtY,KAAKwW,WAAY3X,GAAO4X,EAAqB5X,KAC/EF,GAASqB,KAAKud,WAG3BgD,sBAAA,SAAU1hB,GACN,GAAIA,EAAK,CACG,IAAA4X,EAAwBzW,yBAChC,GAAIyW,EAAsB,OAAOA,EAAqB5X,GAG1D,OAAO,MAGX0hB,mBAAA,WACI,OAAkB,MAAXvgB,KAAKigB,IAGhBM,iBAAA,SAAK1hB,GACD,OAAsB,MAAfmB,KAAMnB,IAKjB0hB,mBAAA,SAAO1hB,EAAcqP,SACXjQ,EAAQ+B,KAAMnB,GAEpB,OADAmB,KAAKwR,YAAQ3S,QAAQ,QAAYmd,OAAQ,GAAS9N,IAC3CjQ,GAIXsiB,mBAAA,SAAOrS,GAAP,WACUgT,EAAUhT,GAAWA,EAAQgT,QAMnC,OAJAlhB,KAAKuU,YAAa,WACdhL,EAAK4X,QAAS,SAAEljB,EAAOY,GAAS,OAAA0K,EAAM1K,GAAQqiB,EAAU,UAAO,KAChEhT,GAEIlO,MAIXugB,sBAAA,WACI,IAAMzK,EAAc9V,KAAK+T,OAIzB,OAAO/T,KAAKgU,UAAY8B,EAAQA,GAASA,EAAM/B,QAWnD5V,sBAAIoiB,uBAAJ,WAAoB,OAAOvgB,KAAKwW,WAAYxW,KAAK0gB,kBACjD,SAAQphB,GAAc8W,GAAcpW,KAAMA,KAAK0gB,YAAaphB,oCAkB5DihB,sBAAA,SAAUjN,gBAAAA,MAIN,IAHM,IAAA/V,EAAW,OAGA6jB,EAFUphB,sBAEVqB,WAAAA,IAAkB,CAA9B,IAAI6c,OACCrf,EAAMqf,EAAKxgB,KACjBO,EAAQqV,EAAQzU,GAEhBtB,EAAUsB,QAAkB,IAAVZ,EAAmBigB,EAAKjM,eAAiBhU,EAG/D,OAAOV,GAwBXgjB,wBAAA,SAAYjN,EAAyBpF,KAGrCqS,mBAAA,SAAOrS,gBAAAA,MACH,IAAMmT,EAAc,IAAUrhB,KAAKtB,YAAcsB,KAAKwW,WAAY,CAAE3F,OAAQ,IAI5E,OAFI3C,EAAQoT,WAAWD,EAAKtM,cAAgB/U,KAAK8P,YAE1CuR,GAIXd,6BAAA,SAAiBgB,GAKb,IAJA,IAAI1jB,EAAY,EAER2Y,EAAexW,oBAEDwB,EAAAxB,KAAKkf,iBAAL7d,WAAAA,IAAuB,CAAxC,IAAIwV,OACGpV,EAASoV,OACb3G,EAAQ2G,EAAUtG,SAAUvQ,KAAMwW,EAAY/U,GAAQA,GAEtDyO,IACAqR,EAAQ9f,GAASyO,EACjBrS,KAIR,OAAOA,GAIX0iB,iBAAA,SAAK1hB,GACD,OAAOmB,KAAMnB,IAIjB0hB,iBAAA,SAAKjN,EAAcpF,GACf,GAAIoF,EAAQ,CACR,IAAMiB,EAAcvU,KAAKgX,mBAAoB1D,EAAQpF,GACrDqG,GAAeA,EAAYD,SAG/B,OAAOtU,MAQXugB,oBAAA,SAAQrS,GAIJ,IAHM,IAAAuG,EAAO,GACP+B,EAAexW,oBAECwB,EAAAxB,KAAKkf,iBAAL7d,WAAAA,IAAuB,CAAxC,IAAIwV,OACGtU,EAASsU,OACb5Y,EAAQuY,EAAYjU,GAExB,QAAc,IAAVtE,EAAkB,CAElB,IAAMujB,EAAS3K,EAAUqB,OAAO9T,KAAMpE,KAAM/B,EAAOsE,EAAM2L,QAG1C,IAAXsT,IAAoB/M,EAAMlS,GAASif,IAI/C,OAAO/M,GAIX8L,mBAAA,SAAOzL,EAAM5G,GACT,OAAO4G,GAMXyL,qBAAA,SAAS7iB,EAAeO,EAAaiQ,GAArC,WA8CI,OA5CAlO,KAAKuU,YAAa,WAQd,UAPMtF,EAAQvR,EAAKyE,MAAO,KACtBsf,EAAQxS,EAAKpR,OAAS,EACtBqgB,EAAQjP,EAAMwS,GAEdzJ,EAAQzO,EAGHzL,EAAI,EAAGA,EAAI2jB,EAAG3jB,IAAK,CACxB,IAAMe,EAAMoQ,EAAMnR,GAGd6F,EAAUqU,EAAMlQ,IAAMkQ,EAAMlQ,IAAKjJ,GAAQmZ,EAAOnZ,GAGpD,IAAK8E,EAAM,CACP,IAAMyb,EAAYpH,EAAM1B,YACxB,IAAI8I,EAYC,OAVD,IAAIsC,EAAWtC,EAAWvgB,GAAMgC,SAG5BqN,GAAWA,EAAQgT,SAAWQ,EAASpL,aACvCoL,EAASC,MAAOzT,GAGpB8J,EAAOnZ,GAAQ8E,EAAO+d,EAM9B1J,EAAQrU,EAIRqU,EAAMxG,IACNwG,EAAMxG,YAAQ0M,GAASjgB,KAASiQ,GAGhC8J,EAAOkG,GAASjgB,IAIjB+B,MAIX7B,sBAAIoiB,+BAAJ,WACI,OAAOvgB,KAAKgU,UAAY,KAAOhU,KAAK+T,wCAIxCwM,qBAAA,WACI,IAAIvgB,KAAK2L,UAAT,CAIA,IAFQ,IAAA6K,EAAexW,oBAENwB,EAAAxB,KAAKkf,iBAAL7d,WAAAA,IAAuB,CAAnC,IAAI6c,OACLA,EAAKjC,QAASjc,KAAMwW,EAAY0H,EAAKxgB,OAGzCsP,aAAMiP,qBAIVsE,kBAAA,SAAMjU,EAAkBE,EAAegM,EAAe9L,EAAgBkV,IAChEA,GAAYpU,IAASM,QAASxB,EAAOE,EAAOxM,KAAK6U,eAAiB,IAAM2D,SACnE9L,IACH6T,MAAUvgB,KACV6hB,wBAA0B7hB,KAAKsW,gBAIvCiK,0BAAA,WACI,OAAOvT,aAAM6H,yBAAkB,SAInC0L,gCAAA,SAAoBjN,EAAiBpF,KAYrCqS,qBAAA,SAAStQ,EAAoDvM,GACnD,IAAA3E,OAAkB,IAAZ2E,EAAqB,SAAE2U,EAAGiD,GAAO,OAAArL,EAAS7L,KAAMV,EAAS2U,EAAGiD,IAAMrL,EACxEuG,EAAexW,gBAErB,IAAK,IAAMnB,KAAOmB,KAAKwW,WAAY,CAC/B,IAAMvY,EAAQuY,EAAY3X,QACZ,IAAVZ,GAAmBc,EAAKd,EAAOY,KAI3C0hB,uBAAA,SAAWuB,EAA+Bpe,GACtC,IAAM3E,OAAkB,IAAZ2E,EAAqBoe,EAAQA,EAAM/T,KAAMrK,GACrD,OAAOqe,EAAiB,GAAI/hB,KAAKwW,WAAYzX,IAGjDwhB,aAAEvC,OAAOhN,UAAT,WACI,OAAO,IAAIgR,GAAsBhiB,OAGrCugB,qBAAA,WACI,OAAO,IAAIyB,GAAsBhiB,OAIrCugB,kBAAA,WACI,IAAM7f,EAAkB,GAIxB,OAFAV,KAAKmhB,QAAS,SAAEljB,EAAOY,GAAS,OAAA6B,EAAK8B,KAAM3D,KAEpC6B,GAlaJ6f,aAAY7E,GAgBZ6E,MAAKpI,GAAMsE,QAASxe,MAAO,MAlBzBsiB,MAjBZ7Y,EAAO,CAEJ0N,UAAY,IAGZnB,iBAAmB,SAGnByM,YAAc,OAEjBvZ,EAAY,CACT5J,SAAWkM,EAAW1C,MACtByP,WAAa/M,EAAW1C,MACxB8H,WAAapF,EAAW1C,MACxBkb,WAAaxY,EAAWxL,MACxByiB,YAAcjX,EAAWC,cAEhB6W,KA2MT,YAAatJ,EAAiB0B,GAC1B,MAAA3L,aAAOsT,YApKX/W,oBAAwB,EAqKpBA,EAAKiN,WAAa,GAElB,IAAMtI,EAAUyK,GAAa,GACvBrF,GAAWpF,EAAQkJ,MAAQ7N,EAAK6N,MAAOH,EAAU/I,GAAa+I,IAAc,UAElFjL,IAwPR,SAAoBqK,EAAgB/C,EAAiBpF,GACjD,GAAImJ,GAAkBhB,EAAQ/C,EAAQpF,GAAW,CACrC,IAAAoI,EAAgBD,cACpBa,SAEJ,IAAK,IAAI1S,KAAQ8O,EACRgD,EAAa9R,KACD0S,EAAbA,GAAuB,IACf1U,KAAM,WAAKgC,QAIvB0S,GACAI,GAAqBjB,EAAQa,EAAS,CAAE5D,UAAUpF,IArQtCgU,CAAW3Y,EAAM+J,EAAQpF,GAEzC3E,EAAKkN,oBAAsBlN,EAAKiN,WAAa,IAAIjN,EAAKyV,WAAYzV,EAAM+J,EAAQpF,GAEhF3E,EAAKsC,WAAYoL,EAAU0B,GAEvBpP,EAAKyB,cAAezB,EAAKyB,aAAa0S,UAAWnU,EAAMA,QAoN3DgX,GAAMliB,UAAWuY,GAAkBgJ,IASvC,YAAavJ,EAAgB/W,EAAsB4O,GAC/ClO,KAAKigB,GAAK3gB,EAAE2gB,GAIpBM,GAAMliB,UAAU2gB,WAAamD,GAKzB,YAAa7iB,GACTU,KAAKigB,GAAK3gB,EAAE2gB,GAIpBM,GAAMliB,UAAUqY,eAAiB0L,GAEjC,IAAMC,GAActK,GAAQlX,OAAO,CAAE5C,WAAQ,GAAU,MACvDsiB,GAAMliB,UAAUiY,YAAc,CAAE2J,GAAKoC,IACrC9B,GAAMliB,UAAU6gB,iBAAmB,CAAEmD,IAoBrC,QAKIL,kBAAA,WACY,IAAA3L,EAAWrW,YACfsiB,EAAWjM,EAAO6I,iBAAkBlf,KAAK8c,OAE7C,MAAO,CACHyF,MAAQD,EACRrkB,MAAQqkB,EAAW,CAAEA,EAAS5kB,KAAM2Y,EAAQiM,EAAS5kB,YAAW,QARxE,YAA8B2Y,GAAArW,YAAAqW,EAFtBrW,SAAM,ECphBV,IAAAN,GAAqBsd,EAAbzf,GAAailB,WAMbhM,SAAY,aAAAnV,mBAAAA,IAAAohB,kBACxB,MAAMC,WLWoClhB,OAAEoW,EAACuF,GAAYwF,OAAIC,EAAC/T,GAAcgU,OAASrM,MAA3C,uDAC1C,UACIA,aACA3H,WAAagU,GACVF,GKfMG,CAA+BL,EAAQA,EAAO5kB,OAAS,IAChEklB,EAAwB,EAAhBN,EAAO5kB,OAAa4kB,EAAQ,GAAM,KAC1CO,EAAwB,EAAhBP,EAAO5kB,OAAa4kB,EAAO1f,MAAO,EAAG0f,EAAO5kB,OAAS,GAAM,QAEtC4H,MAAEsd,GAASxC,OAAxC,4DAMJ,OAHIyC,GAASnc,EAAQmc,EAARnc,CAAgBoc,GACzBvb,EAAQgb,EAARhb,CAAgBub,GAEbA,EAGX1C,GAAMvY,SAAW,SAA+BpB,GAC5C+M,GAAc3L,SAAS5D,KAAMpE,KAAM4G,GAGnC,MAAMnI,EAAQuB,QAE6ByF,MAAAmB,EAAUqb,YAC1CiB,QAAQzkB,EADFykB,KAAhBzb,GAAgByb,IAAN,4DAIXljB,KAAKkjB,kBAAoBA,EAIrBzkB,EAAMwjB,aAAerb,EAAUqb,aAC/BjiB,KAAKiiB,WAAaiB,IAI1B3C,GAAMrZ,SAAW,SAAU9F,EAA8BwF,GACrD,IAAM+C,EAAoB/C,EAAUvI,UAG9BmD,EAAgD8c,GAAuBte,KAAKwW,WAoBtF,SAAuBhV,OAAEjE,aAAUiZ,eAAYkK,gBACrCtf,EAAaoV,GAAcjZ,GAAY,IAGzCmjB,GAAkBA,KAAetf,IACjCA,EAAYsf,QAAgB,GAGhC,OAAOtf,EA5BwF+hB,CAAe/hB,GAAcuI,EAAU2M,aAA9HrL,eAAYD,iBAAiBoY,MAA/B,+BACN1jB,GAAQM,KAAK3B,UAAW+kB,GAExBhiB,EAAW6J,WAAa1N,GAAU6D,EAAW6J,YAAc,GAAIA,GAC/D7J,EAAW4J,aAAeA,EAE1B2I,GAAczM,SAAS9C,KAAMpE,KAAMoB,EAAYwF,GAG/C5G,KAAKkjB,kBAAkBxb,OAAQtG,EAAWyN,YAAc,IAGxD7O,KAAKiiB,WAAa7gB,EAAW6gB,WAC7BjiB,KAAKiiB,WAAW5jB,UAAU2Z,MAAQhY,KAE9BoB,EAAWwS,WAAW5T,KAAKiiB,WAAW5jB,UAAUwV,UAAYzS,EAAWwS,mBJnE5CnV,GACvB,IAAAJ,EAAcI,YACdygB,EAAqB7gB,mBAEvBglB,EAAgB,IAAI7T,SAAS,QAAS,kDAErC0P,EAAiBnd,IAAK,SAACP,OAAE9D,SAAW,MAAA,gBAASA,mBAAmB2P,KAAM,iBAG7EgW,EAAchlB,UAAUilB,eAAiBrF,GAEzC,IAAiB,QAAAmD,IAAA/f,WAAAA,IAAkB,CAA9B,IAAI6c,OACGzc,EAASyc,OAEjB/f,OAAOqI,eAAgB6c,EAAchlB,UAAWoD,EAAM,CAClDqG,IAAM,IAAI0H,SAAU0O,EAAKqF,gBAAkB,+CAClB9hB,wDACKA,6KAIZA,uDAAiDA,wCAC/D,+CACqBA,gFAE2BA,sDAClCA,uDAAiDA,4BAAsBA,4BAKjGpD,EAAUwiB,cAAgBwC,EIsC1BG,CAAmBxjB,OCpEf,IAAAyD,GAAgCggB,EAAtBjgB,GAAsBgQ,EAAZ5Q,GAAY6Q,EAAR3Q,GAAQ4Q,EAChCY,GAAWF,UACbsP,GAAUtP,GAAeyB,OAAQ8N,GAAQvP,GAAe6B,cA+C9C2N,GAAkB/U,EAA6BkQ,EAAoB7Q,GACvE,IAEJmI,EAFI2B,EAAUnJ,QAIdA,EAAWgN,SACXxF,EAAS0I,aAAiB/G,EAAQ+G,EAAe/G,EAAMnX,OAAQke,EAAO7Q,GAElEW,EAAWgN,QAAUtI,gBAAc4I,QACnCvZ,GAAIyT,EAAQA,EAAOpC,iBAAkBpF,EAAW+G,kBAAmB/G,KAIvEwH,EAAS0I,aAAiB/G,EAAU9J,EAAQnH,MAAQgY,EAAMlO,QAAUkO,EAAiB/G,EAAMnX,OAAQke,EAAO7Q,IAE/F6F,OACHsC,EAAOtC,SAAWlF,IAClB6U,GAAS7U,EAAYwH,EAAOxF,UACbhC,EAAWgV,oBAAuBhV,EAAWgV,kBAAoB,KACzErhB,KAAM6T,IAIjBqN,GAAS7U,EAAYwH,GAKrB,IAAAyN,EAAgBjV,cAGxB,OAFAiV,GAAeA,EAAYpG,UAAW7O,EAAYwH,GAE3CA,WAIKJ,GAAMH,EAAwBC,EAAeiG,GACrDlG,EAAM+F,QACF/F,EAAM+F,QAAUtI,gBAAc4I,QAC9BrZ,GAAKiT,EAAOA,EAAM9B,iBAAkB6B,EAAMF,kBAAmBE,IAIjE6N,GAAO7N,EAAOC,GACdiG,GAASjG,EAAMkG,WAGX,IAAA6H,EAAgBhO,cACxBgO,GAAeA,EAAYrG,YAAa3H,EAAOC,YAgBnCgO,GAAclV,EAA6BX,GACjD,IAAA8V,EAAgBnV,cACtB,SAAImV,IAAgC,IAAjB9V,EAAQ+V,QACvBpV,EAAW4T,OAAOwB,KAAMD,IACjB,YAeCE,GAAUC,EAAiBnM,GAEvC,IAAIiI,GADJkE,EAAOnM,EAAMtM,KAAQsM,GACMiI,IAEvBA,GAAwB,IAAhBA,IACRkE,EAAOlE,GAAOjI,YAKNoM,GAAaD,EAAiBnM,UACnCmM,EAAOnM,EAAMtM,KACpB,IAAIuU,EAAKjI,EAAMiI,IACXA,GAAwB,IAAhBA,UACDkE,EAAOlE,YAINoE,GAAaF,EAAiBnM,UACnCmM,EAAOnM,EAAMsM,SAAUtM,EAAM0I,cAE5B,IAAAT,EAAOjI,KACT,MAANiI,IAAgBkE,EAAOlE,GAAOjI,GAkBlC,QAUIuM,oBAAA,SAAQ7O,GAKJ,IAJM,IAAEvF,EAAmBnQ,YAAXiJ,EAAWjJ,YACnByV,EAAaxM,eAGGuO,IAAAnW,WAAAA,KAAfkT,QACOD,OAAQrL,GAGpBA,EAAO4a,mBACPW,GAAqBvb,EAAQwM,GAKjC,IAAwB,QAAAiC,IAAAE,WAAAA,IAAQ,CAA3B,IAAIrD,OACL9Q,GAAUwF,EAAQ,SAAUsL,EAAYtL,OAAQwM,GAOpD,IAHM,IAAEgP,EAAmBzkB,WAAZ0kB,EAAY1kB,iBAGR2kB,IAAAC,WAAAA,IAAO,CAArB,IAAIvO,OACL7S,GAAU6S,EAAQ,MAAOA,EAAQpN,EAAQwM,GACzCjS,GAAUyF,EAAQ,MAAOoN,EAAQpN,EAAQwM,GAI7C,IAAmB,QAAAoP,IAAAC,WAAAA,IAAVzO,OACL7S,GAAU6S,EAAQ,SAAUA,EAAQpN,EAAQwM,GAC5CjS,GAAUyF,EAAQ,SAAUoN,EAAQpN,EAAQwM,GAG5CzV,KAAK+kB,QACLthB,GAAUwF,EAAQ,OAAQA,EAAQwM,IAGlCgP,EAAM5mB,QAAU6mB,EAAQ7mB,SACxB4F,GAAUwF,EAAQ,SAAUA,EAAQwM,GAGxCzV,KAAKmU,QAAUG,GAAQrL,EAAQyM,QAlDnC,YAAuBzM,EACAkL,EACAsQ,EACAC,EACAvU,EACA4U,GALA/kB,YAAAiJ,EACAjJ,YAAAmU,EACAnU,WAAAykB,EACAzkB,aAAA0kB,EACA1kB,YAAAmQ,EACAnQ,YAAA+kB,WAiDXP,GAAqB3V,EAA6BX,GAC9DW,EAAW4I,KAAM,OAAQ,sBAAuB,4GAA6G5I,EAAWgV,kBAAmB3V,EAAQV,QACnMqB,EAAWgV,uBAAoB,ECtO3B,IAAAxP,GAA+BD,SAAxBE,GAAwBF,UAAhBkB,GAAgBlB,wBAOvB4Q,GAAgBnW,EAA6BoW,EAAe/W,EAAsBnH,GAC9F,IAAMoN,EAASE,GAAOxF,GAChBsB,EAAwB,GAE1BsU,EAoDR,SAAyB5V,EAA6BqW,EAAiB/U,EAAwBwI,EAAwBwM,GAOnH,IANM,IAAAC,EAAkBvW,QAAX4T,EAAW5T,SACpB9H,GAAgBoe,GAAcxM,EAAU5R,SAAY8H,EAAWgN,QAE/D6E,GADc/H,EAAUvB,MACVvI,EAAWmJ,MAAM3Z,UAAUqiB,aACzC2E,EAAa5C,EAAO5kB,WAELynB,IAAAjkB,WAAAA,IAAS,CAAvB,IAAMkkB,OACHvN,EAAQuN,EAAOH,EAAOG,EAAM7E,KAAmB0E,EAAOG,EAAK7Z,KAAQ,KAEvE,GAAIsM,GACA,GAAIjR,GAASwe,IAASvN,EAAO,CACzB,IAAI+G,EAAQwG,EAAK/O,YAAc+O,EACzBhR,EAAcyD,EAAMhB,mBAAoB+H,EAAOpG,GACrDpE,GAAepE,EAAO3N,KAAM+R,GAExByD,EAAM+I,WAAYL,IAClB2D,GAAae,EAAOpN,SAK5BA,EAAQ4L,GAAkB/U,EAAY0W,EAAM5M,GAC5C8J,EAAOjgB,KAAMwV,GACbkM,GAAUkB,EAAOpN,GAIzB,OAAOyK,EAAO1f,MAAOsiB,GAhFTG,CAAgB3W,EAAYoW,EAAO9U,EAAQjC,EAASnH,GAEhE,GAAI0d,EAAM5mB,QAAUsS,EAAOtS,OAAQ,CAC/B,IAAI4nB,EAcZ,SAA6B5W,EAA6B4V,EAAiBvW,GACvE,IAAIiD,EAAKjD,EAAQiD,GAGjB,GAAU,MAANA,EAeJ,OAAO4S,GAAclV,EAAYX,GAb7B,IAAMwX,EAAS7W,EAAW4T,OAAO5kB,OAAS4mB,EAAM5mB,QAGhDsT,EAAKuL,OAAQvL,IACJ,IAAIA,GAAe,EAATuU,GACfvU,EAAK,IAAIA,EAAK,GACTuU,EAALvU,IAAcA,EAAKuU,GAIvB,OAOR,SAAuBjoB,EAAgB0T,EAAasT,GAChD,IAAK,IAAInT,EAAI7T,EAAOI,OAAS,EAAGC,EAAIwT,EAAImT,EAAM5mB,OAAasT,GAALrT,EAASA,IAAKwT,IAChE7T,EAAQ6T,GAAM7T,EAAQK,GAG1B,IAAKA,EAAI,EAAGwT,EAAIH,EAAIrT,EAAI2mB,EAAM5mB,OAAQC,IAAKwT,IACvC7T,EAAQ6T,GAAMmT,EAAO3mB,GAdrB6nB,CAAc9W,EAAW4T,OAAQtR,EAAIsT,IAC9B,EA9BQmB,CAAoB/W,EAAY4V,EAAOvW,GACtD,GAAIoH,GAAazG,EAAYX,GACzB,OAAO,IAAIqW,GAAuB1V,EAAYsF,EAAQsQ,EAAO,GAAItU,EAAQsV,GAGzE5W,EAAWgV,mBAAoBW,GAAqB3V,EAAYX,GAIxEiG,GAAUG,GAAQzF,GCpBtB,QASIgX,iBAAA,SAAQC,EAA6CpiB,GAMjD,IALQ,IAAA+e,EAAWziB,YACbnC,EAAW4kB,SACbsD,EAAMznB,MAAOT,GACbkB,EAAM2E,EAAUoiB,EAAU/X,KAAMrK,GAAYoiB,EAEvChoB,EAAI,EAAGwT,EAAI,EAAGxT,EAAID,EAAQC,IAAK,CACpC,IAAMkjB,EAAMjiB,EAAK0jB,EAAQ3kB,GAAKA,QACtB,IAARkjB,IAAoB+E,EAAKzU,KAAQ0P,GAOrC,OAJIljB,IAAMwT,IACNyU,EAAIloB,OAASyT,GAGVyU,GAOXF,kBAAA,SAAS9mB,EAAyC2E,GAK9C,IAJQ,IAAA+e,EAAWziB,YACbnC,EAAW4kB,SACbxS,EAAWvM,EAAU3E,EAAIgP,KAAMrK,GAAY3E,EAEtCjB,EAAI,EAAGA,EAAID,EAAQC,IACxBmS,EAAUwS,EAAQ3kB,GAAKA,IAW/B+nB,wBAAA,SAAeG,EAA2CtiB,GAKtD,IAJQ,IAAA+e,EAAWziB,YACbnC,EAAW4kB,SACbxS,EAAWvM,EAAUsiB,EAAQjY,KAAMrK,GAAYsiB,EAE1CloB,EAAI,EAAGA,EAAID,EAAQC,IAAK,CAC7B,IAAMioB,EAAM9V,EAAUwS,EAAQ3kB,GAAKA,GACnC,QAAY,IAARioB,EAAiB,OAAOA,IAUpCF,oBAAA,SAAW5V,EAAmFgW,GAC1F,YAAgB,IAATA,EAAkBjmB,KAAKyiB,OAAOnJ,OAAQrJ,GAAajQ,KAAKyiB,OAAOnJ,OAAQrJ,EAAUgW,IAI5FJ,mBAAA,SAAOxR,EAAiB6R,GACpB,OAAOlmB,KAAKyiB,OAAO1f,MAAOsR,EAAO6R,IAGrCL,qBAAA,SAASM,GACL,OAAOnmB,KAAKyiB,OAAOzc,QAAShG,KAAK8H,IAAKqe,KAG1CN,sBAAA,SAAUO,GACN,OAAOxU,QAAS5R,KAAK8H,IAAKse,KAG9BP,oBAAA,SAAQ5V,EAAyBvM,GAC7B,IAAM3E,EAAMsnB,GAAqBpW,GACjC,OAAOjQ,KAAK+B,IAAK,SAAAukB,GAAK,OAAAvnB,EAAKunB,GAAMA,OAAI,GAAQ5iB,IAGjDmiB,kBAAA,SAAM5V,EAAyBvM,GAC3B,IAAM3E,EAAMsnB,GAAqBpW,GACjC,OAAOjQ,KAAKumB,WAAY,SAAAD,GAAK,OAAAvnB,EAAKunB,GAAMA,OAAI,GAAQ5iB,IAGxDmiB,kBAAA,SAAM5V,EAAyBvM,GAC3B,OAAOkO,QAAS5R,KAAKwmB,KAAMvW,EAAUvM,KAGzCmiB,qBAAA,SAAS5V,EAA+CvM,GACpD1D,KAAKoQ,KAAMH,EAAUvM,IAGzBmiB,oBAAA,WACI,OAAO7lB,KAAKyiB,OAAOnP,UAGvBuS,qBAAA,WACI,OAAO7lB,KAAKyiB,OAAOgE,WAGvBZ,mBAAA,SAAO5V,EAAyBvM,GAC5B,IAAM3E,EAAMsnB,GAAqBpW,GACjC,YAAsE,IAA/DjQ,KAAKumB,WAAY,SAAAD,GAAK,QAAAvnB,EAAKunB,SAAM,GAAgB5iB,IAG5DmiB,mBAAA,SAA0BhnB,GACtB,OAAOmB,KAAK+B,IAAK,SAAAiW,GAAS,OAAAA,EAAOnZ,MAGrCgnB,mBAAA,WAAc,OAAO7lB,KAAKyiB,OAAQ,IAElCoD,kBAAA,WAAa,OAAO7lB,KAAKyiB,OAAQziB,KAAKyiB,OAAO5kB,OAAS,IAEtDgoB,gBAAA,SAAIa,GACA,IAAMvC,EAAQuC,EAAU,EAAIA,EAAU1mB,KAAKyiB,OAAO5kB,OAAS6oB,EAC3D,OAAO1mB,KAAKyiB,OAAQ0B,IAQxB0B,qBAAA,SACI3H,EACAyI,GAUA,IARA,IAAM5kB,EAA4B,iBAATmc,EACrB,SAAA5e,GAAK,OAAAA,EAAG4e,IACRA,EAEE0I,EAAUD,GAAaE,GAEvBC,EAAU,OAEEtlB,EAAAxB,KAAKyiB,OAALphB,WAAAA,IAAa,CAA1B,IAAI2W,OACCnZ,EAAMkD,EAAKiW,GACN,MAAPnZ,IACAioB,EAASjoB,GAAQ+nB,EAASE,EAASjoB,GAAOmZ,EAAOnZ,IAIzD,OAAOioB,OAtJf,eA0JA,IAAMD,GAAkB,SAAEE,EAAUznB,GAAO,oBAAjBynB,MAAmBA,EAAIvkB,KAAMlD,GAAKynB,GAEtDC,GAAO,SAAA1nB,GAAK,OAAAA,GAElB,SAAS+mB,GAAwBpW,GAC7B,GAAgB,MAAZA,EAAmB,OAAO+W,GAE9B,cAAe/W,GACX,IAAK,WAAa,OAAOA,EACzB,IAAK,SACD,IAAMgX,EAAO9oB,OAAOuC,KAAMuP,GAE1B,OAAO,SAAA3Q,GACH,IAAgB,QAAA4nB,EAAAD,EAAA5lB,WAAAA,IAAM,CAAjB,IAAIxC,OACL,GAAIoR,EAAUpR,KAAUS,EAAGT,GACvB,OAAO,EAGf,OAAO,GAEf,QAAU,MAAM,IAAIiO,MAAO,qBCtK3B,IAAArJ,GAAuBggB,EAAbjgB,GAAagQ,EACzB8B,GAA+BlB,eAAlBC,GAAkBD,SAAXE,GAAWF,mBAyCrB+S,GAAYtY,EAA6BuY,EAAkBlZ,GACvE,IAAMwW,EAqBV,SAA2B7V,EAAYuY,EAAUpL,GAI7C,IAHA,IAAI0I,EAAUpmB,MAAO8oB,EAASvpB,QAC1BunB,EAAUvW,EAAWuW,MAEhBtnB,EAAI,EAAGwT,EAAI,EAAGxT,EAAIspB,EAASvpB,OAAQC,IAAK,CAC7C,IAAIka,EAAQnJ,EAAW/G,IAAKsf,EAAUtpB,IAClCka,IACA0M,EAASpT,KAAQ0G,EACjBoM,GAAagB,EAAOpN,GACpB/B,GAAMpH,EAAYmJ,EAAOgE,IAMjC,OAFA0I,EAAQ7mB,OAASyT,EAEVoT,EApCS2C,CAAkBxY,EAAYuY,EAAUlZ,EAAQ8N,OAChE,GAAI0I,EAAQ7mB,OAAQ,CAChB,IAAMsW,EAASE,GAAOxF,GAItB,GAmCR,SAAsBA,EAAY6V,GAK9B,IAJA,IAAI3gB,EAAS8K,EAAW4T,OACpBA,EAAS5T,EAAW4T,OAASnkB,MAAOyF,EAAKlG,OAAS6mB,GAClDU,EAAQvW,EAAWuW,MAEdtnB,EAAI,EAAGwT,EAAI,EAAGxT,EAAIiG,EAAKlG,OAAQC,IAAK,CACzC,IAAIka,EAAQjU,EAAMjG,GAEdsnB,EAAOpN,EAAMtM,OACb+W,EAAQnR,KAAQ0G,GAIxByK,EAAO5kB,OAASyT,EAlDZgW,CAAazY,EAAY6V,EAAQ7mB,QAE7ByX,GAAazG,EAAYX,GACL,IAAIqW,GAAuB1V,EAAYsF,EAAQ,GAAIuQ,EAAS,IAAI,GACxEpQ,cAIZH,GAAUG,GAAQzF,GAI1B,OAAO6V,ECtEH,IAAArQ,GAA+BD,SAAxBE,GAAwBF,UAAhBkB,GAAgBlB,eAGjCmT,GAAgB,CAAE/R,QAAS,YAGjBgS,GAAqB3Y,EAA6BoW,EAAkB/W,EAA6BsH,GAC7G,IAAMrB,EAASE,GAAOxF,GAEhB4V,EAsHV,SAA2B5f,EAAMpH,EAAQyQ,GAMrC,IALA,IAAIuZ,EAAchqB,EAASA,EAAOI,OAAS,EACvC4kB,EAAcnkB,MAAOmpB,GACrBrC,EAAkB,GAClB1E,EAAc7b,EAAKmT,MAAM3Z,UAAUqiB,YAE9B5iB,EAAI,EAAGwT,EAAI,EAAGxT,EAAI2pB,EAAK3pB,IAAK,CACjC,IAAI4pB,EAAMjqB,EAAQK,GAElB,IAAI4pB,IAAStC,EAAOsC,EAAKhH,MAAmB0E,EAAOsC,EAAIhc,KAAvD,CAIA,IAAIsM,EAAQ4L,GAAkB/e,EAAM6iB,EAAKxZ,GACzCuU,EAAQnR,KAAQ0G,EAChBkM,GAAUkB,EAAOpN,IAMrB,OAHAyK,EAAO5kB,OAASyT,EAChBzM,EAAKugB,MAAWA,EAETvgB,EAAK4d,OAASA,EA3IPkF,CAAkB9Y,EAAYoW,EAAO/W,GAEnD,GAAIuW,EAAM5mB,OAAQ,CACd,IAAM4nB,EAAW1B,GAAclV,EAAYX,GAE3C,GAAIoH,GAAazG,EAAY2G,EAAS+R,GAAgBrZ,GAElD,OAAO,IAAIqW,GAAuB1V,EAAYsF,EAAQsQ,EAAM1hB,QAAS,GAAI,GAAI0iB,GAG7E5W,EAAWgV,mBAAoBW,GAAqB3V,EAAYX,GAIxEiG,GAAUG,GAAQzF,YAIN+Y,GAAgB/Y,EAAYoW,EAAO/W,GAC/C,IAAMiG,EAASE,GAAOxF,GAChBsB,EAAS,GAEXmU,EAAWzV,EAAW4T,OACtBgC,EA2CR,SAAsB5V,EAA6BpR,EAAgB0S,EAAwBjC,GAWvF,IAVA,IAAIuU,EAAcnkB,MAAOb,EAAOI,QAC5BunB,EAAkB,GAClBre,GAAiC,MAAjBmH,EAAQnH,OAAuBmH,EAAQnH,SAAY8H,EAAWgN,QAC9EgM,EAAchZ,EAAWuW,MACzB0C,EAAcjZ,EAAW4T,OACzB/B,EAAc7R,EAAWmJ,MAAM3Z,UAAUqiB,YACzCqH,EAAc,GACdC,GAAc,EAGTlqB,EAAI,EAAGwT,EAAI,EAAGxT,EAAIL,EAAOI,OAAQC,IAAK,CAC3C,IAAIynB,EAAQ9nB,EAAQK,GAChBka,EAAgB,KAEpB,GAAIuN,EAAM,CACN,IAAItF,EAAMsF,EAAM7E,GACZhV,EAAM6Z,EAAK7Z,IAEf,GAAI0Z,EAAOnF,IAAQmF,EAAO1Z,GAAQ,SAElCsM,EAAQ6P,EAAW5H,IAAQ4H,EAAWnc,GAG1C,GAAIsM,GACA,GAAIjR,GAASwe,IAASvN,EAAO,CACrBgQ,GAAaF,EAAYxW,KAAQ0G,IAAQgQ,GAAY,GAEzD,IAAIjJ,EAAQwG,EAAK/O,YAAc+O,EACzBhR,EAAcyD,EAAMhB,mBAAoB+H,EAAO7Q,GACrDqG,GAAepE,EAAO3N,KAAM+R,SAIhCyD,EAAQ4L,GAAkB/U,EAAY0W,EAAMrX,GAC5C6Z,EAAMvlB,KAAMwV,GAGhByK,EAAQnR,KAAQ0G,EAChBkM,GAAUkB,EAAOpN,GAGrByK,EAAO5kB,OAASyT,EAChBzC,EAAW4T,OAAWA,EACtB5T,EAAWuW,MAAWA,EAEjB4C,IAAY9Z,EAAQ6W,QAAS,GAElC,OAAOgD,EA3FQT,CAAazY,EAAYoW,EAAO9U,EAAQjC,GAEjD+Z,EAAcpZ,EAAW4T,OAAO5kB,OAAS4mB,EAAM5mB,OAC/C6mB,EAAUuD,EAAc3D,EAASzmB,OACnBoqB,EAsBxB,SAA0BpZ,EAA6ByV,GAKnD,IAJQ,IAAAc,EAAWvW,QACb6V,EAAU,OAGGwD,IAAA7mB,WAAAA,IAAU,CAAxB,IAAIgV,OACA+O,EAAO/O,EAAO3K,OACfgZ,EAAQliB,KAAM6T,GACdJ,GAAMpH,EAAYwH,IAI1B,OAAOqO,EAlC2ByD,CAAiBtZ,EAAYyV,YJiE1CzV,EAA6BuZ,GAClD,IAAkB,QAAAC,IAAAhnB,WAAAA,IAAU,CACxB4U,GAAMpH,QAGV,OAAOuZ,EIrE6BE,CAASzZ,EAAYyV,GACrC,GAEdiE,EAAiBpY,EAAOtS,QAAU4mB,EAAM5mB,OAExCknB,EAAWhB,GAAclV,EAAYX,IAAaqa,GAAoB9D,EAAM5mB,QAAUqQ,EAAQ6W,OAEpG,GAAIwD,GAAkB7D,EAAQ7mB,QAAUknB,EAAQ,CAC5C,GAAIzP,GAAazG,EAAYX,GACzB,OAAO,IAAIqW,GAAuB1V,EAAYsF,EAAQsQ,EAAOC,EAASvU,EAAQ4U,GAG9ElW,EAAWgV,mBAAoBW,GAAqB3V,EAAYX,GAGxEiG,GAAUG,GAAQzF,GC7Cd,OAAApL,GAAaggB,EACfpP,GAA+BD,SAAxBE,GAAwBF,UAAhBkB,GAAgBlB,eAEjCoU,GAAS,MAeoB/iB,QAAA4W,IACtBoM,gBAAe,OAD1B,6EAyB0DhjB,QAAAkO,QAA7CsO,OAeT,SAAmC/Z,GAC/B,MAAuB,mBAATA,EACVA,EAAK+Z,WACLzL,GAAYtO,GAAO+Z,YAUpBA,UAAP,SAAuC/Z,GACnC,OAAOA,EAAK+Z,WAAWyG,MAW3BzG,0BAAA,SAAcQ,EAAyBvU,GACnC,MAAM,IAAI8H,eAAgB,gCAGvBiM,YAAP,SAAiBrb,GAEb,IAAMsB,EAAOlI,KAGb,SAAS2oB,EAAgBtoB,EAAGC,EAAG6b,GAC3BjU,EAAK9D,KAAMpE,KAAMK,EAAGC,EAAGiT,gBAAc6I,OAAUD,EAAS5I,gBAAc4I,OAAS,IAHnFnc,KAAK4oB,UAAY,KAMjBniB,EAAQI,OAAOkB,SAAU4gB,GACzBA,EAAe9nB,OAASgoB,GAAWhoB,OAEnC8nB,EAAetqB,UAAY2B,KAAK3B,UAChCsqB,EAAe9L,UAAY4L,GAE3BzoB,KAAK0oB,KAAO1oB,KAAK8oB,OAAcH,EAE/BhV,GAAc3L,SAAS5D,KAAMpE,KAAM4G,IAGhCqb,YAAP,SAAiB7gB,EAAmCwF,GAChD,GAAIxF,EAAW2nB,WAAY,CACvB,IAAM7d,EAAY,IAAIpJ,EAAU8E,EAAUvI,UAAUylB,aACpD5Y,EAAUlI,aAAc5B,EAAW2nB,YACnC/oB,KAAK3B,UAAUylB,YAAc5Y,OAGH,IAA1B9J,EAAW4nB,aAAwBhpB,KAAK3B,UAAU2qB,WAAa5nB,EAAW4nB,YAE9ErV,GAAczM,SAAS9C,KAAMpE,KAAMoB,IAcvCjD,sBAAI8jB,oCAAJ,WAAuB,OAAOjiB,KAAKyiB,wCAMnCtkB,sBAAI8jB,+BAoCJ,WAAkB,OAAOjiB,KAAKgkB,iBApC9B,SAAgB1kB,GAAhB,WAEI,cAAeA,GACX,IAAK,SACDU,KAAKgkB,YAAc,SAAE3jB,EAAGC,GACpB,IAAM2oB,EAAK5oB,EAAWf,GAAK4pB,EAAK5oB,EAAWhB,GAC3C,OAAI2pB,IAAOC,EAAY,EAChBD,EAAKC,GAAM,EAAI,GAE1B,MACJ,IAAK,WACgB,IAAb5pB,EAAEzB,OACFmC,KAAKgkB,YAAc,SAAE3jB,EAAGC,GACpB,IAAM2oB,EAAW3pB,EAAG8E,KAAMmF,EAAMlJ,GAAK6oB,EAAW5pB,EAAG8E,KAAMmF,EAAMjJ,GAC/D,OAAI2oB,IAAOC,EAAY,EAChBD,EAAKC,GAAM,EAAI,GAI1BlpB,KAAKgkB,YAAc,SAAE3jB,EAAGC,GAAO,OAAMhB,EAAG8E,KAAMmF,EAAMlJ,EAAGC,IAE3D,MAEJ,QACIN,KAAKgkB,YAAc,uCAK/B/B,sBAAA,WACI,OAAOjiB,KAAKmpB,SAAYnpB,KAAKmpB,OAASnpB,KAAK+T,OAAS/T,KAAK+T,OAAOjE,WAAa9P,KAAK+U,gBAYtFkN,+BAAA,SAAmB5L,EAAYnI,EAAmCwH,GAE9D,gBAF2BxH,MAEvBwH,IAAc1V,KAAlB,CAEQ,IAAA0gB,EAAgB1gB,iBAEpBqW,EAAO0K,WAAYL,IACnB2D,GAAarkB,KAAKolB,MAAO/O,GAG7B,IAAMlC,EAASE,GAAOrU,MAElBsV,GAAatV,KAAMkO,IAEnBzK,GAAUzD,KAAM,SAAUqW,EAAQnI,GAGtCiG,GAAUG,GAAQtU,QAGtBiiB,iBAAA,SAAKmH,GACD,GAAe,MAAXA,EAAJ,CAEA,GAAuB,iBAAZA,EAKP,OAAOppB,KAAKolB,MAAOgE,GAJnB,IAAMnJ,EAAKmJ,EAASppB,KAAK0gB,aACzB,YAAgB,IAAPT,GAAiBjgB,KAAKolB,MAAOnF,IAAUjgB,KAAKolB,MAAOgE,EAAQ1d,OAO5EuW,aAAEjE,OAAOhN,UAAT,WACI,OAAOhR,KAAKyiB,OAAQzE,OAAOhN,aAK/BiR,wBAAA,SAAYhS,GACR,IAAMkE,EAASC,GAAeC,MAAOrU,MACrCA,KAAKoQ,KAAMH,GACXkE,GAAUC,GAAeE,OAAQtU,OAIrCiiB,6BAAA,SAAiBV,GAEb,GAAIvhB,KAAK6b,QAAU,OAAO,EAE1B,IAAIwN,EAAQ,EAUZ,OARArpB,KAAKoQ,KAAM,SAAAiG,GACP,IAAMnG,EAAQmG,EAAO1B,gBACjBzE,IACAqR,EAAQlL,EAAO3K,KAAQwE,EACvBmZ,OAIDA,GAyCXpH,wBAAA,aAGAA,mBAAA,SAAO/T,gBAAAA,MACH,IAAMuU,EAASziB,KAAK6b,QAAUtI,gBAAc6I,MAAQpc,KAAKyiB,OAASziB,KAAK+B,IAAK,SAAAiW,GAAS,OAAAA,EAAMnH,UACrFwQ,EAAc,IAAUrhB,KAAKtB,YAAc+jB,EAAQ,CAAEzK,MAAQhY,KAAKgY,MAAOgR,WAAahpB,KAAKgpB,YAAchpB,KAAK6b,SAIpH,OAFI3N,EAAQoT,WAAWD,EAAKtM,cAAgB/U,KAAK8P,YAE1CuR,GAGXY,oBAAA,SAAQ/T,GACJ,OAAOlO,KAAK+B,IAAK,SAAAiW,GAAS,OAAAA,EAAME,OAAQhK,MAI5C+T,iBAAA,SAAKqH,EAAgCpb,GAMjC,gBANCob,mBAAgCpb,WACN,IAAjBA,EAASqb,KACfvpB,KAAKyX,KAAM,OAAQ,uBAAwB,oFAAqFvJ,GAIhIA,EAAQsb,MACRxpB,KAAKwpB,MAAOF,EAAUpb,OAEtB,CACA,IAAMqG,EAAcvU,KAAKgX,mBAAoBsS,EAAUpb,GACvDqG,GAAeA,EAAYD,SAG/B,OAAOtU,MAUXiiB,yBAAA,SAAawH,GAAb,WACI,GAAIA,EAAS,CACTzpB,KAAK0pB,aAAa,GAElB,IAAMC,EAA4B,mBAAZF,EAAyBA,EAAU,WAAM,OAAA,GAU/D,OARAzpB,KAAK4pB,aAAe,CAChBC,QAAU,SAAApV,GACNkV,EAAQlV,IAAUlL,EAAKggB,IAAK9U,EAAM,CAAE2C,OAAQ,EAAMrQ,OAAQ,KAG9D2d,QAAU,SAAAzE,GAAM,OAAA1W,EAAKwH,OAAQkP,KAG1BjgB,KAAK8f,cAAcpC,UAAW1d,KAAK4pB,aAAc5pB,MAAOsO,KAAM,WAAM,OAAA/E,IAGvEvJ,KAAK4pB,eACL5pB,KAAK8f,cAAcrC,YAAazd,KAAK4pB,aAAc5pB,MACnDA,KAAK4pB,aAAe,OAUhC3H,mBAAA,SAAOtJ,GAAP,wBAAOA,MACH,IAAMzK,KAAYkJ,OAAQ,GAASuB,GAC/B/E,EAAW5T,KAAK8f,cAEpB,OAAO9R,GACHhO,KACA4T,EAAS7J,KAAMmE,EAASlO,MACxBkO,EAEA,SAAAuG,GACI,IAAIvV,EAAeqK,EAAKiI,IAAKiD,EAAM9O,GAAEyR,OAAQ,EAAM2I,SAAW,SAAY7R,IAM1E,OAJIA,EAAQwb,cACRxqB,EAASqK,EAAKmgB,YAAaxb,EAAQwb,cAGhCxqB,KAKnB+iB,qBAAA,WACI,IAAIjiB,KAAK2L,UAAT,CAIA,IAFA,IAAMme,GAAc9pB,KAAK6b,YAENra,EAAAxB,KAAKyiB,OAALphB,WAAAA,IAAa,CAA3B,IAAIgV,OACLJ,GAAMjW,KAAMqW,GAERyT,GAAazT,EAAO4F,UAG5Bjc,KAAK0pB,aAAa,GAElB1c,aAAMiP,qBAGVgG,mBAAA,SAAO8H,EAA8B7b,gBAAAA,MACjC,IAAMiG,EAASE,GAAOrU,MAChBgqB,EAAiBhqB,KAAKyiB,OAGxBsH,EACAvC,GAAqBxnB,KAAMiqB,GAAYjqB,KAAM+pB,EAAY7b,GAAWA,GAAS,IAG7ElO,KAAKolB,MAAQ,GACbplB,KAAKyiB,OAAS,IAGlBnN,GAAatV,KAAMkO,GAEnBA,EAAQsH,QAAU/R,GAAUzD,KAAM,QAASA,QAAQgqB,kBAAmB9b,IAKtE,IAFQ,IAAAkX,EAAUplB,eAEIkqB,IAAA7oB,WAAAA,IAAgB,CAAjC,IAAI8oB,OACL/E,EAAO+E,EAAUze,MAASuK,GAAMjW,KAAMmqB,GAI1C,OADAhW,GAAUG,GAAQtU,MACXA,KAAKyiB,QAIhBR,iBAAA,SAAK8H,EAA8B7b,gBAAAA,MAC/B,IAAMob,EAAWW,GAAYjqB,KAAM+pB,EAAY7b,GACzCqG,EAAcvU,KAAKyiB,OAAO5kB,OACpBmnB,GAAgBhlB,KAAMspB,EAAUpb,GAChCsZ,GAAqBxnB,KAAMspB,EAAUpb,GAEjD,GAAIqG,EAEA,OADAA,EAAYD,SACLC,EAAYkQ,OAK3BxC,oBAAA,SAAQmI,EAAoBlc,GACxB,oBADwBA,MACpBkc,EACO9rB,MAAMqK,QAASyhB,GACVjD,GAAYnnB,KAAMoqB,EAAclc,YFta7BW,EAA6BsE,EAA0BjF,GAC9E,IAAI8J,EAAgBnJ,EAAW/G,IAAKqL,GAEpC,GAAI6E,EAAO,CACP,IAAM7D,EAASE,GAAOxF,GAChB4T,EAAS5T,EAAW4T,OAG1BA,EAAOpR,OAAQoR,EAAOzc,QAASgS,GAAS,GACxCoM,GAAavV,EAAWuW,MAAOpN,GAG/B,IAAMqS,EAAS/U,GAAazG,EAAYX,GAexC,OAZImc,IACA7mB,GAAUwU,EAAO,SAAUA,EAAOnJ,EAAYX,GAC9C1K,GAAUqL,EAAY,SAAUmJ,EAAOnJ,EAAYX,IAGvD+H,GAAMpH,EAAYmJ,EAAO9J,EAAQ8N,OAEjCqO,GAAU5mB,GAAUoL,EAAY,SAAUA,EAAYX,GAGtDiG,GAAUG,GAAQzF,GAEXmJ,GE4YSsS,CAAWtqB,KAAMoqB,EAAclc,GAGxC,IAGX+T,uBAAA,SAAWmE,GACP,OAAO,IAAImE,GAAgBvqB,KAAMomB,IAMrCnE,gCAAA,SAAoB8H,EAA6B7b,gBAAAA,MAC7C,IAAMob,EAAWW,GAAYjqB,KAAM+pB,EAAY7b,GAE/C,OAAIlO,KAAKyiB,OAAO5kB,QACc,IAAnBqQ,EAAQ6C,OACHiU,GAAgBhlB,KAAMspB,EAAUpb,GAAS,GACzC0Z,GAAgB5nB,KAAMspB,EAAUpb,GAGrCsZ,GAAqBxnB,KAAMspB,EAAUpb,IAWpD+T,kBAAA,SAAM/T,GACF,gBADEA,MACE6V,GAAc/jB,KAAMkO,GAAW,CAC/B,IAAMiG,EAASE,GAAOrU,MAElBsV,GAAatV,KAAMkO,IACnBzK,GAAUzD,KAAM,OAAQA,KAAMkO,GAGlCiG,GAAUG,GAAQtU,MAGtB,OAAOA,MAIXiiB,mBAAA,SAAOkE,EAAwBjY,GAC3B,IAAMjQ,EAAQ+B,KAAK8H,IAAKqe,GAExB,OADAnmB,KAAK+Q,OAAQoV,KAAanK,OAAQ,GAAS9N,IACpCjQ,GAGXgkB,qBAAA,SAASlD,GACL,OAAOA,EAAO/e,KAAKgY,MAAM3Z,UAAUqiB,cAIvCuB,oBAAA,SAAQjK,EAAWwS,GACf,IAAIzmB,EAAO6N,QAAS5R,KAAK8H,IAAKkQ,IAC1BrU,OAAkB,IAAX6mB,GAAqBzmB,EAAO6N,QAAS4Y,GAWhD,OATIzmB,IAASJ,IACLI,EACA/D,KAAK+Q,OAAQiH,GAGbhY,KAAKupB,IAAKvR,IAIXrU,GAIXse,kBAAA,SAAM3V,EAAkBE,EAAgBgM,EAAeva,EAAgB2jB,IACjEA,GAAYpU,IAASM,QAASxB,EAAOE,EAAO,UAAIxM,KAAKgY,MAAM3Z,UAAUwW,2BAAoB7U,KAAK6U,qBAAsB2D,EAAM,CACxHiS,SAAWxsB,EACXysB,kBAAoB1qB,KAAKgY,MAAM3Z,UAAUiY,eAIjD2L,0BAAA,WACI,OAAOjV,aAAM6H,yBAAkB,cAOnC1W,sBAAI8jB,2BAAJ,WAAwB,OAAOjiB,KAAKyiB,OAAO5kB,wCAG3CokB,kBAAA,SAAKjK,EAAwB9J,GACzB,OAAOlO,KAAKupB,IAAIvR,KAAS7G,GAAInR,KAAKnC,QAAWqQ,KAIjD+T,iBAAA,SAAK/T,GACD,IAAI8J,EAAQhY,KAAKmR,GAAGnR,KAAKnC,OAAS,GAElC,OADAmC,KAAK+Q,OAAOiH,KAASgE,OAAQ,GAAS9N,IAC/B8J,GAIXiK,qBAAA,SAAQjK,EAAwB9J,GAC5B,OAAOlO,KAAKupB,IAAIvR,KAAS7G,GAAI,GAAMjD,KAIvC+T,mBAAA,SAAO/T,GACH,IAAM8J,EAAQhY,KAAKmR,GAAG,GAEtB,OADAnR,KAAK+Q,OAAQiH,KAASgE,OAAQ,GAAS9N,IAChC8J,GAndJiK,UAASnE,GA4XTmE,aAAYvG,GA/ZVuG,SAbZva,EAAO,CAEJ0N,UAAY,IACZ4C,MAAQuI,GACRtM,iBAAmB,UACnB4P,kBAAoB,OAEvBhd,EAAQgf,IACR1e,EAAY,CACT6hB,WAAavf,EAAWxL,MACxB+Z,MAAQvO,EAAWC,WACnBqf,WAAatf,EAAW1C,SAEfkb,KA0MT,YAAa0I,EAA2Bzc,EAAkC4P,gBAAlC5P,MACpC,MAAAlB,aAAOwb,YACPjf,EAAKkZ,OAAS,GACdlZ,EAAK6b,MAAQ,GAEb7b,EAAKyf,WAAczf,EAAKyf,gBAEG,IAAvB9a,EAAQ8a,aACRzf,EAAKyf,WAAa9a,EAAQ8a,WAC1B9a,EAAQ8a,gBAAa,GAGzBzf,EAAKyO,MAAczO,EAAKyO,MAEpB9J,EAAQ8J,QACRzO,EAAKyO,MAAQ9J,EAAQ8J,MACrB9J,EAAQ8J,WAAQ,GAGpBzO,EAAKmX,YAAcnX,EAAKyO,MAAM3Z,UAAUqiB,YAExCnX,EAAKsS,QAAUiC,GAAU,EAErB6M,GAEAnD,GAAqBje,EADJ0gB,GAAY1gB,EAAMohB,EAASzc,GACPA,GAAS,UAGlD3E,EAAKsC,WAAW9L,MAAOwJ,EAAM3L,WAEzB2L,EAAKyB,cAAezB,EAAKyB,aAAa0S,UAAWnU,EAAMA,KA0RnE,SAAS0gB,GAA6Bpb,EAA4Bya,EAA2Bpb,GACzF,IAAM0c,EAAS1c,EAAQkJ,MAAQvI,EAAWuI,MAAOkS,EAAUpb,GAAYob,EACvE,OAAOhrB,MAAMqK,QAASiiB,GAAWA,EAAS,CAAEA,GAGhDrK,GAAM0B,WAAaA,GAEnB,WAA6Bxc,QAAAmL,UAOzB2Z,iBAAA,SAAKjrB,GACDU,KAAK6O,WAAWgc,OAAQ7qB,KAAKgY,YAPjC,YACYnJ,EACAmJ,GACJ,MAAAhL,aAAO6B,EAAW/G,IAAKkQ,iBAFnBzO,aAAAsF,EACAtF,QAAAyO,aC3jBA8S,GAAgBC,GAC5B,cAAeA,GACX,IAAK,WACD,OAAO,SAAApb,GAAQ,OAAMob,EAAe3mB,KAAMuL,IAC9C,IAAK,SACD,OAAO,WAAM,OAAYob,GAC7B,IAAK,SAED,OADoB,IAAIrL,GAA2BqL,YCG/D,WAA2BtlB,QAAAsS,IAEvBiT,oBAAA,SAAQ/sB,GACJ,OAAOA,GAA0B,iBAAVA,EAAqBA,EAAMgiB,GAAKhiB,GAI3D+sB,mBAAA,SAAO/sB,GACH,OAAOA,GAA0B,iBAAVA,EAAqBA,EAAMgiB,GAAKhiB,GAI3D+sB,uBAAA,SAAW3qB,EAAmBC,GAI1B,OAHUD,IAAwB,MAATA,EAAG4f,GAAa5f,EAAYA,EAAG4f,QAC9C3f,IAAwB,MAATA,EAAG2f,GAAa3f,EAAYA,EAAG2f,MAM5D+K,sBAAA,SAAUhT,EAAO/Z,EAAOP,SApB5B,+DAuBA,SAASutB,GAAkDC,EAAwCC,GAC/F,IAAMC,EAAsBN,GAAgBI,GAO5C,OALiB,IAAIjO,GAA0B,CAC3Chf,MAAQ,KACR4e,UAAYmO,KAIXljB,IAAK,SAAUshB,EAAyB1rB,GACrC,GAAuB,iBAAZ0rB,EAAuB,OAAOA,EAGzC,IAAMva,EAAauc,EAAqBprB,MAClCqW,EAAiB,KAYvB,OATIxH,GAAcA,EAAWhR,SAEzBwY,EAASxH,EAAW/G,IAAKshB,IAAa,MACtCppB,KAAKwW,WAAY9Y,GAAS2Y,IAGhBrW,KAAKsW,YAAa5Y,GAAOua,aAAc5B,EAAQ,KAAMrW,KAAM,KAGlEqW,aCxDHgV,GAA4EH,EAAwCC,GAChI,IAAMG,EAAkBH,GAAKlJ,GAEzBsJ,EAAWD,EAAgB1C,YAAe0C,EAAgB1C,UAiClE,SAAiC0C,GACrB,kBAQJ,WAAalB,EAAelc,GACxB,MAAAlB,YAAO,GAAIkB,EAASsd,iBAPxBjiB,eAA4B,KAQxBA,EAAKkiB,KAAOC,GAAStB,KAyH7B,OAnIyC3kB,OAMrCtH,sBAAIwtB,mCAAJ,WAAuB,OAAO3rB,KAAKyrB,MAAQzrB,KAAKyiB,wCAQhDkJ,gBAAA,SAAK5B,EAAY7b,gBAAAA,MACL,IAAA0d,EAAiB5rB,kBACjB+nB,EAAQ2D,GAAS3B,GAEzB,GAAI6B,EAEA,OAAO5e,YAAMuc,cAAKsC,GAAaD,EAAc7D,GAAS7Z,GAItD,GAAI6Z,EAAMlqB,OAAQ,CACd,IAAMsW,EAASC,GAAeC,MAAOrU,MAGrCA,KAAKyrB,KAAOzrB,KAAKyrB,KAAOzrB,KAAKyrB,KAAKxpB,OAAQ8lB,GAAUA,EAAMhlB,QAE1DqR,GAAekB,YAAatV,KAAMkO,GAGlCiG,GAAUC,GAAeE,OAAQtU,QAK7C2rB,kBAAA,SAAO5B,EAAa7b,gBAAAA,MACR,IAAA0d,EAAiB5rB,kBACrBspB,EAAWoC,GAAS3B,GAExB,OAAO6B,EAEH5e,YAAMwc,gBAAOqC,GAAaD,EAActC,GAAYpb,GAEpD4d,GAAU9rB,KAAMspB,EAAUpb,IAAoB,IAGtDyd,+BAAA,SAAoB5B,EAAY7b,GACpB,IAAA0d,EAAiB5rB,kBACrBspB,EAAWoC,GAAS3B,GAExB,OAAO6B,EAEH5e,YAAMgK,6BAAoB6U,GAAaD,EAActC,GAAYpb,GAEjE4d,GAAU9rB,KAAMspB,EAAUpb,IAIlCyd,mBAAA,WACI,OAAO3rB,KAAKyrB,KACRzrB,KAAKyrB,KAAK1pB,IAAK,SAAAqnB,GAAW,OAAAA,EAAQnJ,IAAMmJ,IACxCppB,KAAKyiB,OAAO1gB,IAAK,SAAAiW,GAAS,OAAAA,EAAMiI,MAIxC0L,4BAAA,WAAmB,OAAO,GAE1BxtB,sBAAIwtB,0BAAJ,WACI,OAAO3rB,KAAKyiB,OAAO5kB,SAAYmC,KAAKyrB,KAAOzrB,KAAKyrB,KAAK5tB,OAAS,oCAIlE8tB,kBAAA,SAAO7V,GACH,IACIuL,EAAO,IADMrhB,KAAMtB,YACF,GAAI,CACjBsZ,MAAQhY,KAAKgY,MACbgR,WAAahpB,KAAKgpB,aAa1B,OAVIhpB,KAAK4rB,cAELvK,EAAKuK,aAAe5rB,KAAK4rB,aACzBvK,EAAKoK,KAAO,KACZpK,EAAKmI,MAAOxpB,KAAKyiB,OAAQ,CAAEjN,QAAS,KAGpC6L,EAAKoK,KAAOzrB,KAAKyrB,KAAK1oB,QAGnBse,GAIXsK,kBAAA,SAAOI,GACH,OAAOA,GAGXJ,oBAAA,SAAS9c,GAUL,OATIA,GAAcA,EAAWhR,SACzBmC,KAAK4rB,aAAe/c,EAEhB7O,KAAKyrB,OACLzrB,KAAKwpB,MAAOxpB,KAAKyrB,KAAM,CAAEjW,QAAS,IAClCxV,KAAKyrB,KAAO,OAIbzrB,MAGX2rB,wBAAA,WAA4B,OAAO3rB,KAAKkY,UAExCyT,mBAAA,SAAQxF,EAAiBnF,GACrB,OAAOhU,YAAM6d,iBAAQ7qB,KAAK4rB,aAAa9jB,IAAKqe,GAAanF,IAG7D2K,mBAAA,WACI,GAAI3rB,KAAK4rB,aAEL,OADA5rB,KAAKwR,IAAKxR,KAAK4rB,aAAanJ,QACrBziB,KAAKyiB,OAGhB,MAAM,IAAI3V,MAAO,0EAGrB6e,sBAAA,WACI,OAAO3rB,KAAKnC,OAASmC,KAAKwpB,QAAUxpB,KAAKgsB,UAjInCL,KAAbjkB,GAAaikB,IAA2BL,GAwIzC,OAFAK,EAAmBttB,UAAUylB,iBAAc,EAEpC6H,EA1KmEM,CAAwBX,IAC9FF,EAAsBN,GAAgBI,GAE1C,OAAO/S,GAAMoT,GAAWzjB,IACpB,SAAU2jB,GAEN,OADCA,GAAQA,EAAKG,cAAgBH,EAAKlc,QAAS6b,EAAqBprB,OAC1DyrB,ID2DjBlL,GAAe2L,SAAWjB,GC7C1BhJ,GAAoBoJ,SAAWA,GAGjCpJ,GAAW5jB,UAAU8tB,aAAe,SAAiD1J,EAAcvU,GAC/F,IACMke,EAAW,IADAf,GAAUrrB,KAAMA,KAAKtB,aAAqBwP,QAAQiK,MACpCsK,EAAQvU,GAGvC,OADAke,EAAO7c,QAASvP,MACTosB,GAGX,IAAMZ,GAAmBjY,gBAAc6I,MAAQ7I,gBAAcuI,WA0J7D,SAAS+P,GAAaQ,EAAQ/C,GAG1B,IAFA,IAAMqB,EAAU,OAED2B,IAAAjrB,WAAAA,IAAU,CAApB,IAAI8R,OACCkD,EAASgW,EAAOvkB,IAAKqL,GACvBkD,GAASsU,EAAQnoB,KAAM6T,GAG/B,OAAOsU,EAGX,SAASmB,GAAUjd,EAAYya,EAAUpb,GACrC,GAAI2J,EAAgBhJ,EAAW4c,KAAMnC,GAAY,CAC7C,IAAMnV,EAASC,GAAeC,MAAOxF,GAGrCA,EAAW4c,KAAOnC,EAASvmB,QAE3BqR,GAAekB,YAAazG,EAAYX,GAGxCiG,GAAUC,GAAeE,OAAQzF,IAIzC,SAAS6c,GAASpC,GACd,OAAOA,EACHhrB,MAAMqK,QAAS2gB,GAAaA,EAAW,CAAEA,GACzC,GC/NR,UAAIH,GAAiB,SAEM1jB,QAAA8a,IACvBgM,sBAAA,WAAqB,OAAOvsB,MAG5BusB,iBAAA,SAAK7uB,GAED,IAAI4R,EAAQtP,KAAMtC,GAGlB,OAAI4R,GAAStP,OAASA,KAAK+U,cAAuBzF,EAG3CtP,KAAK+T,OAAS/T,KAAK+T,OAAOjM,IAAKpK,GAASsC,KAAK+U,cAAcjN,IAAKpK,IAG3ES,sBAAWouB,iBAAX,WAAqB,OAAOpD,QAC5B,SAAmBqD,GACXrD,IACFA,GAAOlN,UAGTtI,GAActV,UAAU0W,cAAgBoU,GAASqD,uCArBzD,+DAyBAD,GAAME,OAAS,IAAIF,GC7BG,oBAAXvO,QACP7f,OAAOqI,eAAgByG,OAAQ,SAAU,CAAEhP,MAAQ,CAAE+S,SAAW,mBAAqB/G,cAAe,QAuBzFrH,IAAFpB,GAAyEsK,OAAnEhJ,UAAKgL,cAASnO,WAAMuU,eAAUtI,oBAAe8gB,4BAmBhDvU,GAASvS,GACrB,OAAOtH,MAAMqK,QAAS/C,GAClB+mB,GAAOC,GAAUhnB,EAAG,IAAMqc,YAC1B0K,GAAOC,GAAUhnB,IAGR,SAAXgnB,GAAWhnB,GACb,OAAK,MAALA,GAAazH,OAAOC,eAAgBwH,KAAQzH,OAAOE,UAC/CmY,GAAY5Q,GACZA,EAERqX,GAAuBoB,KAAO,SAAEhX,GAE5B,OAAIA,GAAQA,aAAgB4V,GACjB5V,EAGS,mBAATA,EAA6B8Q,GAAM9Q,GAE1C/I,MAAMqK,QAAStB,GACK,IAAhBA,EAAKxJ,SACJwJ,EAAM,IACkB,mBAAdA,EAAM,IACblJ,OAAOC,eAAgBiJ,EAAM,MAAUlJ,OAAOE,WAGlDwP,GAAK,QAAS,0BAA2B,yJAClC5P,GAAOoJ,IAGX8Q,GAAM9Q,GAGbA,GAAwB,iBAATA,EACXlJ,OAAOC,eAAgBiJ,KAAWlJ,OAAOE,WACzCwP,GAAK,QAAS,0BAA2B,wIAClC5P,GAAOoJ,IAGd1I,EAAS0I,IACTwG,GAAK,QAAS,0BAA2B,yIAClC5P,GAAOoJ,IAGX8Q,GAAM9Q,GAGVpJ,GAAOoJ,wZXAInJ,EAAO2uB,GACzB,GAAuB,oBAAZvmB,SAA2BA,QAAQwmB,YAAa,CACvD,IAAID,EAGA,CACA,IAAME,EAAQ7uB,EACd,OAAO,SAAEA,EAAgB2uB,GACrB1U,GAAM7R,QAAQwmB,YAAa,cAAe5uB,EAAO2uB,IAAa5uB,MAAO8uB,GAAQC,GAAI9uB,EAAO2uB,IAL5F1U,GAAM7R,QAAQwmB,YAAa,cAAe5uB,EAAO2uB,IAAaG,GAAI9uB,EAAO2uB,QAU7E3uB,EAAMuZ,KAAM,QAAS,uBAAwB,6GpBnDpB5L,GAC7B,IAAI0D,EAAS0d,EAAQC,EAErB,SAASve,EAAOwe,GACZD,EAAUC,EAGd,IAAMlf,EAA2B,IAAImf,QAAS,SAAEC,EAAWC,GAGvDzhB,EADA0D,EAAU8d,EADVJ,EAASK,EAEoB3e,KAOjC,OAJAV,EAAQU,MAAQ,WACZue,EAAUA,EAAS3d,EAAS0d,GAAWA,EAAQ,IAAIngB,MAAO,iBAGvDmB,kBMrCiB,6INFZ+G,EAAkBnQ,GAEtB,IAAAgK,EAAehK,aACvB,GAAIgK,EACA,OAAOmG,EAAkBnG,GAI7B,GAAIhK,EAAKkP,OAAQ,CACL,IAAAkB,EAAepQ,EAAKkP,kBAC5B,OAAOkB,GAAcA,EAAYpQ,EAAKmP,mOH6FPuZ,GACnC,OAAO,SAAkBrvB,EAAOR,IACfQ,EAAMP,eAAgB4vB,GAC/BrvB,EAAOqvB,GAAcrvB,EAAOqvB,IAAcrvB,EAAOqvB,IAAc,IAAIxqB,SAElEP,KAAK9E,+HkC/GiC8vB,GAC/C,OAAY,eAAA,IACJtuB,kBADcmC,mBAAAA,IAAAsL,kBAOlB,OAJA3M,KAAKuU,YAAa,WACdrV,EAASsuB,EAAOztB,MAAOwJ,EAAMoD,KAG1BzN,+FzBJa"} \ No newline at end of file diff --git a/models/lib/collection/add.js.map b/models/lib/collection/add.js.map index d0a28e0d..8a120b41 100644 --- a/models/lib/collection/add.js.map +++ b/models/lib/collection/add.js.map @@ -1 +1 @@ -{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/collection/add.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/collection/add.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/collection/arrayMethods.d.ts b/models/lib/collection/arrayMethods.d.ts index 856b8399..ea983171 100644 --- a/models/lib/collection/arrayMethods.d.ts +++ b/models/lib/collection/arrayMethods.d.ts @@ -1,5 +1,5 @@ import { Model } from '../model'; -export declare type Predicate = ((val: R, key?: number) => boolean) | Partial; +export type Predicate = ((val: R, key?: number) => boolean) | Partial; export declare abstract class ArrayMixin { models: R[]; abstract get(modelOrId: string | Partial): R; diff --git a/models/lib/collection/arrayMethods.js.map b/models/lib/collection/arrayMethods.js.map index beae513d..0535c831 100644 --- a/models/lib/collection/arrayMethods.js.map +++ b/models/lib/collection/arrayMethods.js.map @@ -1 +1 @@ -{"version":3,"file":"arrayMethods.js","sourceRoot":"","sources":["../../src/collection/arrayMethods.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"arrayMethods.js","sourceRoot":"","sources":["../../src/collection/arrayMethods.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/collection/commons.d.ts b/models/lib/collection/commons.d.ts index 7cdef98a..286627bd 100644 --- a/models/lib/collection/commons.d.ts +++ b/models/lib/collection/commons.d.ts @@ -6,11 +6,11 @@ export interface CollectionCore extends Transactional, Owner { idAttribute: string; get(objOrId: string | Model | Object): Model; } -export declare type Elements = (Object | Model)[]; +export type Elements = (Object | Model)[]; export interface CollectionOptions extends TransactionOptions { sort?: boolean; } -export declare type Comparator = (a: Model, b: Model) => number; +export type Comparator = (a: Model, b: Model) => number; export declare function dispose(collection: CollectionCore): Model[]; export declare function convertAndAquire(collection: CollectionCore, attrs: {} | Model, options: CollectionOptions): Model; export declare function free(owner: CollectionCore, child: Model, unset?: boolean): void; diff --git a/models/lib/collection/commons.js.map b/models/lib/collection/commons.js.map index ccf4108f..5c8b4733 100644 --- a/models/lib/collection/commons.js.map +++ b/models/lib/collection/commons.js.map @@ -1 +1 @@ -{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../src/collection/commons.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAqC,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAG/G,IAAA,6BAAQ,EAAE,6BAAQ,EAAE,iBAAE,EAAE,mBAAG,EAC3B,8BAAM,EACR,OAAO,GAAG,cAAc,CAAC,MAAM,EAAE,KAAK,GAAG,cAAc,CAAC,IAAI,CAAC;AAoCnE,MAAM,UAAU,OAAO,CAAE,UAA2B;IACxC,IAAA,0BAAM,CAAgB;IAE9B,UAAU,CAAC,MAAM,GAAG,EAAE,CAAC;IACvB,UAAU,CAAC,KAAK,GAAI,EAAE,CAAC;IAEvB,OAAO,CAAE,UAAU,EAAE,MAAM,CAAE,CAAC;IAC9B,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,MAAM,UAAU,gBAAgB,CAAE,UAA2B,EAAE,KAAkB,EAAE,OAA2B;IAClG,IAAA,wBAAK,CAAgB;IAE7B,IAAI,MAAc,CAAC;IAEnB,IAAI,UAAU,CAAC,OAAO,EAAE;QACpB,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAQ,KAAK,CAAC,MAAM,CAAE,KAAK,EAAE,OAAO,CAAE,CAAC;QAEhF,IAAI,UAAU,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE;YAC3C,EAAE,CAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,UAAU,CAAC,iBAAiB,EAAE,UAAU,CAAE,CAAC;SACnF;KACJ;SACG;QACA,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC,CAAC,CAAQ,KAAK,CAAC,MAAM,CAAE,KAAK,EAAE,OAAO,CAAE,CAAC;QAEpH,IAAI,MAAM,CAAC,MAAM,EAAE;YACf,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC9B,OAAO,CAAE,UAAU,EAAE,MAAM,CAAC,KAAK,EAAE,CAAE,CAAC;gBACtC,IAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,IAAI,CAAE,UAAU,CAAC,iBAAiB,GAAG,EAAE,CAAE,CAAC;gBACrF,MAAM,CAAC,IAAI,CAAE,MAAM,CAAE,CAAC;aACzB;SACJ;aACG;YACA,OAAO,CAAE,UAAU,EAAE,MAAM,CAAE,CAAC;SACjC;KACJ;IAGO,IAAA,oCAAW,CAAgB;IACnC,WAAW,IAAI,WAAW,CAAC,SAAS,CAAE,UAAU,EAAE,MAAM,CAAE,CAAC;IAE3D,OAAO,MAAM,CAAC;AAClB,CAAC;AAGD,MAAM,UAAU,IAAI,CAAE,KAAsB,EAAE,KAAa,EAAE,KAAgB;IACzE,IAAI,KAAK,CAAC,OAAO,EAAE;QACf,IAAI,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,MAAM,EAAE;YACtC,GAAG,CAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAE,CAAC;SACxE;KACJ;SACG;QACA,KAAK,CAAE,KAAK,EAAE,KAAK,CAAE,CAAC;QACtB,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;KAC5B;IAEO,IAAA,+BAAW,CAAW;IAC9B,WAAW,IAAI,WAAW,CAAC,WAAW,CAAE,KAAK,EAAE,KAAK,CAAE,CAAC;AAC3D,CAAC;AAGD,MAAM,UAAU,OAAO,CAAE,UAA2B,EAAE,QAAkB;IACpE,KAAkB,UAAQ,EAAR,qBAAQ,EAAR,sBAAQ,EAAR,IAAQ,EAAE;QAAvB,IAAI,KAAK,iBAAA;QACV,IAAI,CAAE,UAAU,EAAE,KAAK,CAAE,CAAC;KAC7B;IAED,OAAO,QAAQ,CAAC;AACpB,CAAC;AAMD,MAAM,UAAU,YAAY,CAAE,UAA2B,EAAE,OAA2B;IAC5E,IAAA,oCAAW,CAAgB;IACjC,IAAI,WAAW,IAAI,OAAO,CAAC,IAAI,KAAK,KAAK,EAAE;QACvC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAE,WAAW,CAAE,CAAC;QACtC,OAAO,IAAI,CAAC;KACf;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAWD,MAAM,UAAU,QAAQ,CAAE,KAAe,EAAE,KAAa;IACpD,KAAK,CAAE,KAAK,CAAC,GAAG,CAAE,GAAG,KAAK,CAAC;IAC3B,IAAI,EAAE,GAAe,KAAK,CAAC,EAAE,CAAC;IAE9B,IAAI,EAAE,IAAM,EAAW,KAAK,CAAC,EAAE;QAC3B,KAAK,CAAE,EAAE,CAAE,GAAG,KAAK,CAAC;KACvB;AACL,CAAC;AAGD,MAAM,UAAU,WAAW,CAAE,KAAe,EAAE,KAAa;IACvD,OAAO,KAAK,CAAE,KAAK,CAAC,GAAG,CAAE,CAAC;IAC1B,IAAI,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;IAClB,IAAI,EAAE,IAAM,EAAW,KAAK,CAAC,EAAE;QAC3B,OAAO,KAAK,CAAE,EAAE,CAAE,CAAC;KACtB;AACL,CAAC;AAED,MAAM,UAAU,WAAW,CAAE,KAAe,EAAE,KAAa;IACvD,OAAO,KAAK,CAAE,KAAK,CAAC,QAAQ,CAAE,KAAK,CAAC,WAAW,CAAE,CAAE,CAAC;IAE5C,IAAA,aAAE,CAAW;IACrB,EAAE,IAAI,IAAI,IAAI,CAAE,KAAK,CAAE,EAAE,CAAE,GAAG,KAAK,CAAE,CAAC;AAC1C,CAAC;AAiBD;IAEI,+BAAuB,MAAuB,EACvB,MAAgB,EAChB,KAAe,EACf,OAAiB,EACjB,MAAsB,EACtB,MAAgB;QALhB,WAAM,GAAN,MAAM,CAAiB;QACvB,WAAM,GAAN,MAAM,CAAU;QAChB,UAAK,GAAL,KAAK,CAAU;QACf,YAAO,GAAP,OAAO,CAAU;QACjB,WAAM,GAAN,MAAM,CAAgB;QACtB,WAAM,GAAN,MAAM,CAAU;IAAG,CAAC;IAG3C,sCAAM,GAAN,UAAQ,SAA0B;QACxB,IAAA,SAAyB,EAAvB,kBAAM,EAAE,kBAAM,EACd,0BAAQ,CAAY;QAG5B,KAAwB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;YAA3B,IAAI,WAAW,eAAA;YAChB,WAAW,CAAC,MAAM,CAAE,MAAM,CAAE,CAAC;SAChC;QAED,IAAI,MAAM,CAAC,iBAAiB,EAAE;YAC1B,mBAAmB,CAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;SAC3C;QAID,KAAwB,UAAM,EAAN,iBAAM,EAAN,oBAAM,EAAN,IAAM,EAAE;YAA3B,IAAI,WAAW,eAAA;YAChB,QAAQ,CAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAE,CAAC;SAC9D;QAGK,IAAA,SAAyB,EAAvB,gBAAK,EAAE,oBAAgB,CAAC;QAGhC,KAAmB,UAAK,EAAL,eAAK,EAAL,mBAAK,EAAL,IAAK,EAAE;YAArB,IAAI,MAAM,cAAA;YACX,QAAQ,CAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;YACpD,QAAQ,CAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;SACvD;QAGD,KAAmB,UAAO,EAAP,mBAAO,EAAP,qBAAO,EAAP,IAAO,EAAE;YAAvB,IAAI,MAAM,gBAAA;YACX,QAAQ,CAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;YACvD,QAAQ,CAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;SAC1D;QAED,IAAI,IAAI,CAAC,MAAM,EAAE;YACb,QAAQ,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;SAChD;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE;YAChC,QAAQ,CAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAE,CAAC;SAClD;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAE,MAAM,EAAE,SAAS,CAAE,CAAC;IAC/C,CAAC;IACL,4BAAC;AAAD,CAAC,AAtDD,IAsDC;;AAED,MAAM,UAAU,mBAAmB,CAAE,UAA2B,EAAE,OAA4B;IAC1F,UAAU,CAAC,IAAI,CAAE,MAAM,EAAE,qBAAqB,EAAE,2GAA2G,EAAE,UAAU,CAAC,iBAAiB,EAAE,OAAO,CAAC,MAAM,CAAE,CAAC;IAC5M,UAAU,CAAC,iBAAiB,GAAG,KAAK,CAAC,CAAC;AAC1C,CAAC"} \ No newline at end of file +{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../src/collection/commons.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/collection/index.d.ts b/models/lib/collection/index.d.ts index f2af692d..dab84e81 100644 --- a/models/lib/collection/index.d.ts +++ b/models/lib/collection/index.d.ts @@ -6,7 +6,7 @@ import { CloneOptions, Transactional, TransactionalDefinition, TransactionOption import { AddOptions } from './add'; import { ArrayMixin } from './arrayMethods'; import { CollectionCore } from './commons'; -export declare type GenericComparator = string | ((x: Model) => number) | ((a: Model, b: Model) => number); +export type GenericComparator = string | ((x: Model) => number) | ((a: Model, b: Model) => number); export interface CollectionOptions extends TransactionOptions { comparator?: GenericComparator; model?: typeof Model; @@ -21,7 +21,7 @@ export interface CollectionConstructor extends TheType< prototype: Collection; Refs: CollectionConstructor; } -declare type CollectionOf = M['Collection'] extends CollectionConstructor> ? M['Collection'] : CollectionConstructor>; +type CollectionOf = M['Collection'] extends CollectionConstructor> ? M['Collection'] : CollectionConstructor>; export declare class Collection extends Transactional implements CollectionCore, Iterable { static of(Ctor: M): CollectionOf; static of(spec: M): CollectionOf>; @@ -33,8 +33,9 @@ export declare class Collection extends Transactional i static onExtend(BaseClass: typeof Transactional): void; static onDefine(definition: CollectionDefinition, BaseClass: any): void; models: R[]; - comparator: GenericComparator; + set comparator(x: GenericComparator); getStore(): Transactional; + get comparator(): GenericComparator; get(objOrId: string | { id?: string; cid?: string; @@ -56,7 +57,7 @@ export declare class Collection extends Transactional i }): IOPromise; dispose(): void; reset(a_elements?: ElementsArg, options?: TransactionOptions): R[]; - add(a_elements: ElementsArg, options?: AddOptions): any; + add(a_elements: ElementsArg, options?: AddOptions): Model[]; remove(recordsOrIds: any, options?: CollectionOptions): R[] | R; $includes(idOrObj: R): Linked; sort(options?: TransactionOptions): this; @@ -64,14 +65,14 @@ export declare class Collection extends Transactional i modelId(attrs: {}): any; toggle(model: R, a_next?: boolean): boolean; getClassName(): string; - readonly length: number; - push(model: ElementsArg, options?: CollectionOptions): any; + get length(): number; + push(model: ElementsArg, options?: CollectionOptions): Model[]; pop(options?: CollectionOptions): R; - unshift(model: ElementsArg, options?: CollectionOptions): any; + unshift(model: ElementsArg, options?: CollectionOptions): Model[]; shift(options?: CollectionOptions): R; } export interface Collection extends ArrayMixin { } -export declare type LiveUpdatesOption = boolean | ((x: any) => boolean); -export declare type ElementsArg = Partial | Partial[]; +export type LiveUpdatesOption = boolean | ((x: any) => boolean); +export type ElementsArg = Partial | Partial[]; export {}; diff --git a/models/lib/collection/index.js b/models/lib/collection/index.js index 805b3a51..f84cf6ee 100644 --- a/models/lib/collection/index.js +++ b/models/lib/collection/index.js @@ -85,7 +85,7 @@ var Collection = (function (_super) { }; Object.defineProperty(Collection.prototype, "__inner_state__", { get: function () { return this.models; }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Collection.prototype, "comparator", { @@ -118,7 +118,7 @@ var Collection = (function (_super) { this._comparator = null; } }, - enumerable: true, + enumerable: false, configurable: true }); Collection.prototype.getStore = function () { @@ -327,7 +327,7 @@ var Collection = (function (_super) { return next; }; Collection.prototype._log = function (level, topic, text, value, a_logger) { - (a_logger || logger).trigger(level, topic, this.model.prototype.getClassName() + "." + this.getClassName() + ": " + text, { + (a_logger || logger).trigger(level, topic, "".concat(this.model.prototype.getClassName(), ".").concat(this.getClassName(), ": ") + text, { Argument: value, 'Attributes spec': this.model.prototype._attributes }); @@ -337,7 +337,7 @@ var Collection = (function (_super) { }; Object.defineProperty(Collection.prototype, "length", { get: function () { return this.models.length; }, - enumerable: true, + enumerable: false, configurable: true }); Collection.prototype.push = function (model, options) { diff --git a/models/lib/collection/index.js.map b/models/lib/collection/index.js.map index 94b651e8..e6e6d9ee 100644 --- a/models/lib/collection/index.js.map +++ b/models/lib/collection/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collection/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/collection/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/collection/remove.js.map b/models/lib/collection/remove.js.map index 97838361..b9b401ed 100644 --- a/models/lib/collection/remove.js.map +++ b/models/lib/collection/remove.js.map @@ -1 +1 @@ -{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/collection/remove.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/collection/remove.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/collection/set.js.map b/models/lib/collection/set.js.map index 727da53c..45492bf1 100644 --- a/models/lib/collection/set.js.map +++ b/models/lib/collection/set.js.map @@ -1 +1 @@ -{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/collection/set.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"set.js","sourceRoot":"","sources":["../../src/collection/set.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/index.js.map b/models/lib/index.js.map index 93fff0d2..3bcca75b 100644 --- a/models/lib/index.js.map +++ b/models/lib/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/io-tools.d.ts b/models/lib/io-tools.d.ts index 1a154b36..bff3d8e7 100644 --- a/models/lib/io-tools.d.ts +++ b/models/lib/io-tools.d.ts @@ -21,7 +21,7 @@ export interface IOEvents { } export declare function getOwnerEndpoint(self: any): IOEndpoint; export declare function createIOPromise(initialize: InitIOPromise): IOPromise; -export declare type InitIOPromise = (resolve: (x?: any) => void, reject: (x?: any) => void, abort?: (fn: Function) => void) => void; +export type InitIOPromise = (resolve: (x?: any) => void, reject: (x?: any) => void, abort?: (fn: Function) => void) => void; export declare function startIO(self: IONode, promise: IOPromise, options: IOOptions, thenDo: (json: any) => any): IOPromise; export declare function abortIO(self: IONode): void; export declare function triggerAndBubble(eventSource: any, ...args: any[]): void; diff --git a/models/lib/io-tools.js.map b/models/lib/io-tools.js.map index 91a9582c..90988ccc 100644 --- a/models/lib/io-tools.js.map +++ b/models/lib/io-tools.js.map @@ -1 +1 @@ -{"version":3,"file":"io-tools.js","sourceRoot":"","sources":["../src/io-tools.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,gBAAgB,CAAE,IAAI;IAE1B,IAAA,4BAAU,CAAU;IAC5B,IAAI,UAAU,EAAE;QACZ,OAAO,gBAAgB,CAAE,UAAU,CAAE,CAAC;KACzC;IAGD,IAAI,IAAI,CAAC,MAAM,EAAE;QACL,IAAA,mCAAU,CAAiB;QACnC,OAAO,UAAU,IAAI,UAAU,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;KACrD;AACL,CAAC;AAUD,MAAM,UAAU,eAAe,CAAE,UAA0B;IACvD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAE7B,SAAS,KAAK,CAAE,EAAE;QACd,OAAO,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,IAAM,OAAO,GAAoB,IAAI,OAAO,CAAE,UAAE,SAAS,EAAE,QAAQ;QAC/D,MAAM,GAAG,QAAQ,CAAC;QAClB,OAAO,GAAG,SAAS,CAAC;QACpB,UAAU,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC;IACzC,CAAC,CAAmB,CAAC;IAErB,OAAO,CAAC,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,KAAK,CAAE,aAAa,CAAE,CAAE,CAAC;IAChF,CAAC,CAAA;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAID,MAAM,UAAU,OAAO,CAAE,IAAa,EAAE,OAAwB,EAAE,OAAmB,EAAE,MAA8B;IAEjH,OAAO,CAAE,IAAI,CAAE,CAAC;IAEhB,IAAI,CAAC,UAAU,GAAG,OAAO;SACpB,IAAI,CAAE,UAAA,IAAI;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9C,gBAAgB,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAE,CAAC;QAEtD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAE;SACF,KAAK,CAAE,UAAA,GAAG;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAGvB,gBAAgB,CAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;QAEtD,MAAM,GAAG,CAAC;IACd,CAAC,CAAoB,CAAC;IAE1B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAEtC,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,OAAO,CAAE,IAAa;IAClC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;QAC1C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;KAC1B;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,WAAW;IAAE,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,6BAAO;;IAClD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,WAAW,EAAE,IAAI,CAAE,CAAC;IACvC,IAAA,mCAAU,CAAiB;IACnC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAE,UAAU,EAAE,IAAI,CAAE,CAAC;AAC/D,CAAC"} \ No newline at end of file +{"version":3,"file":"io-tools.js","sourceRoot":"","sources":["../src/io-tools.ts"],"names":[],"mappings":"AA+BA,MAAM,UAAU,gBAAgB,CAAE,IAAI;IAE1B,IAAA,UAAU,GAAK,IAAI,WAAT,CAAU;IAC5B,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,gBAAgB,CAAE,UAAU,CAAE,CAAC;IAC1C,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACN,IAAA,UAAU,GAAK,IAAI,CAAC,MAAM,WAAhB,CAAiB;QACnC,OAAO,UAAU,IAAI,UAAU,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;IACtD,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,eAAe,CAAE,UAA0B;IACvD,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;IAE7B,SAAS,KAAK,CAAE,EAAE;QACd,OAAO,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,IAAM,OAAO,GAAoB,IAAI,OAAO,CAAE,UAAE,SAAS,EAAE,QAAQ;QAC/D,MAAM,GAAG,QAAQ,CAAC;QAClB,OAAO,GAAG,SAAS,CAAC;QACpB,UAAU,CAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAE,CAAC;IACzC,CAAC,CAAmB,CAAC;IAErB,OAAO,CAAC,KAAK,GAAG;QACZ,OAAO,CAAC,CAAC,CAAC,OAAO,CAAE,OAAO,EAAE,MAAM,CAAE,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,KAAK,CAAE,aAAa,CAAE,CAAE,CAAC;IAChF,CAAC,CAAA;IAED,OAAO,OAAO,CAAC;AACnB,CAAC;AAID,MAAM,UAAU,OAAO,CAAE,IAAa,EAAE,OAAwB,EAAE,OAAmB,EAAE,MAA8B;IAEjH,OAAO,CAAE,IAAI,CAAE,CAAC;IAEhB,IAAI,CAAC,UAAU,GAAG,OAAO;SACpB,IAAI,CAAE,UAAA,IAAI;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9C,gBAAgB,CAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAE,CAAC;QAEtD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAE;SACF,KAAK,CAAE,UAAA,GAAG;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAGvB,gBAAgB,CAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,CAAE,CAAC;QAEtD,MAAM,GAAG,CAAC;IACd,CAAC,CAAoB,CAAC;IAE1B,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAEtC,OAAO,IAAI,CAAC,UAAU,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,OAAO,CAAE,IAAa;IAClC,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;IAC3B,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAE,WAAW;IAAE,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,6BAAO;;IAClD,WAAW,CAAC,OAAO,CAAC,KAAK,CAAE,WAAW,EAAE,IAAI,CAAE,CAAC;IACvC,IAAA,UAAU,GAAK,WAAW,WAAhB,CAAiB;IACnC,UAAU,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAE,UAAU,EAAE,IAAI,CAAE,CAAC;AAC/D,CAAC"} \ No newline at end of file diff --git a/models/lib/model/attrDef.d.ts b/models/lib/model/attrDef.d.ts index cdb2c594..e1207c7d 100644 --- a/models/lib/model/attrDef.d.ts +++ b/models/lib/model/attrDef.d.ts @@ -9,28 +9,28 @@ export interface AttributeCheck { (value: any, key: string): boolean; error?: any; } -export declare type Infer = A extends Function ? TrueReturnType : A extends ChainableAttributeSpec ? TrueReturnType : A extends Array ? (T extends new (...args: any[]) => infer M ? (M extends Model ? Collection : never) : T extends object ? Collection> : T[]) : A extends object ? Model & ModelAttributes : A | null; -declare type TrueReturnType = F extends DateConstructor ? Date | null : F extends typeof Linked ? Linked : F extends (...args: any[]) => infer R ? R | null : F extends new (...args: any[]) => infer R ? R | null : void; +export type Infer = A extends Function ? TrueReturnType : A extends ChainableAttributeSpec ? TrueReturnType : A extends Array ? (T extends new (...args: any[]) => infer M ? (M extends Model ? Collection : never) : T extends object ? Collection> : T[]) : A extends object ? Model & ModelAttributes : A | null; +type TrueReturnType = F extends DateConstructor ? Date | null : F extends typeof Linked ? Linked : F extends (...args: any[]) => infer R ? R | null : F extends new (...args: any[]) => infer R ? R | null : void; export declare class ChainableAttributeSpec { options: AttributeOptions & { type?: F; }; constructor(options: AttributeOptions); check(check: AttributeCheck, error?: any): this; - readonly as: PropertyDecorator; - readonly isRequired: this; - readonly required: this; + get as(): PropertyDecorator; + get isRequired(): this; + get required(): this; endpoint(endpoint: IOEndpoint): this; watcher(ref: string | ((value: any, key: string) => void)): this; parse(fun: Parse): this; toJSON(fun: AttributeToJSON | false): this; - readonly dontSave: this; - readonly null: this; + get dontSave(): this; + get null(): this; get(fun: any): this; set(fun: any): this; changeEvents(events: boolean): this; events(map: EventsDefinition): this; - readonly has: this; + get has(): this; metadata(options: object): this; value(x: any): this; static from(spec: any): ChainableAttributeSpec; diff --git a/models/lib/model/attrDef.js b/models/lib/model/attrDef.js index f8296b12..2d8206d9 100644 --- a/models/lib/model/attrDef.js +++ b/models/lib/model/attrDef.js @@ -26,21 +26,21 @@ var ChainableAttributeSpec = (function () { get: function () { return definitionDecorator('attributes', this); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(ChainableAttributeSpec.prototype, "isRequired", { get: function () { return this.required; }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(ChainableAttributeSpec.prototype, "required", { get: function () { return this.metadata({ isRequired: true }); }, - enumerable: true, + enumerable: false, configurable: true }); ChainableAttributeSpec.prototype.endpoint = function (endpoint) { @@ -61,14 +61,14 @@ var ChainableAttributeSpec = (function () { get: function () { return this.toJSON(false); }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(ChainableAttributeSpec.prototype, "null", { get: function () { return this.value(null); }, - enumerable: true, + enumerable: false, configurable: true }); ChainableAttributeSpec.prototype.get = function (fun) { @@ -105,7 +105,7 @@ var ChainableAttributeSpec = (function () { get: function () { return this; }, - enumerable: true, + enumerable: false, configurable: true }); ChainableAttributeSpec.prototype.metadata = function (options) { diff --git a/models/lib/model/attrDef.js.map b/models/lib/model/attrDef.js.map index 88f7d781..6a5d5f8e 100644 --- a/models/lib/model/attrDef.js.map +++ b/models/lib/model/attrDef.js.map @@ -1 +1 @@ -{"version":3,"file":"attrDef.js","sourceRoot":"","sources":["../../src/model/attrDef.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAoB,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGzF,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAqC,WAAW,EAAS,UAAU,EAAE,MAAM,aAAa,CAAC;AAKxF,IAAA,qBAAM,CAAW;AA8BzB;IAGI,gCAAa,OAA0B;QAEnC,IAAI,CAAC,OAAO,GAAG,EAAE,QAAQ,EAAG,EAAE,EAAE,UAAU,EAAG,EAAE,EAAE,cAAc,EAAG,EAAE,EAAC,CAAC;QACtE,IAAI,OAAO;YAAG,MAAM,CAAE,IAAI,CAAC,OAAO,EAAE,OAAO,CAAE,CAAC;IAClD,CAAC;IAED,sCAAK,GAAL,UAAO,KAAsB,EAAE,KAAY;QACvC,SAAS,QAAQ,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,EAAE;gBACnC,IAAM,GAAG,GAAG,KAAK,IAAI,KAAK,CAAC,KAAK,IAAI,IAAI,GAAG,eAAe,CAAC;gBAC3D,OAAO,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAE,KAAK,EAAE,IAAI,CAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aACpE;QACL,CAAC;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;QAEnC,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,QAAQ,EAAG,IAAI,CAAC,CAAC,CAAC,CACF,UAAU,KAAK,EAAE,KAAK,EAAE,IAAI;gBACxB,OAAO,IAAI,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,IAAI,QAAQ,CAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAE,CAAC;YACxE,CAAC,CACL,CAAC,CAAC,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACP,CAAC;IAED,sBAAI,sCAAE;aAAN;YACI,OAAO,mBAAmB,CAAE,YAAY,EAAE,IAAI,CAAE,CAAC;QACrD,CAAC;;;OAAA;IAED,sBAAI,8CAAU;aAAd;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC;QACzB,CAAC;;;OAAA;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAG,IAAI,EAAE,CAAC,CAAC;QAChD,CAAC;;;OAAA;IAED,yCAAQ,GAAR,UAAU,QAAqB;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IACvC,CAAC;IAED,wCAAO,GAAP,UAAS,GAAwD;QAC7D,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAG,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IAGD,sCAAK,GAAL,UAAO,GAAW;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAG,GAAG,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED,uCAAM,GAAN,UAAQ,GAA6B;QACjC,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,MAAM,EAAG,OAAO,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAE,GAAG,CAAC,CAAC,CAAC,UAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAM,OAAA,CAAC,IAAI,CAAC,CAAC,MAAM,CAAE,CAAC,CAAE,EAAlB,CAAkB,CAAC,CAAC,CAAC,aAAa,CAAE;SACzG,CAAC,CAAC;IACP,CAAC;IAED,sBAAI,4CAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAI,wCAAI;aAAR;YACI,OAAO,IAAI,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;QAC9B,CAAC;;;OAAA;IAGD,oCAAG,GAAH,UAAK,GAAG;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,QAAQ,EAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAE,GAAG,CAAE;SACjD,CAAC,CAAC;IACP,CAAC;IAGD,oCAAG,GAAH,UAAK,GAAG;QACJ,SAAS,aAAa,CAAE,IAAI,EAAE,IAAI,EAAE,MAA4B,EAAE,OAAO;YACrE,IAAI,IAAI,CAAC,SAAS,CAAE,IAAI,EAAE,IAAI,CAAE,EAAG;gBAC/B,IAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAE,CAAC;gBACpD,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAE,CAAC;aACrF;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,UAAU,EAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAE,aAAa,CAAE;SAC/D,CAAC,CAAC;IACP,CAAC;IAED,6CAAY,GAAZ,UAAc,MAAgB;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,YAAY,EAAG,MAAM,EAAE,CAAC,CAAC;IACpD,CAAC;IAGD,uCAAM,GAAN,UAAQ,GAAsB;QAC1B,IAAM,QAAQ,GAAG,IAAI,QAAQ,CAAE,GAAG,CAAE,CAAC;QAErC,SAAS,wBAAwB,CAAE,IAAI,EAAE,IAAI,EAAE,MAA4B;YACvE,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,WAAW,CAAE,MAAM,EAAE,IAAI,CAAE,CAAC;YAE7D,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAE,MAAM,EAAE,IAAI,CAAE,CAAC;QAC/D,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC;YACjB,cAAc,EAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAE,wBAAwB,CAAE;SAClF,CAAC,CAAC;IACP,CAAC;IAGD,sBAAI,uCAAG;aAAP;YACI,OAAO,IAAI,CAAC;QAChB,CAAC;;;OAAA;IAED,yCAAQ,GAAR,UAAU,OAAgB;QACtB,IAAM,MAAM,GAAG,IAAI,sBAAsB,CAAE,IAAI,CAAC,OAAO,CAAE,CAAC;QAC1D,MAAM,CAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAE,CAAC;QAClC,OAAO,MAAa,CAAC;IACzB,CAAC;IAED,sCAAK,GAAL,UAAO,CAAC;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAG,CAAC,EAAE,gBAAgB,EAAG,IAAI,EAAE,CAAC,CAAC;IACjE,CAAC;IAEM,2BAAI,GAAX,UAAa,IAAU;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,6BAAC;AAAD,CAAC,AA/HD,IA+HC;;AAED,SAAS,aAAa,KAAG,CAAC;AAE1B,MAAM,UAAU,IAAI,CAAmC,IAAoC,EAAE,KAAY;IACrG,IAAI,IAAI,YAAY,sBAAsB;QAAG,OAAO,IAAI,CAAC;IAEzD,IAAM,OAAO,GAAG,IAAI,sBAAsB,CAAI,EAAE,IAAI,EAAG,IAAI,EAAE,CAAC,EACxD,YAAY,GAAG,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAE,IAAI,CAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzF,OAAO,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAE,YAAY,CAAE,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,MAAM,CAAmC,WAAe;IACpE,OAAO,IAAI,sBAAsB,CAAI;QACjC,KAAK,EAAG,IAAI;QACZ,IAAI,EAAG,WAAW;QAClB,SAAS,EAAG,UAAU;KACzB,CAAC,CAAC;AACP,CAAC;AAED,OAAO,EAAE,MAAM,IAAI,KAAK,EAAE,CAAC;AAG3B,MAAM,UAAU,KAAK,CAAkB,CAAK;IACxC,IAAM,IAAI,GAAG,SAAS,CAAE,CAAC,CAAE,EAEvB,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,SAAS,YAAY,aAAa,CAAC,CAAC,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC,CAAC;QAClE,IAAI,CAAE,IAAI,CAAE,CAAC;IAE3B,OAAO,OAAO,CAAC,KAAK,CAAE,CAAC,CAAS,CAAC;AACrC,CAAC;AAUD,SAAS,SAAS,CAAE,KAAW;IAC3B,QAAQ,OAAO,KAAK,EAAG;QACnB,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC;QAClB,KAAK,QAAQ;YACT,OAAO,MAAM,CAAC;QAClB,KAAK,SAAS;YACV,OAAO,OAAO,CAAC;QACnB,KAAK,UAAU;YACX,OAAO,QAAQ,CAAC;QACpB,KAAK,WAAW;YACZ,OAAO,KAAK,CAAC,CAAC;QAClB,KAAK,QAAQ;YACT,OAAO,KAAK,CAAC,CAAC,CAAO,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;KACvD;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"attrDef.js","sourceRoot":"","sources":["../../src/model/attrDef.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/define.d.ts b/models/lib/model/define.d.ts index b0bb76fd..c3c0c43c 100644 --- a/models/lib/model/define.d.ts +++ b/models/lib/model/define.d.ts @@ -30,7 +30,7 @@ export declare function parseAnonimousModelDefinition({ [metadata]: md, [collect }; collection: { itemEvents?: { - [event: string]: string | true | ((...args: any[]) => void); + [event: string]: true | string | ((...args: any[]) => void); }; comparator?: GenericComparator; initialize?(models?: any[], options?: object): void; @@ -39,12 +39,12 @@ export declare function parseAnonimousModelDefinition({ [metadata]: md, [collect validate?(): any; }; }; -export declare type AnonymousAttributes = AnonymousModelConstructor; -export declare type AnonymousModelConstructor = MakeModelConstructor, A>; -export declare type ModelAttributes = InferAttrs & { +export type AnonymousAttributes = AnonymousModelConstructor; +export type AnonymousModelConstructor = MakeModelConstructor, A>; +export type ModelAttributes = InferAttrs & { readonly $: LinkedModelHash>; }; -export declare type MergeModelConstructors = MakeModelConstructor & InstanceType, First['attributes'] & Second['attributes']>; -export declare type InferAttrs = { +export type MergeModelConstructors = MakeModelConstructor & InstanceType, First['attributes'] & Second['attributes']>; +export type InferAttrs = { [K in Exclude]: Infer; }; diff --git a/models/lib/model/define.js.map b/models/lib/model/define.js.map index 917ee569..827b9287 100644 --- a/models/lib/model/define.js.map +++ b/models/lib/model/define.js.map @@ -1 +1 @@ -{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/model/define.ts"],"names":[],"mappings":";AAMA,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACxD,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAwBtD,MAAM,UAAU,6BAA6B,CAAC,EAAkF;QAAhF,aAAU,EAAV,WAAe,EAAE,eAAY,EAAZ,aAAmB,EAAE,uGAAa;IAC/F,kBACI,UAAU,YAAA,EACV,UAAU,EAAG,IAAI,IACd,EAAE,EACR;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"define.js","sourceRoot":"","sources":["../../src/model/define.ts"],"names":[],"mappings":";AAMA,MAAM,CAAC,IAAM,UAAU,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AACxD,MAAM,CAAC,IAAM,QAAQ,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC;AAwBtD,MAAM,UAAU,6BAA6B,CAAC,EAAkF;QAAhF,KAAC,QAAS,EAAG,EAAE,SAAA,EAAE,KAAC,UAAW,EAAG,IAAI,SAAA,EAAK,UAAU,cAArD,8EAAuD,CAAF;IAC/F,kBACI,UAAU,YAAA,EACV,UAAU,EAAG,IAAI,IACd,EAAE,EACR;AACL,CAAC"} \ No newline at end of file diff --git a/models/lib/model/index.js.map b/models/lib/model/index.js.map index 6556d7a4..1bbb4887 100644 --- a/models/lib/model/index.js.map +++ b/models/lib/model/index.js.map @@ -1 +1 @@ -{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/io-mixin.js.map b/models/lib/model/io-mixin.js.map index fc66a3ca..2b81059d 100644 --- a/models/lib/model/io-mixin.js.map +++ b/models/lib/model/io-mixin.js.map @@ -1 +1 @@ -{"version":3,"file":"io-mixin.js","sourceRoot":"","sources":["../../src/model/io-mixin.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4C,OAAO,EAAE,MAAM,aAAa,CAAC;AAehF,MAAM,CAAC,IAAM,YAAY,GAAG;IACxB,IAAI,EAAJ,UAAsB,OAAwB;QAA9C,iBAmBC;QAnBqB,wBAAA,EAAA,YAAwB;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,EAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,YAAG,QAAQ,EAAG,MAAM,IAAK,OAAO,EAAG,CAAC;QAE5D,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACV,QAAQ,CAAC,MAAM,CAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAE,CAAC,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAE,EACnD,OAAO,EAEP,UAAA,MAAM;YACF,KAAI,CAAC,GAAG,CAAE,MAAM,aACZ,KAAK,EAAG,IAAI,EACZ,QAAQ,EAAG,MAAM,IACd,OAAO,EACX,CAAC;QACR,CAAC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,EAAL,UAAO,OAAwB;QAA/B,iBAQC;QARM,wBAAA,EAAA,YAAwB;QAC3B,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAE,EACjD,OAAO,EAEP,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,GAAG,CAAE,IAAI,aAAI,KAAK,EAAG,IAAI,EAAE,QAAQ,EAAG,OAAO,IAAK,OAAO,EAAI,EAAlE,CAAkE,CAC7E,CAAC;IACN,CAAC;IAED,OAAO,EAAP,UAAS,OAAwB;QAAjC,iBAkBC;QAlBQ,wBAAA,EAAA,YAAwB;QAC7B,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAE,EACpD,OAAO,EAEP;YACY,IAAA,6BAAU,CAAU;YAC5B,IAAI,UAAU,EAAE;gBACZ,UAAU,CAAC,MAAM,CAAE,KAAI,EAAE,OAAO,CAAE,CAAC;aACtC;iBACG;gBACA,KAAI,CAAC,OAAO,EAAE,CAAC;aAClB;YAED,OAAO,KAAI,CAAC;QAChB,CAAC,CACJ,CAAA;IACL,CAAC;CACJ,CAAA"} \ No newline at end of file +{"version":3,"file":"io-mixin.js","sourceRoot":"","sources":["../../src/model/io-mixin.ts"],"names":[],"mappings":";AAAA,OAAO,EAA4C,OAAO,EAAE,MAAM,aAAa,CAAC;AAehF,MAAM,CAAC,IAAM,YAAY,GAAG;IACxB,IAAI,YAAkB,OAAwB;QAA9C,iBAmBC;QAnBqB,wBAAA,EAAA,YAAwB;QAC1C,IAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,EAC7B,IAAI,GAAG,IAAI,CAAC,MAAM,YAAG,QAAQ,EAAG,MAAM,IAAK,OAAO,EAAG,CAAC;QAE5D,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YACV,QAAQ,CAAC,MAAM,CAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAE,CAAC,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,CAAE,EACnD,OAAO,EAEP,UAAA,MAAM;YACF,KAAI,CAAC,GAAG,CAAE,MAAM,aACZ,KAAK,EAAG,IAAI,EACZ,QAAQ,EAAG,MAAM,IACd,OAAO,EACX,CAAC;QACR,CAAC,CACJ,CAAC;IACN,CAAC;IAED,KAAK,YAAE,OAAwB;QAA/B,iBAQC;QARM,wBAAA,EAAA,YAAwB;QAC3B,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAE,EACjD,OAAO,EAEP,UAAA,IAAI,IAAI,OAAA,KAAI,CAAC,GAAG,CAAE,IAAI,aAAI,KAAK,EAAG,IAAI,EAAE,QAAQ,EAAG,OAAO,IAAK,OAAO,EAAI,EAAlE,CAAkE,CAC7E,CAAC;IACN,CAAC;IAED,OAAO,YAAE,OAAwB;QAAjC,iBAkBC;QAlBQ,wBAAA,EAAA,YAAwB;QAC7B,OAAO,OAAO,CACV,IAAI,EACJ,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAE,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAE,EACpD,OAAO,EAEP;YACY,IAAA,UAAU,GAAK,KAAI,WAAT,CAAU;YAC5B,IAAI,UAAU,EAAE,CAAC;gBACb,UAAU,CAAC,MAAM,CAAE,KAAI,EAAE,OAAO,CAAE,CAAC;YACvC,CAAC;iBACG,CAAC;gBACD,KAAI,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAED,OAAO,KAAI,CAAC;QAChB,CAAC,CACJ,CAAA;IACL,CAAC;CACJ,CAAA"} \ No newline at end of file diff --git a/models/lib/model/linked-attrs.d.ts b/models/lib/model/linked-attrs.d.ts index 91510c72..cb1c4288 100644 --- a/models/lib/model/linked-attrs.d.ts +++ b/models/lib/model/linked-attrs.d.ts @@ -1,7 +1,7 @@ import { Model } from './model'; import { Linked } from '@linked/value'; export declare function addAttributeLinks(Class: typeof Model): void; -export declare type LinkedModelHash = { +export type LinkedModelHash = { readonly [K in keyof T]: LinkedAttr; }; export declare class LinkedAttr extends Linked { @@ -11,6 +11,5 @@ export declare class LinkedAttr extends Linked { constructor(model: Model, attr: string, value: any, _token: any); set(x: T): void; _error: any; - error: any; - readonly descriptor: import("./metatypes").AnyType; + get descriptor(): import("./metatypes").AnyType; } diff --git a/models/lib/model/linked-attrs.js b/models/lib/model/linked-attrs.js index 87c279c6..5c9a14fa 100644 --- a/models/lib/model/linked-attrs.js +++ b/models/lib/model/linked-attrs.js @@ -3,16 +3,16 @@ import { Linked } from '@linked/value'; export function addAttributeLinks(Class) { var prototype = Class.prototype; var _attributesArray = prototype._attributesArray; - var AttributeRefs = new Function('model', "\n this._model = model;\n " + _attributesArray.map(function (_a) { + var AttributeRefs = new Function('model', "\n this._model = model;\n ".concat(_attributesArray.map(function (_a) { var name = _a.name; - return "this.$" + name + " = void 0; "; - }).join('\n') + "\n "); + return "this.$".concat(name, " = void 0; "); + }).join('\n'), "\n ")); AttributeRefs.prototype.__ModelAttrRef = LinkedAttr; for (var _i = 0, _attributesArray_1 = _attributesArray; _i < _attributesArray_1.length; _i++) { var attr = _attributesArray_1[_i]; var name_1 = attr.name; Object.defineProperty(AttributeRefs.prototype, name_1, { - get: new Function(attr.isMutableType() ? "\n var cached = this.$" + name_1 + ",\n value = this._model." + name_1 + ",\n token = value && value._changeToken;\n\n return cached && cached._token === token ? cached :\n ( this.$" + name_1 + " = new this.__ModelAttrRef( this._model, '" + name_1 + "', value, token ) );\n " : "\n var cached = this.$" + name_1 + ";\n\n return cached && cached.value === this._model." + name_1 + " ? cached :\n ( this.$" + name_1 + " = new this.__ModelAttrRef( this._model, '" + name_1 + "', this._model." + name_1 + " ) );\n ") + get: new Function(attr.isMutableType() ? "\n var cached = this.$".concat(name_1, ",\n value = this._model.").concat(name_1, ",\n token = value && value._changeToken;\n\n return cached && cached._token === token ? cached :\n ( this.$").concat(name_1, " = new this.__ModelAttrRef( this._model, '").concat(name_1, "', value, token ) );\n ") : "\n var cached = this.$".concat(name_1, ";\n\n return cached && cached.value === this._model.").concat(name_1, " ? cached :\n ( this.$").concat(name_1, " = new this.__ModelAttrRef( this._model, '").concat(name_1, "', this._model.").concat(name_1, " ) );\n ")) }); } prototype.__Attributes$ = AttributeRefs; @@ -29,25 +29,23 @@ var LinkedAttr = (function (_super) { LinkedAttr.prototype.set = function (x) { this.model[this.attr] = x; }; - Object.defineProperty(LinkedAttr.prototype, "error", { - get: function () { - return this._error || (this._error = this.model.getValidationError(this.attr)); - }, - set: function (x) { - this._error = x; - }, - enumerable: true, - configurable: true - }); Object.defineProperty(LinkedAttr.prototype, "descriptor", { get: function () { return this.model._attributes[this.attr]; }, - enumerable: true, + enumerable: false, configurable: true }); return LinkedAttr; }(Linked)); export { LinkedAttr }; Object.defineProperty(LinkedAttr.prototype, '_changeToken', { value: null }); +Object.defineProperty(LinkedAttr.prototype, 'error', { + get: function () { + return this._error || (this._error = this.model.getValidationError(this.attr)); + }, + set: function (x) { + this._error = x; + } +}); //# sourceMappingURL=linked-attrs.js.map \ No newline at end of file diff --git a/models/lib/model/linked-attrs.js.map b/models/lib/model/linked-attrs.js.map index a5938c7c..09a42f45 100644 --- a/models/lib/model/linked-attrs.js.map +++ b/models/lib/model/linked-attrs.js.map @@ -1 +1 @@ -{"version":3,"file":"linked-attrs.js","sourceRoot":"","sources":["../../src/model/linked-attrs.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC,MAAM,UAAU,iBAAiB,CAAE,KAAoB;IAC3C,IAAA,2BAAS,CAAW;IACpB,IAAA,6CAAgB,CAAe;IAEvC,IAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,6CAErC,gBAAgB,CAAC,GAAG,CAAE,UAAC,EAAQ;YAAN,cAAI;QAAO,OAAA,WAAS,IAAI,gBAAa;IAA1B,CAA0B,CAAC,CAAC,IAAI,CAAE,IAAI,CAAE,WAClF,CAAC,CAAA;IAEF,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,CAAC;IAEpD,KAAiB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE;QAA9B,IAAI,IAAI,yBAAA;QACD,IAAA,kBAAI,CAAU;QAEtB,MAAM,CAAC,cAAc,CAAE,aAAa,CAAC,SAAS,EAAE,MAAI,EAAE;YAClD,GAAG,EAAG,IAAI,QAAQ,CAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,0CAClB,MAAI,mDACC,MAAI,wKAIhB,MAAI,kDAA6C,MAAI,uCACtE,CAAC,CAAC,CAAC,0CACqB,MAAI,2EAEuB,MAAI,iDACtC,MAAI,kDAA6C,MAAI,uBAAkB,MAAI,wBAC5F,CAAQ;SACZ,CAAC,CAAC;KACN;IAED,SAAS,CAAC,aAAa,GAAG,aAAoB,CAAC;AACnD,CAAC;AAMD;IAAmC,8BAAS;IACxC,oBAAuB,KAAa,EAAY,IAAa,EAAE,KAAK,EAAY,MAAM;QAAtF,YACI,kBAAO,KAAK,CAAE,SACjB;QAFsB,WAAK,GAAL,KAAK,CAAQ;QAAY,UAAI,GAAJ,IAAI,CAAS;QAAmB,YAAM,GAAN,MAAM,CAAA;;IAEtF,CAAC;IAED,wBAAG,GAAH,UAAK,CAAK;QACN,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAID,sBAAI,6BAAK;aAAT;YACI,OAAO,IAAI,CAAC,MAAM,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,IAAI,CAAC,IAAI,CAAE,CAAE,CAAC;QACvF,CAAC;aAED,UAAW,CAAO;YACd,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACpB,CAAC;;;OAJA;IAOD,sBAAI,kCAAU;aAAd;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC;QAC/C,CAAC;;;OAAA;IACL,iBAAC;AAAD,CAAC,AAvBD,CAAmC,MAAM,GAuBxC;;AAED,MAAM,CAAC,cAAc,CAAE,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAAG,IAAI,EAAE,CAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"linked-attrs.js","sourceRoot":"","sources":["../../src/model/linked-attrs.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAGtC,MAAM,UAAU,iBAAiB,CAAE,KAAoB;IAC3C,IAAA,SAAS,GAAK,KAAK,UAAV,CAAW;IACpB,IAAA,gBAAgB,GAAK,SAAS,iBAAd,CAAe;IAEvC,IAAM,aAAa,GAAG,IAAI,QAAQ,CAAC,OAAO,EAAE,kDAErC,gBAAgB,CAAC,GAAG,CAAE,UAAC,EAAQ;YAAN,IAAI,UAAA;QAAO,OAAA,gBAAS,IAAI,gBAAa;IAA1B,CAA0B,CAAC,CAAC,IAAI,CAAE,IAAI,CAAE,WAClF,CAAC,CAAA;IAEF,aAAa,CAAC,SAAS,CAAC,cAAc,GAAG,UAAU,CAAC;IAEpD,KAAiB,UAAgB,EAAhB,qCAAgB,EAAhB,8BAAgB,EAAhB,IAAgB,EAAE,CAAC;QAA/B,IAAI,IAAI,yBAAA;QACD,IAAA,MAAI,GAAK,IAAI,KAAT,CAAU;QAEtB,MAAM,CAAC,cAAc,CAAE,aAAa,CAAC,SAAS,EAAE,MAAI,EAAE;YAClD,GAAG,EAAG,IAAI,QAAQ,CAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,+CAClB,MAAI,wDACC,MAAI,6KAIhB,MAAI,uDAA6C,MAAI,uCACtE,CAAC,CAAC,CAAC,+CACqB,MAAI,gFAEuB,MAAI,sDACtC,MAAI,uDAA6C,MAAI,4BAAkB,MAAI,wBAC5F,CAAQ;SACZ,CAAC,CAAC;IACP,CAAC;IAED,SAAS,CAAC,aAAa,GAAG,aAAoB,CAAC;AACnD,CAAC;AAMD;IAAmC,8BAAS;IACxC,oBAAuB,KAAa,EAAY,IAAa,EAAE,KAAK,EAAY,MAAM;QAClF,YAAA,MAAK,YAAE,KAAK,CAAE,SAAC;QADI,WAAK,GAAL,KAAK,CAAQ;QAAY,UAAI,GAAJ,IAAI,CAAS;QAAmB,YAAM,GAAN,MAAM,CAAA;;IAEtF,CAAC;IAED,wBAAG,GAAH,UAAK,CAAK;QACN,IAAI,CAAC,KAAK,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAKD,sBAAI,kCAAU;aAAd;YACI,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAE,IAAI,CAAC,IAAI,CAAE,CAAC;QAC/C,CAAC;;;OAAA;IACL,iBAAC;AAAD,CAAC,AAfD,CAAmC,MAAM,GAexC;;AAED,MAAM,CAAC,cAAc,CAAE,UAAU,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,KAAK,EAAG,IAAI,EAAE,CAAE,CAAC;AAChF,MAAM,CAAC,cAAc,CAAE,UAAU,CAAC,SAAS,EAAE,OAAO,EAAE;IAClD,GAAG,EAAG;QACF,OAAO,IAAI,CAAC,MAAM,IAAI,CAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAE,IAAI,CAAC,IAAI,CAAE,CAAE,CAAC;IACvF,CAAC;IACD,GAAG,EAAG,UAAU,CAAO;QACnB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;CACJ,CAAC,CAAC"} \ No newline at end of file diff --git a/models/lib/model/metatypes/any.d.ts b/models/lib/model/metatypes/any.d.ts index 7d3aeb22..422638f8 100644 --- a/models/lib/model/metatypes/any.d.ts +++ b/models/lib/model/metatypes/any.d.ts @@ -2,8 +2,8 @@ import { IOEndpoint } from '../../io-tools'; import { LogLevel, Logger } from '@type-r/mixture'; import { TransactionOptions } from '../../transactions'; import { AttributesContainer, AttributeUpdatePipeline, ModelTransaction } from '../updates'; -export declare type Transform = (this: AnyType, next: any, prev: any, record: AttributesContainer, options: TransactionOptions) => any; -export declare type ChangeHandler = (this: AnyType, next: any, prev: any, record: AttributesContainer, options: TransactionOptions) => void; +export type Transform = (this: AnyType, next: any, prev: any, record: AttributesContainer, options: TransactionOptions) => any; +export type ChangeHandler = (this: AnyType, next: any, prev: any, record: AttributesContainer, options: TransactionOptions) => void; export interface AttributeOptions { _metatype?: typeof AnyType; validate?: (record: AttributesContainer, value: any, key: string) => any; @@ -20,11 +20,11 @@ export interface AttributeOptions { changeHandlers?: ChangeHandler[]; _onChange?: ChangeAttrHandler; } -export declare type Parse = (value: any, key?: string) => any; -export declare type GetHook = (value: any, key?: string) => any; -export declare type AttributeToJSON = (value: any, key?: string) => any; -export declare type AttributeParse = (value: any, key?: string) => any; -export declare type ChangeAttrHandler = ((value: any, attr?: string) => void) | string; +export type Parse = (value: any, key?: string) => any; +export type GetHook = (value: any, key?: string) => any; +export type AttributeToJSON = (value: any, key?: string) => any; +export type AttributeParse = (value: any, key?: string) => any; +export type ChangeAttrHandler = ((value: any, attr?: string) => void) | string; export declare class AnyType implements AttributeUpdatePipeline { name: string; static create: (options: AttributeOptions, name: string) => AnyType; diff --git a/models/lib/model/metatypes/any.js b/models/lib/model/metatypes/any.js index dc359171..9302daa3 100644 --- a/models/lib/model/metatypes/any.js +++ b/models/lib/model/metatypes/any.js @@ -20,7 +20,7 @@ var AnyType = (function () { this.defaultValue = this.create; } else if (tools.isValidJSON(value)) { - this.defaultValue = new Function("return " + JSON.stringify(value) + ";"); + this.defaultValue = new Function("return ".concat(JSON.stringify(value), ";")); } else { this.defaultValue = this.defaultValue; @@ -106,7 +106,7 @@ var AnyType = (function () { return false; }; AnyType.prototype._log = function (level, code, text, value, record, logger) { - record._log(level, code, record.getClassName() + "." + this.name + " " + text, { + record._log(level, code, "".concat(record.getClassName(), ".").concat(this.name, " ").concat(text), { 'New value': value, 'Prev. value': record.attributes[this.name] }, logger); diff --git a/models/lib/model/metatypes/any.js.map b/models/lib/model/metatypes/any.js.map index f557c6a0..06508213 100644 --- a/models/lib/model/metatypes/any.js.map +++ b/models/lib/model/metatypes/any.js.map @@ -1 +1 @@ -{"version":3,"file":"any.js","sourceRoot":"","sources":["../../../src/model/metatypes/any.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"any.js","sourceRoot":"","sources":["../../../src/model/metatypes/any.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/metatypes/basic.js.map b/models/lib/model/metatypes/basic.js.map index dc49cfb2..dd17ed4e 100644 --- a/models/lib/model/metatypes/basic.js.map +++ b/models/lib/model/metatypes/basic.js.map @@ -1 +1 @@ -{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/model/metatypes/basic.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../src/model/metatypes/basic.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/metatypes/date.js.map b/models/lib/model/metatypes/date.js.map index e1b11549..56ac08b7 100644 --- a/models/lib/model/metatypes/date.js.map +++ b/models/lib/model/metatypes/date.js.map @@ -1 +1 @@ -{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/model/metatypes/date.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/model/metatypes/date.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/metatypes/owned.js.map b/models/lib/model/metatypes/owned.js.map index 89963833..9f8d948e 100644 --- a/models/lib/model/metatypes/owned.js.map +++ b/models/lib/model/metatypes/owned.js.map @@ -1 +1 @@ -{"version":3,"file":"owned.js","sourceRoot":"","sources":["../../../src/model/metatypes/owned.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"owned.js","sourceRoot":"","sources":["../../../src/model/metatypes/owned.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/metatypes/shared.js.map b/models/lib/model/metatypes/shared.js.map index a7dc3d29..ea27ec11 100644 --- a/models/lib/model/metatypes/shared.js.map +++ b/models/lib/model/metatypes/shared.js.map @@ -1 +1 @@ -{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/model/metatypes/shared.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/model/metatypes/shared.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/mixin.js.map b/models/lib/model/mixin.js.map index e876cdb6..8391fbfc 100644 --- a/models/lib/model/mixin.js.map +++ b/models/lib/model/mixin.js.map @@ -1 +1 @@ -{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../src/model/mixin.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"mixin.js","sourceRoot":"","sources":["../../src/model/mixin.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/model.d.ts b/models/lib/model/model.d.ts index 900d5608..98c480be 100644 --- a/models/lib/model/model.d.ts +++ b/models/lib/model/model.d.ts @@ -20,10 +20,10 @@ export interface ModelDefinition extends TransactionalDefinition { collection?: object; Collection?: typeof Transactional; } -export declare type LinkedAttributes = LinkedModelHash>; -export declare type AttributesMixin = ModelAttributes; export declare class Model extends Transactional implements IOModel, AttributesContainer, Iterable { @@ -32,12 +32,12 @@ export declare class Model extends Transactional implements IOModel, AttributesC static Collection: CollectionConstructor; static DefaultCollection: CollectionConstructor; static id: import("./attrDef").ChainableAttributeSpec; - static readonly ref: import("./attrDef").ChainableAttributeSpec; + static get ref(): import("./attrDef").ChainableAttributeSpec; static extendAttrs(this: T, attrs: A): AnonymousModelConstructor; static defaults(attrs: AttributesValues): typeof Model; static attributes: AttributesValues; previousAttributes(): AttributesValues; - readonly changed: AttributesValues; + get changed(): AttributesValues; changedAttributes(diff?: {}): boolean | {}; hasChanged(key?: string): boolean; previous(key: string): any; @@ -47,7 +47,8 @@ export declare class Model extends Transactional implements IOModel, AttributesC clear(options?: any): this; getOwner(): Owner; idAttribute: string; - id: string; + get id(): string; + set id(x: string); Attributes: AttributesConstructor; AttributesCopy: AttributesCopyConstructor; defaults(values?: {}): {}; @@ -59,7 +60,7 @@ export declare class Model extends Transactional implements IOModel, AttributesC toJSON(options?: TransactionOptions): any; parse(data: any, options?: TransactionOptions): any; deepSet(name: string, value: any, options?: any): this; - readonly collection: any; + get collection(): any; dispose(): void; getClassName(): string; forceAttributeChange: (key: string, options: TransactionOptions) => void; diff --git a/models/lib/model/model.js b/models/lib/model/model.js index 038f8af5..0187b3c4 100644 --- a/models/lib/model/model.js +++ b/models/lib/model/model.js @@ -40,7 +40,7 @@ var Model = (function (_super) { return _a = {}, _a[_this.prototype.idAttribute] = x, _a; }); }, - enumerable: true, + enumerable: false, configurable: true }); Model.extendAttrs = function (attrs) { @@ -53,13 +53,13 @@ var Model = (function (_super) { get: function () { return this._attributes$ || (this._attributes$ = new this.__Attributes$(this)); }, - enumerable: true, + enumerable: false, configurable: true }); Model.prototype.previousAttributes = function () { return new this.AttributesCopy(this._previousAttributes); }; Object.defineProperty(Model.prototype, "__inner_state__", { get: function () { return this.attributes; }, - enumerable: true, + enumerable: false, configurable: true }); Object.defineProperty(Model.prototype, "changed", { @@ -80,7 +80,7 @@ var Model = (function (_super) { } return changed; }, - enumerable: true, + enumerable: false, configurable: true }); Model.prototype.changedAttributes = function (diff) { @@ -137,7 +137,7 @@ var Model = (function (_super) { Object.defineProperty(Model.prototype, "id", { get: function () { return this.attributes[this.idAttribute]; }, set: function (x) { setAttribute(this, this.idAttribute, x); }, - enumerable: true, + enumerable: false, configurable: true }); Model.prototype.defaults = function (values) { @@ -233,7 +233,7 @@ var Model = (function (_super) { get: function () { return this._ownerKey ? null : this._owner; }, - enumerable: true, + enumerable: false, configurable: true }); Model.prototype.dispose = function () { @@ -322,7 +322,7 @@ function typeCheck(record, values, options) { for (var name_3 in values) { if (!_attributes[name_3]) { unknown || (unknown = []); - unknown.push("'" + name_3 + "'"); + unknown.push("'".concat(name_3, "'")); } } if (unknown) { diff --git a/models/lib/model/model.js.map b/models/lib/model/model.js.map index 15e924f8..e72a7a5a 100644 --- a/models/lib/model/model.js.map +++ b/models/lib/model/model.js.map @@ -1 +1 @@ -{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model/model.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/model/updates.d.ts b/models/lib/model/updates.d.ts index 82b4554b..492a0cad 100644 --- a/models/lib/model/updates.d.ts +++ b/models/lib/model/updates.d.ts @@ -6,8 +6,8 @@ export interface ConstructorsMixin { export interface ConstructorOptions extends TransactionOptions { clone?: boolean; } -export declare type AttributesConstructor = new (record: AttributesContainer, values: object, options: TransactionOptions) => AttributesValues; -export declare type AttributesCopyConstructor = new (values: object) => AttributesValues; +export type AttributesConstructor = new (record: AttributesContainer, values: object, options: TransactionOptions) => AttributesValues; +export type AttributesCopyConstructor = new (values: object) => AttributesValues; export interface AttributesContainer extends Transactional, Owner, ConstructorsMixin { attributes: AttributesValues; } diff --git a/models/lib/model/updates.js b/models/lib/model/updates.js index 0cca77ee..384b0802 100644 --- a/models/lib/model/updates.js +++ b/models/lib/model/updates.js @@ -58,7 +58,7 @@ export var UpdateModelMixin = { } else { unknown || (unknown = []); - unknown.push("'" + name_1 + "'"); + unknown.push("'".concat(name_1, "'")); } } if (unknown) { @@ -76,18 +76,18 @@ export var UpdateModelMixin = { } }; export function unknownAttrsWarning(record, unknown, props, options) { - record._log('warn', 'Type-R:UnknownAttrs', "undefined attributes " + unknown.join(', ') + " are ignored.", props, options.logger); + record._log('warn', 'Type-R:UnknownAttrs', "undefined attributes ".concat(unknown.join(', '), " are ignored."), props, options.logger); } export function constructorsMixin(attrDefs) { var attrs = Object.keys(attrDefs); - var AttributesCopy = new Function('values', "\n " + attrs.map(function (attr) { return "\n this." + attr + " = values." + attr + ";\n "; }).join('') + "\n "); + var AttributesCopy = new Function('values', "\n ".concat(attrs.map(function (attr) { return "\n this.".concat(attr, " = values.").concat(attr, ";\n "); }).join(''), "\n ")); AttributesCopy.prototype = Object.prototype; - var Attributes = new Function('record', 'values', 'options', "\n var _attrs = record._attributes;\n\n " + attrs.map(function (attr) { return "\n this." + attr + " = _attrs." + attr + ".doInit( values." + attr + ", record, options );\n "; }).join('') + "\n "); + var Attributes = new Function('record', 'values', 'options', "\n var _attrs = record._attributes;\n\n ".concat(attrs.map(function (attr) { return "\n this.".concat(attr, " = _attrs.").concat(attr, ".doInit( values.").concat(attr, ", record, options );\n "); }).join(''), "\n ")); Attributes.prototype = Object.prototype; return { Attributes: Attributes, AttributesCopy: AttributesCopy }; } export function shouldBeAnObject(record, values, options) { - if (values && values.constructor === Object) + if (Object.prototype.toString.call(values) === '[object Object]') return true; record._log('error', 'Type-R:InvalidObject', 'update with non-object is ignored!', { values: values }, options.logger); return false; diff --git a/models/lib/model/updates.js.map b/models/lib/model/updates.js.map index 3f1fb754..673f0c14 100644 --- a/models/lib/model/updates.js.map +++ b/models/lib/model/updates.js.map @@ -1 +1 @@ -{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/model/updates.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"updates.js","sourceRoot":"","sources":["../../src/model/updates.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/relations/commons.d.ts b/models/lib/relations/commons.d.ts index 2780009a..1be980bd 100644 --- a/models/lib/relations/commons.d.ts +++ b/models/lib/relations/commons.d.ts @@ -1,4 +1,4 @@ import { Collection } from '../collection'; import { Model } from '../model'; -export declare type CollectionReference = (() => Collection) | Collection | string; +export type CollectionReference = (() => Collection) | Collection | string; export declare function parseReference(collectionRef: CollectionReference): (root: Model) => Collection; diff --git a/models/lib/relations/commons.js.map b/models/lib/relations/commons.js.map index 6352878c..36361bc1 100644 --- a/models/lib/relations/commons.js.map +++ b/models/lib/relations/commons.js.map @@ -1 +1 @@ -{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../src/relations/commons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,UAAU,cAAc,CAAE,aAAmC;IAC/D,QAAQ,OAAO,aAAa,EAAE;QAC1B,KAAK,UAAU;YACX,OAAO,UAAA,IAAI,IAAI,OAAM,aAAc,CAAC,IAAI,CAAE,IAAI,CAAE,EAAjC,CAAiC,CAAC;QACrD,KAAK,QAAQ;YACT,OAAO,cAAM,OAAY,aAAa,EAAzB,CAAyB,CAAC;QAC3C,KAAK,QAAQ;YACD,IAAA,sDAAO,CAAoD;YACnE,OAAO,OAAO,CAAC;KACtB;AACL,CAAC"} \ No newline at end of file +{"version":3,"file":"commons.js","sourceRoot":"","sources":["../../src/relations/commons.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAKnD,MAAM,UAAU,cAAc,CAAE,aAAmC;IAC/D,QAAQ,OAAO,aAAa,EAAE,CAAC;QAC3B,KAAK,UAAU;YACX,OAAO,UAAA,IAAI,IAAI,OAAM,aAAc,CAAC,IAAI,CAAE,IAAI,CAAE,EAAjC,CAAiC,CAAC;QACrD,KAAK,QAAQ;YACT,OAAO,cAAM,OAAY,aAAa,EAAzB,CAAyB,CAAC;QAC3C,KAAK,QAAQ;YACD,IAAA,OAAO,GAAK,IAAI,iBAAiB,CAAU,aAAa,CAAE,QAAnD,CAAoD;YACnE,OAAO,OAAO,CAAC;IACvB,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/models/lib/relations/from.js.map b/models/lib/relations/from.js.map index 5cb575ab..4991f231 100644 --- a/models/lib/relations/from.js.map +++ b/models/lib/relations/from.js.map @@ -1 +1 @@ -{"version":3,"file":"from.js","sourceRoot":"","sources":["../../src/relations/from.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAuB,cAAc,EAAE,MAAM,WAAW,CAAC;AAgBhE;IAA2B,gCAAO;IAAlC;;IAqBA,CAAC;IAnBG,6BAAM,GAAN,UAAQ,KAAqB;QACzB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IAGD,4BAAK,GAAL,UAAO,KAAqB;QACxB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IAGD,gCAAS,GAAT,UAAW,CAAiB,EAAE,CAAiB;QAC3C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAU,CAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAE,CAAC,EAAE,CAAE,EACxD,GAAG,GAAG,CAAC,IAAI,CAAU,CAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAE,CAAC,EAAE,CAAE,CAAC;QAE7D,OAAO,GAAG,KAAK,GAAG,CAAC;IACvB,CAAC;IAGD,+BAAQ,GAAR,UAAU,KAAK,EAAE,KAAK,EAAE,IAAI,IAAG,CAAC;IACpC,mBAAC;AAAD,CAAC,AArBD,CAA2B,OAAO,GAqBjC;AAED,SAAS,WAAW,CAAuC,gBAAsC,EAAE,CAAM;IACrG,IAAM,mBAAmB,GAAG,cAAc,CAAE,gBAAgB,CAAE,CAAC;IAE/D,IAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAI;QAC3C,KAAK,EAAG,IAAI;QACZ,SAAS,EAAG,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,QAAQ;SACV,GAAG,CAAE,UAAU,OAAuB,EAAE,IAAa;QAClD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAG,OAAO,OAAO,CAAC;QAGjD,IAAM,UAAU,GAAG,mBAAmB,CAAE,IAAI,CAAE,CAAC;QAC/C,IAAM,MAAM,GAAW,IAAI,CAAC;QAG5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE;YAEjC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAE,OAAO,CAAE,IAAI,IAAI,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAE,IAAI,CAAE,GAAG,MAAM,CAAC;YAGjC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAE,IAAI,CAAE,CAAC,YAAY,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAE,CAAC;SAC7E;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;AACX,CAAC;AAED,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,CAAA;AAQhC,KAAc,CAAC,QAAQ,GAAG,WAAW,CAAC"} \ No newline at end of file +{"version":3,"file":"from.js","sourceRoot":"","sources":["../../src/relations/from.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAuB,cAAc,EAAE,MAAM,WAAW,CAAC;AAgBhE;IAA2B,gCAAO;IAAlC;;IAqBA,CAAC;IAnBG,6BAAM,GAAN,UAAQ,KAAqB;QACzB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IAGD,4BAAK,GAAL,UAAO,KAAqB;QACxB,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IAGD,gCAAS,GAAT,UAAW,CAAiB,EAAE,CAAiB;QAC3C,IAAI,GAAG,GAAG,CAAC,IAAI,CAAU,CAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAE,CAAC,EAAE,CAAE,EACxD,GAAG,GAAG,CAAC,IAAI,CAAU,CAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAS,CAAE,CAAC,EAAE,CAAE,CAAC;QAE7D,OAAO,GAAG,KAAK,GAAG,CAAC;IACvB,CAAC;IAGD,+BAAQ,GAAR,UAAU,KAAK,EAAE,KAAK,EAAE,IAAI,IAAG,CAAC;IACpC,mBAAC;AAAD,CAAC,AArBD,CAA2B,OAAO,GAqBjC;AAED,SAAS,WAAW,CAAuC,gBAAsC,EAAE,CAAM;IACrG,IAAM,mBAAmB,GAAG,cAAc,CAAE,gBAAgB,CAAE,CAAC;IAE/D,IAAM,QAAQ,GAAG,IAAI,sBAAsB,CAAI;QAC3C,KAAK,EAAG,IAAI;QACZ,SAAS,EAAG,YAAY;KAC3B,CAAC,CAAC;IAEH,OAAO,QAAQ;SACV,GAAG,CAAE,UAAU,OAAuB,EAAE,IAAa;QAClD,IAAI,OAAO,OAAO,KAAK,QAAQ;YAAG,OAAO,OAAO,CAAC;QAGjD,IAAM,UAAU,GAAG,mBAAmB,CAAE,IAAI,CAAE,CAAC;QAC/C,IAAM,MAAM,GAAW,IAAI,CAAC;QAG5B,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YAElC,MAAM,GAAG,UAAU,CAAC,GAAG,CAAE,OAAO,CAAE,IAAI,IAAI,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAE,IAAI,CAAE,GAAG,MAAM,CAAC;YAGjC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAE,IAAI,CAAE,CAAC,YAAY,CAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAE,CAAC;QAC9E,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC,CAAC;AACX,CAAC;AAED,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,CAAA;AAQhC,KAAc,CAAC,QAAQ,GAAG,WAAW,CAAC"} \ No newline at end of file diff --git a/models/lib/relations/store.d.ts b/models/lib/relations/store.d.ts index afb93176..be4db0a1 100644 --- a/models/lib/relations/store.d.ts +++ b/models/lib/relations/store.d.ts @@ -2,5 +2,6 @@ import { Model } from '../model'; export declare class Store extends Model { getStore(): Store; get(name: string): any; - static global: Store; + static get global(): Store; + static set global(store: Store); } diff --git a/models/lib/relations/store.js b/models/lib/relations/store.js index 97d71926..5c5096f1 100644 --- a/models/lib/relations/store.js +++ b/models/lib/relations/store.js @@ -22,7 +22,7 @@ var Store = (function (_super) { } Transactional.prototype._defaultStore = _store = store; }, - enumerable: true, + enumerable: false, configurable: true }); return Store; diff --git a/models/lib/relations/store.js.map b/models/lib/relations/store.js.map index e7c8c143..64c05950 100644 --- a/models/lib/relations/store.js.map +++ b/models/lib/relations/store.js.map @@ -1 +1 @@ -{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/relations/store.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,IAAI,MAAM,GAAW,IAAI,CAAC;AAE1B;IAA2B,yBAAK;IAAhC;;IAuBA,CAAC;IAtBG,wBAAQ,GAAR,cAAqB,OAAO,IAAI,CAAC,CAAC,CAAC;IAGnC,mBAAG,GAAH,UAAK,IAAa;QAEd,IAAI,KAAK,GAAG,IAAI,CAAE,IAAI,CAAE,CAAC;QAGzB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa;YAAG,OAAO,KAAK,CAAC;QAGxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC;IAClF,CAAC;IAED,sBAAW,eAAM;aAAjB,cAAqB,OAAO,MAAM,CAAC,CAAC,CAAC;aACrC,UAAmB,KAAa;YAC5B,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,OAAO,EAAE,CAAC;aAClB;YAED,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;QAC3D,CAAC;;;OAPoC;IAQzC,YAAC;AAAD,CAAC,AAvBD,CAA2B,KAAK,GAuB/B;;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC"} \ No newline at end of file +{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/relations/store.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,IAAI,MAAM,GAAW,IAAI,CAAC;AAE1B;IAA2B,yBAAK;IAAhC;;IAuBA,CAAC;IAtBG,wBAAQ,GAAR,cAAqB,OAAO,IAAI,CAAC,CAAC,CAAC;IAGnC,mBAAG,GAAH,UAAK,IAAa;QAEd,IAAI,KAAK,GAAG,IAAI,CAAE,IAAI,CAAE,CAAC;QAGzB,IAAI,KAAK,IAAI,IAAI,KAAK,IAAI,CAAC,aAAa;YAAG,OAAO,KAAK,CAAC;QAGxD,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAE,IAAI,CAAE,CAAC;IAClF,CAAC;IAED,sBAAW,eAAM;aAAjB,cAAqB,OAAO,MAAM,CAAC,CAAC,CAAC;aACrC,UAAmB,KAAa;YAC5B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,CAAC;YAED,aAAa,CAAC,SAAS,CAAC,aAAa,GAAG,MAAM,GAAG,KAAK,CAAC;QAC3D,CAAC;;;OAPoC;IAQzC,YAAC;AAAD,CAAC,AAvBD,CAA2B,KAAK,GAuB/B;;AAED,KAAK,CAAC,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC"} \ No newline at end of file diff --git a/models/lib/relations/subsetOf.d.ts b/models/lib/relations/subsetOf.d.ts index 8bbba893..3137e263 100644 --- a/models/lib/relations/subsetOf.d.ts +++ b/models/lib/relations/subsetOf.d.ts @@ -2,7 +2,7 @@ import { Collection, CollectionConstructor, ElementsArg, CollectionOptions } fro import { ChainableAttributeSpec, Model } from '../model'; import { CollectionReference } from './commons'; export declare function subsetOf, R extends Model>(this: void, masterCollection: CollectionReference, T?: X): ChainableAttributeSpec>; -declare type subsetOfType = typeof subsetOf; +type subsetOfType = typeof subsetOf; declare module "../collection" { namespace Collection { const subsetOf: subsetOfType; diff --git a/models/lib/relations/subsetOf.js b/models/lib/relations/subsetOf.js index 0d841eb3..7bcac4d6 100644 --- a/models/lib/relations/subsetOf.js +++ b/models/lib/relations/subsetOf.js @@ -29,7 +29,7 @@ function defineSubsetCollection(CollectionClass) { } Object.defineProperty(SubsetOfCollection.prototype, "__inner_state__", { get: function () { return this.refs || this.models; }, - enumerable: true, + enumerable: false, configurable: true }); SubsetOfCollection.prototype.add = function (a_elements, options) { @@ -70,7 +70,7 @@ function defineSubsetCollection(CollectionClass) { get: function () { return this.models.length || (this.refs ? this.refs.length : 0); }, - enumerable: true, + enumerable: false, configurable: true }); SubsetOfCollection.prototype.clone = function (owner) { diff --git a/models/lib/relations/subsetOf.js.map b/models/lib/relations/subsetOf.js.map index b92b7d55..177d2444 100644 --- a/models/lib/relations/subsetOf.js.map +++ b/models/lib/relations/subsetOf.js.map @@ -1 +1 @@ -{"version":3,"file":"subsetOf.js","sourceRoot":"","sources":["../../src/relations/subsetOf.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"subsetOf.js","sourceRoot":"","sources":["../../src/relations/subsetOf.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/models/lib/transactions.d.ts b/models/lib/transactions.d.ts index a4fea605..a6519aa8 100644 --- a/models/lib/transactions.d.ts +++ b/models/lib/transactions.d.ts @@ -44,7 +44,7 @@ export declare abstract class Transactional implements Messenger, IONode, Valida getStore(): Transactional; hasPendingIO(): IOPromise; getEndpoint(): IOEndpoint; - readonly validationError: ValidationError; + get validationError(): ValidationError; validate(obj?: Transactional): any; getValidationError(key?: string): any; deepValidationError(reference: string): any; diff --git a/models/lib/transactions.js b/models/lib/transactions.js index 6d3ed02d..7865af6e 100644 --- a/models/lib/transactions.js +++ b/models/lib/transactions.js @@ -82,7 +82,7 @@ var Transactional = (function () { var obj = this.create(json, __assign(__assign({}, options), { logger: strict ? throwingLogger : void 0 })); if (strict && obj.validationError) { obj.eachValidationError(function (error, key, obj) { - throw new Error(obj.getClassName() + "." + key + ": " + error); + throw new Error("".concat(obj.getClassName(), ".").concat(key, ": ").concat(error)); }); } return obj; @@ -107,7 +107,7 @@ var Transactional = (function () { var error = this._validationError || (this._validationError = new ValidationError(this)); return error.length ? error : null; }, - enumerable: true, + enumerable: false, configurable: true }); Transactional.prototype.validate = function (obj) { }; diff --git a/models/lib/transactions.js.map b/models/lib/transactions.js.map index 772e4ce2..7cdbd758 100644 --- a/models/lib/transactions.js.map +++ b/models/lib/transactions.js.map @@ -1 +1 @@ -{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"transactions.js","sourceRoot":"","sources":["../src/transactions.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAiC,MAAM,YAAY,CAAC;AACpE,OAAO,EAAkB,MAAM,EAAE,WAAW,EAAE,SAAS,EAAoB,SAAS,EAAwC,UAAU,EAAE,MAAM,EAAe,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACrM,OAAO,EAAE,gBAAgB,EAAe,MAAM,eAAe,CAAC;AAC9D,OAAO,EAA+B,eAAe,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEnC,IAAA,QAAQ,GAAc,SAAS,SAAvB,EAAE,EAAE,GAAU,SAAS,GAAnB,EAAE,GAAG,GAAK,SAAS,IAAd,CAAe;AAYxC,MAAM,CAAN,IAAY,aAIX;AAJD,WAAY,aAAa;IACrB,mDAAoB,CAAA;IACpB,qDAAoB,CAAA;IACpB,6DAAoB,CAAA;AACxB,CAAC,EAJW,aAAa,KAAb,aAAa,QAIxB;AAUD,MAAM,CAAC,IAAM,YAAY,GAAG,cAAc,CAAC;AAC3C,MAAM,CAAC,IAAM,YAAY,GAAG,eAAe,CAAC;AAS5C;IAgGI,uBAAa,GAAqB;QA5ClC,iBAAY,GAAQ,EAAE,CAAA;QAItB,iBAAY,GAAa,KAAK,CAAC;QAI/B,aAAQ,GAAyB,IAAI,CAAC;QAItC,WAAM,GAAW,KAAK,CAAC,CAAC;QAKxB,cAAS,GAAY,KAAK,CAAC,CAAC;QAmJ5B,qBAAgB,GAAqB,KAAK,CAAC,CAAA;QAvHvC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;IACpC,CAAC;sBAlGiB,aAAa;IAYxB,sBAAQ,GAAf,UAAiB,WAAqC,EAAE,SAAgC;QACpF,IAAI,WAAW,CAAC,QAAQ;YAAG,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,QAAQ,CAAC;QAC3E,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAE,IAAI,EAAE,WAAW,EAAE,SAAS,CAAE,CAAC;IAC5D,CAAC;IAAA,CAAC;IAEK,sBAAQ,GAAf,UAAiB,SAAgC;QAE7C,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAG,CAAC;YACpC,IAAI,CAAC,MAAM,GAAG,eAAa,CAAC,MAAM,CAAC;QACvC,CAAC;IACL,CAAC;IAGM,oBAAM,GAAb,UAA2D,CAAQ,EAAE,CAAQ;QACzE,OAAO,IAAK,IAAY,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;IACrC,CAAC;IAUD,+BAAO,GAAP;QACI,IAAI,IAAI,CAAC,SAAS;YAAG,OAAO;QAE5B,OAAO,CAAE,IAAI,CAAE,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QACxB,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAgCD,iCAAS,GAAT,UAAW,OAAkB,EAAE,MAAmB;QAC9C,EAAE,CAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAE,CAAC;IACvD,CAAC;IAKD,kCAAU,GAAV,UAAY,OAAmB,EAAE,MAAmB;QAChD,GAAG,CAAE,IAAI,EAAE,IAAI,CAAC,gBAAgB,EAAE,OAAO,EAAE,MAAM,CAAE,CAAC;IACxD,CAAC;IAKD,uCAAe,GAAf,UAAiB,MAAsB,EAAE,OAAO;QAC5C,IAAI,CAAC,QAAQ,CAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,OAAO,CAAE,CAAC;IAC9D,CAAC;IAUD,mCAAW,GAAX,UAAa,GAA6B,EAAE,OAAiC;QAAjC,wBAAA,EAAA,YAAiC;QACzE,IAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAE,IAAI,CAAE,CAAC;QAC5C,IAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAE,IAAI,EAAE,IAAI,CAAE,CAAC;QACtC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAE,MAAM,CAAE,CAAC;QAC7B,MAAM,IAAI,cAAc,CAAC,MAAM,CAAE,IAAI,CAAE,CAAC;IAC5C,CAAC;IAGD,kCAAU,GAAV,UAAY,QAAyD;QAArE,iBAiBC;QAfG,IAAM,MAAM,GAAG,QAAQ,YAAY,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC;QAGtE,IAAI,CAAC,WAAW,CAAE;YACd,KAAI,CAAC,GAAG,CAAI,MAAc,CAAC,eAAe,IAAI,MAAM,EAAE,EAAE,KAAK,EAAG,IAAI,EAAE,CAAE,CAAC;YAGjE,IAAA,YAAY,GAAK,MAAa,aAAlB,CAAmB;YAEvC,IAAI,YAAY,EAAE,CAAC;gBACf,KAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACrC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;IAGM,kBAAI,GAAX,UAAmE,IAAU,EAAE,EAAyE;QAAzE,mBAAA,EAAA,OAAyE;QAAvE,IAAA,MAAM,YAAA,EAAK,OAAO,cAApB,UAAsB,CAAF;QAC/F,IAAM,GAAG,GAAqB,IAAa,CAAC,MAAM,CAAE,IAAI,wBAAO,OAAO,KAAE,MAAM,EAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAEtH,IAAI,MAAM,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;YAChC,GAAG,CAAC,mBAAmB,CAAE,UAAE,KAAK,EAAE,GAAG,EAAE,GAAG;gBACtC,MAAM,IAAI,KAAK,CAAE,UAAI,GAAG,CAAC,YAAY,EAAE,cAAM,GAAG,eAAO,KAAK,CAAG,CAAE,CAAC;YACtE,CAAC,CAAC,CAAC;QACP,CAAC;QAED,OAAO,GAAU,CAAC;IACtB,CAAC;IAaD,6BAAK,GAAL,UAAO,IAAU,EAAE,OAA6B,IAAW,OAAO,IAAI,CAAA,CAAC,CAAC;IAaxE,+BAAO,GAAP,UAAS,SAAkB;QACvB,OAAO,gBAAgB,CAAE,IAAI,EAAE,SAAS,EAAE,UAAE,MAAM,EAAE,GAAG,IAAM,OAAA,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,MAAM,CAAE,GAAG,CAAE,EAA9C,CAA8C,CAAE,CAAC;IAClH,CAAC;IAKD,gCAAQ,GAAR;QACI,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAOD,gCAAQ,GAAR;QACY,IAAA,MAAM,GAAK,IAAI,OAAT,CAAU;QACxB,OAAO,MAAM,CAAC,CAAC,CAAiB,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC;IAC3E,CAAC;IAeD,oCAAY,GAAZ,cAAmC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAI5D,mCAAW,GAAX;QACI,OAAO,gBAAgB,CAAE,IAAI,CAAE,IAAI,IAAI,CAAC,SAAS,CAAC;IACtD,CAAC;IAWD,sBAAI,0CAAe;aAAnB;YACI,IAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,IAAI,CAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,eAAe,CAAE,IAAI,CAAE,CAAE,CAAC;YAC/F,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACvC,CAAC;;;OAAA;IAOD,gCAAQ,GAAR,UAAU,GAAoB,IAAU,CAAC;IAGzC,0CAAkB,GAAlB,UAAoB,GAAa;QAC7B,IAAI,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACjC,OAAO,CAAE,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAE,GAAG,CAAE,CAAC,CAAC,CAAC,KAAK,CAAE,IAAI,IAAI,CAAC;IAClE,CAAC;IAGD,2CAAmB,GAAnB,UAAqB,SAAkB;QACnC,OAAO,gBAAgB,CAAE,IAAI,EAAE,SAAS,EAAE,UAAE,MAAM,EAAE,GAAG,IAAM,OAAA,MAAM,CAAC,kBAAkB,CAAE,GAAG,CAAE,EAAhC,CAAgC,CAAE,CAAC;IACpG,CAAC;IAGD,2CAAmB,GAAnB,UAAqB,QAAwE;QACjF,IAAA,eAAe,GAAK,IAAI,gBAAT,CAAU;QACjC,eAAe,IAAI,eAAe,CAAC,SAAS,CAAE,QAAQ,EAAE,IAAI,CAAE,CAAC;IACnE,CAAC;IAGD,+BAAO,GAAP,UAAS,GAAa;QAClB,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAE,GAAG,CAAE,CAAC;IAC3C,CAAC;IAED,+BAAO,GAAP,cAAqB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACvC,gCAAQ,GAAR,cAAY,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAG9B,oCAAY,GAAZ;QACY,IAAA,IAAI,GAAU,IAAI,CAAC,WAAW,KAA1B,CAA2B;QACvC,IAAI,IAAI,KAAK,UAAU;YAAG,OAAO,IAAI,CAAC;IAC1C,CAAC;;IApQiB,aAAa;QALlC,MAAM;QACN,WAAW,CAAC;YACT,QAAQ,EAAG,UAAU,CAAC,KAAK;SAC9B,CAAC;QACD,MAAM,CAAE,SAAS,CAAE;OACE,aAAa,CAyQlC;IAAD,oBAAC;CAAA,AAzQD,IAyQC;SAzQqB,aAAa;AAkVnC,MAAM,CAAC,IAAM,cAAc,GAAG;IAG1B,KAAK,YAAE,MAAsB;QACzB,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,MAAM,CAAC,YAAY,GAAG,IAAI,CAAE,CAAC;IACxE,CAAC;IAKD,WAAW,YAAE,MAAsB,EAAE,OAA4B;QAE7D,IAAM,KAAK,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9B,IAAI,KAAK;YAAG,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QAGtC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC;QAGzB,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;QAEjC,OAAO,KAAK,CAAC;IACjB,CAAC;IAKD,MAAM,YAAE,MAAsB,EAAE,SAA0B;QACtD,IAAI,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC;QAEtC,IAAI,eAAe,EAAE,CAAC;YAElB,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,IAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAChC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACvB,QAAQ,CAAE,MAAM,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAE,CAAC;YAC5E,CAAC;YAGD,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;YAGpB,IAAA,MAAM,GAAK,MAAM,OAAX,CAAY;YAC1B,IAAI,MAAM,IAAI,MAAM,KAAW,SAAS,EAAE,CAAC;gBACvC,MAAM,CAAC,iBAAiB,CAAE,MAAM,EAAE,eAAe,CAAE,CAAC;YACxD,CAAC;QACL,CAAC;aACG,CAAC;YAED,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;QAChC,CAAC;IACL,CAAC;IAQD,MAAM,YAAE,KAAa,EAAE,KAAqB,EAAE,GAAa;QACvD,IAAI,KAAK,CAAC,MAAM;YAAG,MAAM,IAAI,cAAc,CAAE,kEAAkE,CAAE,CAAC;QAElH,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;QACrB,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC;IAC1B,CAAC;IAID,IAAI,YAAE,KAAa,EAAE,KAAqB;QACtC,IAAI,KAAK,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YACzB,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,CAAC;YACtB,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC;QAC7B,CAAC;IACL,CAAC;CACJ,CAAA;AAED,SAAS,gBAAgB,CAAE,IAAoB;IAEnC,IAAA,UAAU,GAAK,IAAW,WAAhB,CAAiB;IACnC,IAAI,UAAU,EAAE,CAAC;QACb,OAAO,gBAAgB,CAAE,UAAU,CAAE,CAAC;IAC1C,CAAC;IAGD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACN,IAAA,UAAU,GAAK,IAAI,CAAC,MAAa,WAAvB,CAAwB;QAC1C,OAAO,UAAU,IAAI,UAAU,CAAE,IAAI,CAAC,SAAS,CAAE,CAAC;IACtD,CAAC;AACL,CAAC"} \ No newline at end of file diff --git a/models/lib/traversable.d.ts b/models/lib/traversable.d.ts index 88d38ebf..24c6d625 100644 --- a/models/lib/traversable.d.ts +++ b/models/lib/traversable.d.ts @@ -3,7 +3,7 @@ export interface Traversable { getOwner(): Traversable; get(key: string): any; } -export declare type ResolveReference = (root: Traversable) => any; +export type ResolveReference = (root: Traversable) => any; export declare class CompiledReference { resolve: ResolveReference; tail: string; diff --git a/models/lib/traversable.js b/models/lib/traversable.js index 8dda18b1..45fcb22e 100644 --- a/models/lib/traversable.js +++ b/models/lib/traversable.js @@ -8,14 +8,14 @@ var CompiledReference = (function () { if (key === '^' || key === 'owner') return 'getOwner()'; if (key[0] === '~') - return "getStore().get(\"" + key.substr(1) + "\")"; + return "getStore().get(\"".concat(key.substr(1), "\")"); if (key.indexOf('store.') === 0) - return "getStore().get(\"" + key.substr(6) + "\")"; + return "getStore().get(\"".concat(key.substr(6), "\")"); return key; }); this.tail = splitTail && path.pop(); this.local = !path.length; - this.resolve = new Function('self', "\n var v = self." + path.shift() + ";\n \n " + path.map(function (x) { return "\n v = v && v." + x + ";\n "; }).join('') + "\n\n return v;\n "); + this.resolve = new Function('self', "\n var v = self.".concat(path.shift(), ";\n \n ").concat(path.map(function (x) { return "\n v = v && v.".concat(x, ";\n "); }).join(''), "\n\n return v;\n ")); } return CompiledReference; }()); diff --git a/models/lib/traversable.js.map b/models/lib/traversable.js.map index 3c553fd7..a974620c 100644 --- a/models/lib/traversable.js.map +++ b/models/lib/traversable.js.map @@ -1 +1 @@ -{"version":3,"file":"traversable.js","sourceRoot":"","sources":["../src/traversable.ts"],"names":[],"mappings":"AASA,IAAM,aAAa,GAAI,4BAA4B,CAAC;AAKpD;IAKI,2BAAa,SAAkB,EAAE,SAA2B;QAA3B,0BAAA,EAAA,iBAA2B;QACxD,IAAM,IAAI,GAAG,SAAS;aACL,KAAK,CAAE,aAAa,CAAE;aACtB,GAAG,CAAE,UAAA,GAAG;YACL,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO;gBAAG,OAAO,YAAY,CAAC;YAEzD,IAAI,GAAG,CAAE,CAAC,CAAE,KAAK,GAAG;gBAAG,OAAO,sBAAoB,GAAG,CAAC,MAAM,CAAE,CAAC,CAAE,QAAK,CAAC;YAEvE,IAAI,GAAG,CAAC,OAAO,CAAE,QAAQ,CAAE,KAAK,CAAC;gBAAG,OAAO,sBAAoB,GAAG,CAAC,MAAM,CAAE,CAAC,CAAE,QAAK,CAAC;YAEpF,OAAO,GAAG,CAAC;QACf,CAAC,CAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAS,IAAI,QAAQ,CAAE,MAAM,EAAE,gCACvB,IAAI,CAAC,KAAK,EAAE,oDAEzB,IAAI,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,kCACA,CAAC,oBAClB,EAFiB,CAEjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,wCAGd,CAAE,CAAC;IACR,CAAC;IACL,wBAAC;AAAD,CAAC,AA/BD,IA+BC;;AAED,MAAM,UAAU,gBAAgB,CAAE,IAAkB,EAAE,SAAkB,EAAE,MAAwC;IAC9G,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAE,aAAa,CAAE,EACvC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7B,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAM,GAAG,GAAG,IAAI,CAAE,CAAC,CAAE,CAAC;QACtB,QAAQ,GAAG,EAAE;YACT,KAAK,GAAG;gBAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACzC,KAAK,GAAG;gBAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACzC,OAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAC;SACrC;QAGD,IAAI,CAAC,IAAI;YAAG,OAAO;KACtB;IAED,OAAO,MAAM,CAAE,IAAI,EAAE,IAAI,CAAE,IAAI,CAAE,CAAE,CAAC;AACxC,CAAC"} \ No newline at end of file +{"version":3,"file":"traversable.js","sourceRoot":"","sources":["../src/traversable.ts"],"names":[],"mappings":"AASA,IAAM,aAAa,GAAI,4BAA4B,CAAC;AAKpD;IAKI,2BAAa,SAAkB,EAAE,SAA2B;QAA3B,0BAAA,EAAA,iBAA2B;QACxD,IAAM,IAAI,GAAG,SAAS;aACL,KAAK,CAAE,aAAa,CAAE;aACtB,GAAG,CAAE,UAAA,GAAG;YACL,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,OAAO;gBAAG,OAAO,YAAY,CAAC;YAEzD,IAAI,GAAG,CAAE,CAAC,CAAE,KAAK,GAAG;gBAAG,OAAO,2BAAoB,GAAG,CAAC,MAAM,CAAE,CAAC,CAAE,QAAK,CAAC;YAEvE,IAAI,GAAG,CAAC,OAAO,CAAE,QAAQ,CAAE,KAAK,CAAC;gBAAG,OAAO,2BAAoB,GAAG,CAAC,MAAM,CAAE,CAAC,CAAE,QAAK,CAAC;YAEpF,OAAO,GAAG,CAAC;QACf,CAAC,CAAE,CAAC;QAEpB,IAAI,CAAC,IAAI,GAAG,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;QAE1B,IAAI,CAAC,OAAO,GAAS,IAAI,QAAQ,CAAE,MAAM,EAAE,qCACvB,IAAI,CAAC,KAAK,EAAE,yDAEzB,IAAI,CAAC,GAAG,CAAE,UAAA,CAAC,IAAI,OAAA,uCACA,CAAC,oBAClB,EAFiB,CAEjB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,wCAGd,CAAE,CAAC;IACR,CAAC;IACL,wBAAC;AAAD,CAAC,AA/BD,IA+BC;;AAED,MAAM,UAAU,gBAAgB,CAAE,IAAkB,EAAE,SAAkB,EAAE,MAAwC;IAC9G,IAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAE,aAAa,CAAE,EACvC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IAE7B,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAM,GAAG,GAAG,IAAI,CAAE,CAAC,CAAE,CAAC;QACtB,QAAQ,GAAG,EAAE,CAAC;YACV,KAAK,GAAG;gBAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACzC,KAAK,GAAG;gBAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,MAAM;YACzC,OAAS,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAE,CAAC;QACtC,CAAC;QAGD,IAAI,CAAC,IAAI;YAAG,OAAO;IACvB,CAAC;IAED,OAAO,MAAM,CAAE,IAAI,EAAE,IAAI,CAAE,IAAI,CAAE,CAAE,CAAC;AACxC,CAAC"} \ No newline at end of file diff --git a/models/lib/validation.js.map b/models/lib/validation.js.map index a8cc1f7f..c5e176ed 100644 --- a/models/lib/validation.js.map +++ b/models/lib/validation.js.map @@ -1 +1 @@ -{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAaA;IAQI,yBAAa,GAAiB;QAC1B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,eAAe,CAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAE,CAAC;QAEtD,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAE,GAAG,CAAE,EAAE;YAClC,IAAI,CAAC,MAAM,EAAE,CAAC;SACjB;IACL,CAAC;IAED,8BAAI,GAAJ,UAAM,QAAgD;QAC5C,IAAA,SAAwB,EAAtB,gBAAK,EAAE,kBAAe,CAAC;QAE/B,IAAI,KAAK;YAAG,QAAQ,CAAE,KAAK,EAAE,IAAI,CAAE,CAAC;QAEpC,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE;YACtB,QAAQ,CAAE,MAAM,CAAE,GAAG,CAAE,EAAE,GAAG,CAAE,CAAC;SAClC;IACL,CAAC;IAED,mCAAS,GAAT,UAAW,QAAsE,EAAE,MAAoB;QACnG,IAAI,CAAC,IAAI,CAAE,UAAE,KAAW,EAAE,GAAY;YAClC,IAAI,KAAK,YAAY,eAAe,EAAE;gBAChB,KAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAE,GAAG,CAAE,CAAE,CAAC;aACrE;iBACG;gBACA,QAAQ,CAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAE,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACL,sBAAC;AAAD,CAAC,AApCD,IAoCC"} \ No newline at end of file +{"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAaA;IAQI,yBAAa,GAAiB;QAC1B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,eAAe,CAAE,IAAI,CAAC,MAAM,GAAG,EAAE,CAAE,CAAC;QAEtD,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAE,GAAG,CAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClB,CAAC;IACL,CAAC;IAED,8BAAI,GAAJ,UAAM,QAAgD;QAC5C,IAAA,KAAoB,IAAI,EAAtB,KAAK,WAAA,EAAE,MAAM,YAAS,CAAC;QAE/B,IAAI,KAAK;YAAG,QAAQ,CAAE,KAAK,EAAE,IAAI,CAAE,CAAC;QAEpC,KAAK,IAAM,GAAG,IAAI,MAAM,EAAE,CAAC;YACvB,QAAQ,CAAE,MAAM,CAAE,GAAG,CAAE,EAAE,GAAG,CAAE,CAAC;QACnC,CAAC;IACL,CAAC;IAED,mCAAS,GAAT,UAAW,QAAsE,EAAE,MAAoB;QACnG,IAAI,CAAC,IAAI,CAAE,UAAE,KAAW,EAAE,GAAY;YAClC,IAAI,KAAK,YAAY,eAAe,EAAE,CAAC;gBACjB,KAAM,CAAC,SAAS,CAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAE,GAAG,CAAE,CAAE,CAAC;YACtE,CAAC;iBACG,CAAC;gBACD,QAAQ,CAAE,KAAK,EAAE,GAAG,EAAE,MAAM,CAAE,CAAC;YACnC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IACL,sBAAC;AAAD,CAAC,AApCD,IAoCC"} \ No newline at end of file diff --git a/models/package.json b/models/package.json index 6464e3c4..6304e1b5 100644 --- a/models/package.json +++ b/models/package.json @@ -1,6 +1,6 @@ { "name": "@type-r/models", - "version": "4.1.0", + "version": "4.1.1", "description": "The serializable type system for JS and TypeScript", "main": "./dist/index.js", "jsnext:main": "./lib/index.js", @@ -57,5 +57,13 @@ "@linked/value": "^3.1.3", "@type-r/mixture": "^4.0.7", "tslib": "^1.10.0" + }, + "devDependencies": { + "rimraf": "^2.6.3", + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" } } diff --git a/models/src/collection/index.ts b/models/src/collection/index.ts index 029ae451..acf27947 100644 --- a/models/src/collection/index.ts +++ b/models/src/collection/index.ts @@ -70,7 +70,7 @@ export class Collection< R extends Model = Model> extends Transactional implemen static of( Ctor : M ) : CollectionOf { return typeof Ctor === 'function' ? Ctor.Collection as any : - attributes( Ctor ).Collection; + attributes( Ctor ).Collection as any; } /** diff --git a/models/src/model/linked-attrs.ts b/models/src/model/linked-attrs.ts index 3976ef09..8ef10bb0 100644 --- a/models/src/model/linked-attrs.ts +++ b/models/src/model/linked-attrs.ts @@ -51,18 +51,18 @@ export class LinkedAttr extends Linked { _error : any - get error(){ - return this._error || ( this._error = this.model.getValidationError( this.attr ) ); - } - - set error( x : any ){ - this._error = x; - } - // Attribute's descriptor. get descriptor(){ return this.model._attributes[ this.attr ]; } } -Object.defineProperty( LinkedAttr.prototype, '_changeToken', { value : null } ); \ No newline at end of file +Object.defineProperty( LinkedAttr.prototype, '_changeToken', { value : null } ); +Object.defineProperty( LinkedAttr.prototype, 'error', { + get : function(){ + return this._error || ( this._error = this.model.getValidationError( this.attr ) ); + }, + set : function( x : any ){ + this._error = x; + } +}); diff --git a/models/src/model/updates.ts b/models/src/model/updates.ts index 6c43234b..19ceac4b 100644 --- a/models/src/model/updates.ts +++ b/models/src/model/updates.ts @@ -197,7 +197,7 @@ export function constructorsMixin( attrDefs : AttributesDescriptors ) : Construc } export function shouldBeAnObject( record : AttributesContainer, values : object, options ){ - if( values && values.constructor === Object ) return true; + if( Object.prototype.toString.call( values ) === '[object Object]' ) return true; record._log( 'error', 'Type-R:InvalidObject', 'update with non-object is ignored!', { values }, options.logger ); return false; @@ -230,4 +230,4 @@ export class ModelTransaction implements Transaction { this.isRoot && commit( object, initiator ); } -} \ No newline at end of file +} diff --git a/models/src/transactions.ts b/models/src/transactions.ts index 739dfe9f..8aebf929 100644 --- a/models/src/transactions.ts +++ b/models/src/transactions.ts @@ -71,7 +71,7 @@ export abstract class Transactional implements Messenger, IONode, Validatable, T // State accessor. /** @internal */ - readonly __inner_state__ : any; + abstract get __inner_state__() : any; // Shared modifier (used by collections of shared models) /** @internal */ diff --git a/models/tsconfig.json b/models/tsconfig.json index d8186a01..8f3ae575 100644 --- a/models/tsconfig.json +++ b/models/tsconfig.json @@ -1,9 +1,10 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib", }, "include":[ "./src/index.ts" ] -} \ No newline at end of file +} diff --git a/package.json b/package.json index c7dcbddc..52500a51 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "scripts": { "build": "yarn && yarn build:all && yarn test", - "build:all": "yarn workspaces run build", + "build:all": "yarn workspace @type-r/mixture build && yarn workspace @type-r/models build && yarn workspace @type-r/ext-types build && yarn workspace @type-r/globals build && yarn workspace @type-r/endpoints build && yarn workspace @type-r/react build && yarn workspace @type-r/tests build && yarn workspace @type-r/docs build", "test": "yarn workspace @type-r/tests test" }, "devDependencies": { @@ -24,6 +24,6 @@ "rollup-plugin-paths": "*", "rollup-plugin-sourcemaps": "*", "rollup-plugin-uglify": "*", - "typescript": "~3.6.0" + "typescript": "6.0.3" } } diff --git a/react/dist/index.js b/react/dist/index.js index 37a4f913..19efb3ee 100644 --- a/react/dist/index.js +++ b/react/dist/index.js @@ -1,2 +1,2 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("@type-r/models")):"function"==typeof define&&define.amd?define(["exports","react","@type-r/models"],e):e((t=t||self).Nested={},t.React,t.Nested)}(this,function(r,c,s){"use strict";var f="default"in c?c.default:c,n=l(function(t){return new i(new t)});function t(t){var e=n(t.constructor);return c.useEffect(function(){e.assignFrom(t),e[s.defaultStore]=t.getStore()},[t._changeToken]),e}function e(n,r){void 0===r&&(r=1e3);var o=t(n);return c.useEffect(function(){var t;function e(){t&&clearTimeout(t),t=setTimeout(function(){n.assignFrom(o),t=null},r)}return o.on("change",e),function(){o.off("change",e),t&&(clearTimeout(t),n.assignFrom(o))}},[]),o}n.copy=t,n.delayChanges=e;function o(t){return new i(t.createSubset([]))}var u={of:l(function(t){return new i(new(s.Collection.of(t)))}),ofRefs:l(function(t){return new i(new(s.Collection.ofRefs(t)))}),subsetOf:function(e){var t=c.useReducer(p,e,o),n=t[0],r=t[1];return c.useEffect(function(){var t=n.value;t.resolvedWith||t.resolve(e)},[Boolean(e.models.length)]),c.useEffect(function(){return n._onChildrenChange=function(t){return r(t)},function(){return n.value.dispose()}},h),n.value}},i=(a.prototype.getStore=function(){return this.value._defaultStore},a);function a(t){this.value=t,this._onChildrenChange=void 0,this._changeToken=t._changeToken,t._owner=this,t._ownerKey||(t._ownerKey="reactState")}function p(t){if(t._changeToken===t.value._changeToken)return t;var e=new i(t.value);return e._onChildrenChange=t._onChildrenChange,e}function l(o){return function(t){var e=c.useReducer(p,t,o),n=e[0],r=e[1];return c.useEffect(function(){return n._onChildrenChange=function(t){return r(t)},function(){return n.value.dispose()}},h),n.value}}var h=[];var v=[];function y(){return c.useReducer(d,null)[1]}function d(t,e){return e._changeToken}var g=function(t,e){return(g=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n])})(t,e)};function k(t,e){function n(){this.constructor=t}g(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var _=function(){return(_=Object.assign||function(t){for(var e,n=1,r=arguments.length;n( Ctor : M ) : InstanceType\r\n copy : typeof useModelCopy\r\n delayChanges : typeof useDelayChanges\r\n} = mutableHook( Model => new Mutable( new Model ) );\r\n\r\nexport function useModelCopy( model : M ) : M {\r\n const local = useModel( model.constructor as any );\r\n\r\n useEffect( () => {\r\n local.assignFrom( model );\r\n local[defaultStore] = model.getStore();\r\n }, [ ( model as any )._changeToken ] );\r\n\r\n return local;\r\n}\r\n\r\nuseModel.copy = useModelCopy;\r\nuseModel.delayChanges = useDelayChanges\r\n\r\n/**\r\n * Copy the model to the local state, copy the changes back with a given delay.\r\n * Frequent changes coming within the delay will be throttled.\r\n * An alternative performance optimization for large forms.\r\n * @param model \r\n * @param delay \r\n */\r\nexport function useDelayChanges( model : M, delay = 1000 ) : M {\r\n const local = useModelCopy( model );\r\n\r\n useEffect( () => {\r\n let timeout;\r\n\r\n function onChange(){\r\n if( timeout ){\r\n clearTimeout( timeout );\r\n }\r\n\r\n // Schedule the model update after timeout.\r\n timeout = setTimeout( () => {\r\n model.assignFrom( local );\r\n timeout = null;\r\n }, delay );\r\n }\r\n\r\n local.on( 'change', onChange );\r\n\r\n return () => {\r\n local.off( 'change', onChange );\r\n \r\n // If there's an update scheduled, apply it immediately.\r\n if( timeout ){\r\n clearTimeout( timeout );\r\n model.assignFrom( local );\r\n }\r\n }\r\n }, [] );\r\n\r\n return local;\r\n}\r\n\r\nexport interface CollectionHooks {\r\n of( Ctor : M ) : Collection>\r\n ofRefs( Ctor : M ) : Collection>\r\n subsetOf( init : Collection ) : SubsetCollection\r\n}\r\n\r\n\r\nconst createSubsetOf = collection => new Mutable( collection.createSubset([]) );\r\n\r\nexport const useCollection : CollectionHooks = {\r\n of : mutableHook( Model => new Mutable( new ( Collection.of( Model ) )() ) ),\r\n ofRefs : mutableHook( Model => new Mutable( new ( Collection.ofRefs( Model ) )() ) ),\r\n //subsetOf : mutableHook( collection => new Mutable( collection.createSubset([]) ) ),\r\n \r\n subsetOf( init : Collection ) : SubsetCollection {\r\n // Get the model instance.\r\n const [ mutable, forceUpdate ] = useReducer( mutableReducer, init, createSubsetOf );\r\n\r\n // TODO: mutable.store = useContext( Store )???\r\n \r\n // When master collection changes, resolve refs if they are not resolved yet.\r\n useEffect( () => {\r\n const coll = mutable.value as any;\r\n coll.resolvedWith || coll.resolve( init );\r\n }, [ Boolean( init.models.length ) ] )\r\n\r\n useEffect( () => {\r\n mutable._onChildrenChange = obj => forceUpdate( obj );\r\n return () => mutable.value.dispose();\r\n }, emptyArray );\r\n \r\n return mutable.value as any;\r\n }\r\n}\r\n\r\nclass Mutable {\r\n _onChildrenChange : Function = void 0\r\n _changeToken : object\r\n\r\n getStore(){\r\n return ( this.value as any )._defaultStore;\r\n }\r\n\r\n constructor(\r\n public value : Transactional\r\n ){\r\n this._changeToken = (value as any)._changeToken;\r\n (value as any)._owner = this;\r\n (value as any)._ownerKey || ( (value as any)._ownerKey = 'reactState' );\r\n }\r\n}\r\n\r\nfunction mutableReducer( mutable : Mutable ){\r\n // Suppress extra change events.\r\n if( mutable._changeToken === (mutable.value as any)._changeToken ) return mutable;\r\n\r\n const copy = new Mutable( mutable.value );\r\n copy._onChildrenChange = mutable._onChildrenChange;\r\n \r\n return copy;\r\n}\r\n\r\nfunction mutableHook( create : ( x : any ) => Mutable ) : any {\r\n return ( init : any ) : Transactional => {\r\n // Get the model instance.\r\n const [ mutable, forceUpdate ] = useReducer( mutableReducer, init, create );\r\n\r\n // TODO: mutable.store = useContext( Store )???\r\n \r\n useEffect( () => {\r\n mutable._onChildrenChange = obj => forceUpdate( obj );\r\n return () => mutable.value.dispose();\r\n }, emptyArray );\r\n \r\n return mutable.value as any;\r\n }\r\n}\r\n\r\nconst emptyArray = [];","import { useEffect, useReducer } from 'react'\r\nimport { Transactional } from '@type-r/models';\r\n\r\n// Force component update when some global model or collection change.\r\nexport function useChanges( instance : Transactional ){\r\n const forceUpdate = useForceUpdate();\r\n\r\n useEffect( () => {\r\n function onChange( x ){\r\n forceUpdate( x );\r\n }\r\n\r\n instance.onChanges( onChange );\r\n return () => instance.offChanges( onChange );\r\n }, emptyArray );\r\n}\r\n\r\nconst emptyArray = [];\r\n\r\nexport function useForceUpdate(){\r\n return useReducer( transactionalUpdate, null )[ 1 ];\r\n}\r\n\r\nfunction transactionalUpdate( _changeToken : object, modelOrCollection : Transactional ){\r\n return ( modelOrCollection as any )._changeToken;\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\r\n * Select appropriate helpers function for particular value type.\r\n */\r\nexport interface IterableLink {\r\n value : any\r\n at( key : number | string ) : any\r\n}\r\n\r\nexport type Iterator = ( link : any, key : string | number ) => any;\r\n\r\nexport interface Helper {\r\n map( link : IterableLink, iterator : Iterator ) : any[]\r\n clone( obj : any ) : any,\r\n remove( obj : any, key : string | number ) : any\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\nexport function helpers( value ) : Helper {\r\n if( value && typeof value === 'object' ){\r\n switch( Object.getPrototypeOf( value ) ){\r\n case ArrayProto : return arrayHelpers;\r\n case ObjectProto : return objectHelpers;\r\n }\r\n }\r\n\r\n return dummyHelpers;\r\n}\r\n\r\n// Do nothing for types other than Array and plain Object.\r\nconst dummyHelpers : Helper = {\r\n clone( value ){ return value; },\r\n map( link : IterableLink, fun ){ return []; },\r\n remove( value ){ return value; }\r\n};\r\n\r\n// `map` and `clone` for plain JS objects\r\nexport const objectHelpers : Helper = {\r\n // Map through the link to object\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n let mapped = [],\r\n { value } = link\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n const element = iterator( link.at( key ), key );\r\n element === void 0 || ( mapped.push( element ) ); \r\n }\r\n }\r\n\r\n return mapped;\r\n },\r\n\r\n remove( object : {}, key : string ) : {} {\r\n delete object[ key ];\r\n return object;\r\n },\r\n\r\n // Shallow clone plain JS object\r\n clone( object : {} ) : {} {\r\n return { ...object };\r\n }\r\n};\r\n\r\n// `map` and `clone` helpers for arrays.\r\nexport const arrayHelpers : Helper = {\r\n // Shallow clone array\r\n clone( array : any[] ) : any[] {\r\n return array.slice();\r\n },\r\n\r\n remove( array : any[], i : number ) : any[] {\r\n array.splice( i, 1 );\r\n return array;\r\n },\r\n\r\n // Map through the link to array\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n const length = link.value.length,\r\n mapped = Array( length );\r\n\r\n for( var i = 0, j = 0; i < length; i++ ){\r\n const y = iterator( link.at( i ), i );\r\n y === void 0 || ( mapped[ j++ ] = y );\r\n }\r\n\r\n mapped.length === j || ( mapped.length = j );\r\n\r\n return mapped;\r\n }\r\n};","/**\r\n * Advanced React links for purely functional two-way data binding\r\n *\r\n * MIT License, (c) 2016 Vlad Balin, Volicon.\r\n */\r\nimport { arrayHelpers, helpers } from './helpers';\r\n\r\nexport * from './helpers'\r\n\r\n/** \r\n * `Linked` class is an abstract linked value - the value, the function to update this value, and its validation error.\r\n * The enclosed value is considered as immutable.\r\n */ \r\nexport abstract class Linked{\r\n /** Validation error. Usually is a string with error text, but can hold any type. */ \r\n error : any = void 0\r\n \r\n /** Set linked value */ \r\n abstract set( x : T ) : void\r\n\r\n constructor( public value : T ){}\r\n\r\n /** EXPERIMENTAL: Support useRef interface. */ \r\n get current(){ return this.value; }\r\n set current( x : T ){ this.set( x ); }\r\n\r\n // Private accessor for whenChanged. Uniform with Type-R models and collections API.\r\n protected get _changeToken(){\r\n return this.value;\r\n }\r\n\r\n /** Produce the new link executing the given function before the link value will be updated. */\r\n onChange( handler : ( x : T ) => void ) : Linked {\r\n return new ClonedValueLink( this, ( x : T ) => {\r\n handler( x );\r\n this.set( x );\r\n });\r\n }\r\n\r\n /** Produce the new link which transform the value before `set` with a given function. */\r\n pipe( handler : Linked.Transform ) : Linked< T > {\r\n return new ClonedValueLink( this, x =>{\r\n const next = handler( x, this.value );\r\n next === void 0 || this.set( next );\r\n } );\r\n }\r\n\r\n /** \r\n * Create React component props for the component.\r\n * \r\n * \r\n */ \r\n get props() :\r\n T extends boolean ? { checked : boolean, onChange : ( e : any ) => void } :\r\n { value : T, onChange : ( e : any ) => void }\r\n {\r\n return typeof this.value === 'boolean' ? {\r\n checked : this.value,\r\n onChange : e => this.set( Boolean( e.target.checked ) as any )\r\n }:{\r\n value : this.value,\r\n onChange : e => this.set( e.target.value )\r\n } as any;\r\n }\r\n\r\n /** Update the linked value using given transform function. */ \r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const next = transform( this.clone(), e );\r\n next === void 0 || this.set( next );\r\n }\r\n\r\n // Create UI event handler function which will update the link with a given transform function.\r\n action( transform : Linked.Transform< T > ) : Linked.EventHandler {\r\n return e => this.update( transform, e );\r\n }\r\n\r\n equals( truthyValue : T ) : Linked {\r\n return new EqualsValueLink( this, truthyValue );\r\n }\r\n\r\n get true( this : Linked ){\r\n return () => this.set( true );\r\n }\r\n\r\n get false( this : Linked ){\r\n return () => this.set( false );\r\n }\r\n\r\n get null(){\r\n return () => this.set( null );\r\n }\r\n\r\n get isTruthy(){\r\n return this.value ? true : undefined;\r\n }\r\n\r\n enabled( defaultValue? : T ) : Linked {\r\n return new EnabledValueLink( this, defaultValue || \"\" );\r\n }\r\n\r\n // Array-only links methods\r\n contains( this : Linked, element : E ) : Linked{\r\n return new ContainsRef( this, element );\r\n }\r\n\r\n push( this : Linked, ...args : E[] ) : void;\r\n push(){\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.push.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n unshift( this : Linked, ...args : E[] ) : void;\r\n unshift() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.unshift.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n \r\n splice( this : Linked, start : number, deleteCount? : number ) : void;\r\n splice() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.splice.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n // Array and objects universal collection methods\r\n map( this : Linked, iterator : ( link : PropValueLink, idx : number ) => Z ) : Z[];\r\n map( this : Linked<{[ key : string ] : E }>, iterator : ( link : PropValueLink, idx : string ) => Z ) : Z[];\r\n map( iterator ) {\r\n return helpers( this.value ).map( this, iterator );\r\n }\r\n\r\n removeAt( this : Linked, key : number ) : void;\r\n removeAt( this : Linked<{ [ key : string ] : E }>, key : string ) : void;\r\n removeAt( key ){\r\n const { value } = this,\r\n _ = helpers( value );\r\n\r\n this.set( _.remove( _.clone( value ), key ) );\r\n }\r\n\r\n at( this : Linked, key : number ) : PropValueLink;\r\n at( key : K ) : PropValueLink;\r\n at( key ){\r\n return new PropValueLink( this, key );\r\n }\r\n\r\n clone() : T {\r\n let { value } = this;\r\n return helpers( value ).clone( value );\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links. Optionally filter by \r\n */\r\n pick< K extends keyof T >( ...keys : K[]) : {[ P in K ]: Linked}\r\n pick() {\r\n let links = {}, keys = arguments.length ? arguments : Object.keys( this.value );\r\n\r\n for( let i = 0; i < keys.length; i++ ){\r\n const key : string = keys[ i ];\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links.\r\n * Memorises the result, subsequent calls are cheap.\r\n */\r\n get $() : T extends object ? Linked.Hash : never {\r\n if( !this._value$ ){\r\n let links : Linked.Hash = this._value$ = {},\r\n { value } = this;\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n }\r\n }\r\n\r\n return this._value$ as any;\r\n }\r\n\r\n private _value$ : object\r\n\r\n /**\r\n * Validate link with validness predicate and optional custom error object. Can be chained.\r\n */\r\n check( whenValid : Linked.Validator, error? : any ) : this {\r\n if( !this.error && !whenValid( this.value ) ){\r\n this.error = error || whenValid.error || defaultError;\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n\r\nexport namespace Linked {\r\n export interface Validator< T >{\r\n ( value : T ) : boolean\r\n error? : any\r\n } \r\n\r\n export type Transform< T > = ( value : T, event? : {} ) => T\r\n export type EventHandler = ( event : {} ) => void\r\n\r\n export type Hash = {\r\n [K in keyof T] : Linked\r\n }\r\n\r\n /** Create linked value out of its value and the set function */ \r\n export function value( value : T, set : ( x : T ) => void ) : Linked{\r\n return new CustomValueLink( value, set );\r\n }\r\n\r\n export function mutable( state : T ) : Linked{\r\n return new CustomValueLink( state, x => {\r\n for( let key in x ){\r\n if( x.hasOwnProperty( key ) ){\r\n state[ key ] = x[ key ];\r\n }\r\n }\r\n } );\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link values.\r\n */\r\n export function getValues( links : Linked.Hash ) : T {\r\n return unwrap( links, 'value' ) as any;\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link errors.\r\n */\r\n export function getErrors( links : Linked.Hash ) : { [ name in keyof T ] : any } {\r\n return unwrap( links, 'error' ) as any;\r\n }\r\n\r\n /**\r\n * Return true if an object with links contains any errors.\r\n */\r\n export function hasErrors( links : Linked.Hash ) : boolean {\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) && links[ key ].error ){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Assing links with values from the source object.\r\n */\r\n export function setValues( links : Linked.Hash, source : T ) : void {\r\n if( source ){\r\n for( let key in links ){\r\n const sourceKey = trim( key );\r\n if( source.hasOwnProperty( sourceKey ) ){\r\n const sourceVal = source[ sourceKey ];\r\n sourceVal === void 0 || links[ key ].set( sourceVal );\r\n }\r\n } \r\n }\r\n }\r\n\r\n}\r\n\r\nclass CustomValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( value : T, set : ( x : T ) => void ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\nclass ClonedValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( parent : Linked< T >, set : ( x : T ) => void ){\r\n super( parent.value );\r\n this.set = set;\r\n\r\n const { error } = parent;\r\n if( error ) this.error = error;\r\n }\r\n}\r\n\r\nclass EqualsValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public truthyValue ){\r\n super( parent.value === truthyValue );\r\n }\r\n\r\n set( x : boolean ) : void {\r\n this.parent.set( x ? this.truthyValue : null );\r\n }\r\n}\r\n\r\nclass EnabledValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public defaultValue ){\r\n super( parent.value != null );\r\n }\r\n\r\n set( x : boolean ){\r\n this.parent.set( x ? this.defaultValue : null );\r\n }\r\n}\r\n\r\nclass ContainsRef extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public element : any ){\r\n super( parent.value.indexOf( element ) >= 0 );\r\n }\r\n\r\n set( x : boolean ){\r\n var next = Boolean( x );\r\n\r\n if( this.value !== next ){\r\n var arr : any[] = this.parent.value,\r\n nextValue = x ? arr.concat( this.element ) : arr.filter( el => el !== this.element );\r\n\r\n this.parent.set( nextValue );\r\n }\r\n }\r\n}\r\n\r\nconst defaultError = 'Invalid value';\r\n\r\n/**\r\n * Link to array or object element enclosed in parent link.\r\n * Performs purely functional update of the parent, shallow copying its value on `set`.\r\n */\r\nexport class PropValueLink< E, K > extends Linked< E > {\r\n constructor( private parent : Linked< any >, public key : K ){\r\n super( parent.value[ key ] );\r\n }\r\n\r\n remove(){\r\n this.parent.removeAt( this.key );\r\n }\r\n\r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n const prev = obj[ key ],\r\n next = transform( helpers( prev ).clone( prev ), e );\r\n\r\n if( next !== void 0 ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n } );\r\n }\r\n\r\n // Set new element value to parent array or object, performing purely functional update.\r\n set( next : E ) : void {\r\n /*\r\n this.update( prev => {\r\n if( prev !== next ) return next\r\n })*/\r\n\r\n // A bit more efficient implementation.\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n if( obj[ key ] !== next ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n });\r\n\r\n \r\n };\r\n}\r\n\r\nfunction unwrap( links : Linked.Hash, field : string) : object {\r\n const values = {};\r\n\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) ){\r\n const value = links[ key ][ field ];\r\n if( value !== void 0 ){\r\n values[ trim( key ) ] = value;\r\n }\r\n }\r\n }\r\n\r\n return values;\r\n}\r\n\r\nfunction trim( key : string ){\r\n return key[ 0 ] === '$' ? key.slice( 1 ) : key;\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import * as React from 'react'\r\nimport { Linked } from '@linked/value'\r\n\r\nexport type LinksCache< S, X extends keyof S> = {\r\n [ K in X ] : Linked< S[ K ] >\r\n}\r\n\r\nexport interface DataBindingSource< S >{\r\n linkAt< K extends keyof S>( key : K ) : Linked< S[ K ] >\r\n linkAll( ...keys : K[] ) : LinksCache< S, K >\r\n $at< K extends keyof S>( key : K ) : Linked< S[ K ] >\r\n state$( ...keys : K[] ) : LinksCache< S, K >\r\n}\r\n\r\nexport abstract class LinkedComponent< P, S > extends React.Component< P, S > implements DataBindingSource< S > {\r\n links : LinksCache< S, keyof S > = null;\r\n\r\n // @deprecated use `this.$at( key )`\r\n linkAt( key : K ) : Linked{\r\n return this.$at( key );\r\n }\r\n\r\n // Get the link to the state member with the given key.\r\n $at( key : K ) : Linked{\r\n const value = this.state[ key ],\r\n cache = this.links || ( this.links = {} as any ),\r\n cached = cache[ key ];\r\n\r\n return cached && cached.value === value ?\r\n cached :\r\n cache[ key ] = new StateLink( this, key, value );\r\n }\r\n\r\n // @deprecated use `this.state$()`\r\n linkAll( ...keys : K[] ) : LinksCache< S, K >\r\n linkAll(){\r\n return this.state$.apply( this, arguments );\r\n }\r\n\r\n /**\r\n * Get the object with links to the elements of the component's state.\r\n * const state$ = this.state$();\r\n * \r\n * Get the links to the given list of state elements.\r\n * const state$ = this.state$( 'a', 'b', 'c' );\r\n */ \r\n state$( ...keys : K[] ) : LinksCache< S, K >;\r\n state$( ...args : ( keyof S )[] ){\r\n const { state } = this,\r\n cache = this.links || ( this.links = {} ),\r\n keys = args.length ? args : <( keyof S )[]>Object.keys( state );\r\n\r\n for( let key of keys ){\r\n const value = state[ key ],\r\n cached = cache[ key ];\r\n\r\n if( !cached || cached.value !== value ) {\r\n cache[ key ] = new StateLink( this, key, value );\r\n }\r\n }\r\n\r\n return cache;\r\n }\r\n}\r\n\r\nexport class StateLink< P, S, K extends keyof S > extends Linked< S[ K ] > {\r\n constructor( public component : LinkedComponent< P, S >, public key : K, value : S[ K ] ){\r\n super( value );\r\n }\r\n\r\n set( x : S[ K ] ) : void {\r\n const attrs = > {};\r\n attrs[ this.key ] = x;\r\n this.component.setState( attrs );\r\n }\r\n}","import { helpers, Linked } from '@linked/value';\r\nimport { useEffect, useRef, useState } from 'react';\r\n\r\n\r\nclass LinkedUseState extends Linked {\r\n // Set the component's state value.\r\n set( x : T | ( ( x : T ) => T ) ) : void {}\r\n\r\n update( fun : ( x : T, event? : Object ) => T, event? : Object ) : void {\r\n // update function must be overriden to use state set\r\n // ability to delay an update, and to preserve link.update semantic.\r\n this.set( x => {\r\n const value = helpers( x ).clone( x ),\r\n result = fun( value, event );\r\n\r\n return result === void 0 ? x : result;\r\n });\r\n }\r\n\r\n constructor(\r\n value : T,\r\n set : ( x : T | ( ( x : T ) => T ) ) => void\r\n ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\n/**\r\n * Create the ref to the local state.\r\n */\r\nexport function useLink( initialState : S | (() => S) ){\r\n const [ value, set ] = useState( initialState );\r\n return new LinkedUseState( value, set );\r\n}\r\n\r\nexport { useLink as useLinked, useSafeLink as useSafeLinked, useBoundLink as useSyncLinked, useSafeBoundLink as useSafeSyncLinked };\r\n\r\n/**\r\n * Create the link to the local state which is safe to set when component is unmounted.\r\n * Use this for the state which is set when async I/O is completed.\r\n */\r\nexport function useSafeLink( initialState : S | (() => S) ){\r\n const [ value, set ] = useState( initialState ),\r\n isMounted = useIsMountedRef();\r\n\r\n return new LinkedUseState( value, x => isMounted.current && set( x ) );\r\n}\r\n\r\n/**\r\n * Returns the ref which is true when component it mounted.\r\n */\r\nexport function useIsMountedRef(){\r\n const isMounted = useRef( true );\r\n \r\n useEffect( () => (\r\n () => isMounted.current = false\r\n ), []);\r\n\r\n return isMounted;\r\n}\r\n\r\n/**\r\n * Create the link to the local state which is bound to another \r\n * value or link in a single direction. When the source changes, the link changes too.\r\n */\r\nexport function useBoundLink( source : T | Linked) : Linked {\r\n const value = source instanceof Linked ? source.value : source,\r\n link = useLink( value );\r\n\r\n useEffect(() => link.set( value ), [ value ]);\r\n\r\n link.action\r\n return link;\r\n}\r\n\r\n/**\r\n * Create the safe link to the local state which is synchronized with another \r\n * value or link in a single direction.\r\n * When the source change, the linked state changes too.\r\n */\r\nexport function useSafeBoundLink( source : T | Linked ) : Linked {\r\n const value = source instanceof Linked ? source.value : source,\r\n link = useSafeLink( value );\r\n \r\n useEffect(() => link.set( value ), [ value ]);\r\n\r\n return link;\r\n}\r\n\r\n/**\r\n * Persists links in local storage under the given key. \r\n * Links will be loaded on component's mount, and saved on unmount.\r\n * @param key - string key for the localStorage entry.\r\n * @param state - links to persist wrapped in an object `{ lnk1, lnk2, ... }`\r\n */\r\nexport function useLocalStorage( key : string, state : Linked.Hash ){\r\n // save state to use on unmount...\r\n const stateRef = useRef();\r\n stateRef.current = state;\r\n\r\n useEffect(()=>{\r\n const savedData = JSON.parse( localStorage.getItem( key ) || '{}' );\r\n Linked.setValues( stateRef.current, savedData );\r\n\r\n return () =>{\r\n const dataToSave = Linked.getValues( stateRef.current );\r\n localStorage.setItem( key, JSON.stringify( dataToSave ) );\r\n }\r\n },[]);\r\n}\r\n\r\n/**\r\n * Wait for the promise (or async function) completion.\r\n * Execute operation once when mounted, returning:\r\n * - `false` while the I/O operation is pending;\r\n * - `true` if I/O is complete without exception;\r\n * - `exception` object if I/O promise failed.\r\n * \r\n * const isReady = useIO( async () => {\r\n * const data = await fetchData();\r\n * link.set( data );\r\n * });\r\n */\r\nexport function useIO( fun : () => Promise, condition : any[] = [] ) : boolean | any {\r\n // Counter of open I/O requests. If it's 0, I/O is completed.\r\n // Counter is needed to handle the situation when the next request\r\n // is issued before the previous one was completed.\r\n const $isReady = useSafeLink<[ number, any ]>( null );\r\n\r\n useEffect(()=>{\r\n // function in set instead of value to avoid race conditions with counter increment.\r\n $isReady.set( state => {\r\n const [ x, res ] = state || [ 0, null ];\r\n return [ x + 1, res ]\r\n });\r\n\r\n fun()\r\n .then( () => $isReady.set( ([ x, res ]) => [ x - 1, null ] ))\r\n .catch( e => $isReady.set( ([ x, res ]) => [ x - 1, e ] ))\r\n }, condition );\r\n\r\n // `null` is used to detect the first render when no requests issued yet,\r\n // but the I/O is not completed.\r\n const { value } = $isReady;\r\n return value === null || value[ 0 ] ? false : ( value[ 1 ] || true );\r\n}\r\n\r\n// Return an array of values to be used in useEffect hook.\r\nexport function whenChanged( ...objs : any[] ) : any[];\r\nexport function whenChanged( a, b, c, d ) : any[] {\r\n const { length } = arguments;\r\n switch( length ){\r\n case 1: return [ extractChangeToken( a ) ];\r\n case 2: return [ extractChangeToken( a ), extractChangeToken( b ) ];\r\n case 3: return [ extractChangeToken( a ), extractChangeToken( b ), extractChangeToken( c ) ];\r\n \r\n default:\r\n const array = [ extractChangeToken( a ), extractChangeToken( b ), extractChangeToken( c ), extractChangeToken( d ) ];\r\n \r\n for( let i = 4; i < length; i++ ){\r\n array.push( extractChangeToken( arguments[ i ] ) );\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n\r\nfunction extractChangeToken( x : any ){\r\n return x && x._changeToken !== void 0 ? x._changeToken : x;\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import React, { ComponentType, Component } from 'react'\r\nimport { InferAttrs, attributes, Transactional, Linked } from '@type-r/models';\r\n\r\n/**\r\n * Create the pure-render version of component\r\n * @param props props types definition using Type-R notation\r\n * @param React React component\r\n */\r\nexport function pureRenderProps( props : T, Comp : ComponentType> ) : ComponentType> {\r\n const { prototype } = attributes( props ),\r\n { _attributes } = prototype as any,\r\n keys = Object.keys( props );\r\n\r\n const createVector = new Function( `props`, `\r\n return [\r\n ${ keys.map( key =>\r\n propForType( _attributes[ key ].type, key )\r\n ).join( ', ')}\r\n ]\r\n `);\r\n\r\n const compareVector = new Function( `props`, `vector`,`\r\n return ${ keys.map( ( key, idx ) =>\r\n `vector[${idx}] !== ( ${propForType( _attributes[ key ].type, key )} )`\r\n ).join( ' || ')};\r\n `);\r\n\r\n class PureRenderWrapper extends Component> {\r\n private _vector : any[]\r\n\r\n constructor( props ){\r\n super( props );\r\n this._vector = createVector( this.props );\r\n }\r\n\r\n shouldComponentUpdate( nextProps ){\r\n return compareVector( nextProps, this._vector );\r\n }\r\n\r\n componentDidUpdate(){\r\n this._vector = createVector( this.props );\r\n }\r\n\r\n render(){\r\n return ;\r\n }\r\n }\r\n\r\n return PureRenderWrapper as any;\r\n}\r\n\r\nfunction propForType( type : Function, key : string ) : string {\r\n return type.prototype instanceof Transactional ? `props.${key} && props.${key}._changeToken` :\r\n type === Date ? `props.${key} && props.${key}.getTime()` :\r\n type === Linked ? `props.${key} && props.${key}.value` :\r\n `props.${key}`;\r\n}","import { useEffect } from 'react'\r\nimport { Messenger } from '@type-r/models'\r\n\r\nexport * from './state'\r\nexport * from './globalState'\r\nexport * from '@linked/react'\r\nexport * from './pureRender'\r\n\r\n/**\r\n * Listen to event sent my Messenger.trigger( event, a1, a2, ... )\r\n * @param source\r\n * @param event \r\n * @param handler\r\n */\r\nexport function useEvent( source : Messenger, event : string, handler : Function ){\r\n useEffect( () => {\r\n source.on( event, handler );\r\n\r\n return () => {\r\n source.off( event, handler );\r\n }\r\n }, [] );\r\n}"],"names":["useModel","mutableHook","Model","Mutable","useModelCopy","model","local","constructor","useEffect","assignFrom","defaultStore","getStore","_changeToken","useDelayChanges","delay","timeout","onChange","clearTimeout","setTimeout","on","off","copy","delayChanges","createSubsetOf","collection","createSubset","useCollection","of","Collection","ofRefs","subsetOf","init","_a","mutable","forceUpdate","coll","value","resolvedWith","resolve","Boolean","models","length","_onChildrenChange","obj","dispose","emptyArray","this","_defaultStore","_owner","_ownerKey","mutableReducer","create","useForceUpdate","useReducer","transactionalUpdate","modelOrCollection","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","prototype","__assign","assign","t","s","i","n","arguments","call","apply","ArrayProto","ObjectProto","helpers","getPrototypeOf","arrayHelpers","objectHelpers","dummyHelpers","Linked","clone","map","link","fun","remove","iterator","mapped","key","element","at","push","object","array","slice","splice","j","y","x","set","handler","ClonedValueLink","_this","next","checked","e","target","transform","update","truthyValue","EqualsValueLink","undefined","defaultValue","EnabledValueLink","ContainsRef","unshift","_","PropValueLink","links","keys","_value$","whenValid","error","defaultError","CustomValueLink","state","unwrap","source","sourceKey","trim","sourceVal","tslib_1.__extends","_super","parent","arr","nextValue","concat","filter","el","indexOf","removeAt","prev","field","values","React.Component","LinkedComponent","$at","cache","cached","StateLink","state$","_i","args","keys_1","attrs","component","setState","LinkedUseState","event","result","useLink","initialState","useSafeLink","isMounted","useIsMountedRef","current","useRef","useBoundLink","useSafeBoundLink","extractChangeToken","propForType","type","Transactional","Date","props","Comp","_attributes","createVector","Function","join","compareVector","idx","_vector","Component","PureRenderWrapper","nextProps","React","instance","onChanges","offChanges","condition","$isReady","then","catch","stateRef","savedData","JSON","parse","localStorage","getItem","setValues","dataToSave","getValues","setItem","stringify","a","c"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"index.js","sources":["../src/state.ts","../src/globalState.ts","../../node_modules/@linked/value/node_modules/tslib/tslib.es6.js","../../node_modules/@linked/value/src/helpers.ts","../../node_modules/@linked/value/src/index.ts","../../node_modules/@linked/react/node_modules/tslib/tslib.es6.js","../../node_modules/@linked/react/src/component.ts","../../node_modules/@linked/react/src/hooks.ts","../../node_modules/tslib/tslib.es6.js","../src/pureRender.tsx","../src/index.ts"],"sourcesContent":["import { useReducer, useRef, useEffect } from 'react'\nimport { Model, Collection, Transactional, defaultStore, SubsetCollection } from '@type-r/models'\n\nexport const useModel : {\n ( Ctor : M ) : InstanceType\n copy : typeof useModelCopy\n delayChanges : typeof useDelayChanges\n} = mutableHook( Model => new Mutable( new Model ) );\n\nexport function useModelCopy( model : M ) : M {\n const local = useModel( model.constructor as any );\n\n useEffect( () => {\n local.assignFrom( model );\n local[defaultStore] = model.getStore();\n }, [ ( model as any )._changeToken ] );\n\n return local;\n}\n\nuseModel.copy = useModelCopy;\nuseModel.delayChanges = useDelayChanges\n\n/**\n * Copy the model to the local state, copy the changes back with a given delay.\n * Frequent changes coming within the delay will be throttled.\n * An alternative performance optimization for large forms.\n * @param model \n * @param delay \n */\nexport function useDelayChanges( model : M, delay = 1000 ) : M {\n const local = useModelCopy( model );\n\n useEffect( () => {\n let timeout;\n\n function onChange(){\n if( timeout ){\n clearTimeout( timeout );\n }\n\n // Schedule the model update after timeout.\n timeout = setTimeout( () => {\n model.assignFrom( local );\n timeout = null;\n }, delay );\n }\n\n local.on( 'change', onChange );\n\n return () => {\n local.off( 'change', onChange );\n \n // If there's an update scheduled, apply it immediately.\n if( timeout ){\n clearTimeout( timeout );\n model.assignFrom( local );\n }\n }\n }, [] );\n\n return local;\n}\n\nexport interface CollectionHooks {\n of( Ctor : M ) : Collection>\n ofRefs( Ctor : M ) : Collection>\n subsetOf( init : Collection ) : SubsetCollection\n}\n\n\nconst createSubsetOf = collection => new Mutable( collection.createSubset([]) );\n\nexport const useCollection : CollectionHooks = {\n of : mutableHook( Model => new Mutable( new ( Collection.of( Model ) )() ) ),\n ofRefs : mutableHook( Model => new Mutable( new ( Collection.ofRefs( Model ) )() ) ),\n //subsetOf : mutableHook( collection => new Mutable( collection.createSubset([]) ) ),\n \n subsetOf( init : Collection ) : SubsetCollection {\n // Get the model instance.\n const [ mutable, forceUpdate ] = useReducer( mutableReducer, init, createSubsetOf );\n\n // TODO: mutable.store = useContext( Store )???\n \n // When master collection changes, resolve refs if they are not resolved yet.\n useEffect( () => {\n const coll = mutable.value as any;\n coll.resolvedWith || coll.resolve( init );\n }, [ Boolean( init.models.length ) ] )\n\n useEffect( () => {\n mutable._onChildrenChange = obj => forceUpdate( obj );\n return () => mutable.value.dispose();\n }, emptyArray );\n \n return mutable.value as any;\n }\n}\n\nclass Mutable {\n _onChildrenChange : Function = void 0\n _changeToken : object\n\n getStore(){\n return ( this.value as any )._defaultStore;\n }\n\n constructor(\n public value : Transactional\n ){\n this._changeToken = (value as any)._changeToken;\n (value as any)._owner = this;\n (value as any)._ownerKey || ( (value as any)._ownerKey = 'reactState' );\n }\n}\n\nfunction mutableReducer( mutable : Mutable ){\n // Suppress extra change events.\n if( mutable._changeToken === (mutable.value as any)._changeToken ) return mutable;\n\n const copy = new Mutable( mutable.value );\n copy._onChildrenChange = mutable._onChildrenChange;\n \n return copy;\n}\n\nfunction mutableHook( create : ( x : any ) => Mutable ) : any {\n return ( init : any ) : Transactional => {\n // Get the model instance.\n const [ mutable, forceUpdate ] = useReducer( mutableReducer, init, create );\n\n // TODO: mutable.store = useContext( Store )???\n \n useEffect( () => {\n mutable._onChildrenChange = obj => forceUpdate( obj );\n return () => mutable.value.dispose();\n }, emptyArray );\n \n return mutable.value as any;\n }\n}\n\nconst emptyArray = [];","import { useEffect, useReducer } from 'react'\nimport { Transactional } from '@type-r/models';\n\n// Force component update when some global model or collection change.\nexport function useChanges( instance : Transactional ){\n const forceUpdate = useForceUpdate();\n\n useEffect( () => {\n function onChange( x ){\n forceUpdate( x );\n }\n\n instance.onChanges( onChange );\n return () => instance.offChanges( onChange );\n }, emptyArray );\n}\n\nconst emptyArray = [];\n\nexport function useForceUpdate(){\n return useReducer( transactionalUpdate, null )[ 1 ];\n}\n\nfunction transactionalUpdate( _changeToken : object, modelOrCollection : Transactional ){\n return ( modelOrCollection as any )._changeToken;\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","/**\r\n * Select appropriate helpers function for particular value type.\r\n */\r\nexport interface IterableLink {\r\n value : any\r\n at( key : number | string ) : any\r\n}\r\n\r\nexport type Iterator = ( link : any, key : string | number ) => any;\r\n\r\nexport interface Helper {\r\n map( link : IterableLink, iterator : Iterator ) : any[]\r\n clone( obj : any ) : any,\r\n remove( obj : any, key : string | number ) : any\r\n}\r\n\r\nconst ArrayProto = Array.prototype,\r\n ObjectProto = Object.prototype;\r\n\r\nexport function helpers( value ) : Helper {\r\n if( value && typeof value === 'object' ){\r\n switch( Object.getPrototypeOf( value ) ){\r\n case ArrayProto : return arrayHelpers;\r\n case ObjectProto : return objectHelpers;\r\n }\r\n }\r\n\r\n return dummyHelpers;\r\n}\r\n\r\n// Do nothing for types other than Array and plain Object.\r\nconst dummyHelpers : Helper = {\r\n clone( value ){ return value; },\r\n map( link : IterableLink, fun ){ return []; },\r\n remove( value ){ return value; }\r\n};\r\n\r\n// `map` and `clone` for plain JS objects\r\nexport const objectHelpers : Helper = {\r\n // Map through the link to object\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n let mapped = [],\r\n { value } = link\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n const element = iterator( link.at( key ), key );\r\n element === void 0 || ( mapped.push( element ) ); \r\n }\r\n }\r\n\r\n return mapped;\r\n },\r\n\r\n remove( object : {}, key : string ) : {} {\r\n delete object[ key ];\r\n return object;\r\n },\r\n\r\n // Shallow clone plain JS object\r\n clone( object : {} ) : {} {\r\n return { ...object };\r\n }\r\n};\r\n\r\n// `map` and `clone` helpers for arrays.\r\nexport const arrayHelpers : Helper = {\r\n // Shallow clone array\r\n clone( array : any[] ) : any[] {\r\n return array.slice();\r\n },\r\n\r\n remove( array : any[], i : number ) : any[] {\r\n array.splice( i, 1 );\r\n return array;\r\n },\r\n\r\n // Map through the link to array\r\n map( link : IterableLink, iterator : Iterator ) : any[] {\r\n const length = link.value.length,\r\n mapped = Array( length );\r\n\r\n for( var i = 0, j = 0; i < length; i++ ){\r\n const y = iterator( link.at( i ), i );\r\n y === void 0 || ( mapped[ j++ ] = y );\r\n }\r\n\r\n mapped.length === j || ( mapped.length = j );\r\n\r\n return mapped;\r\n }\r\n};","/**\r\n * Advanced React links for purely functional two-way data binding\r\n *\r\n * MIT License, (c) 2016 Vlad Balin, Volicon.\r\n */\r\nimport { arrayHelpers, helpers } from './helpers';\r\n\r\nexport * from './helpers'\r\n\r\n/** \r\n * `Linked` class is an abstract linked value - the value, the function to update this value, and its validation error.\r\n * The enclosed value is considered as immutable.\r\n */ \r\nexport abstract class Linked{\r\n /** Validation error. Usually is a string with error text, but can hold any type. */ \r\n error : any = void 0\r\n \r\n /** Set linked value */ \r\n abstract set( x : T ) : void\r\n\r\n constructor( public value : T ){}\r\n\r\n /** EXPERIMENTAL: Support useRef interface. */ \r\n get current(){ return this.value; }\r\n set current( x : T ){ this.set( x ); }\r\n\r\n // Private accessor for whenChanged. Uniform with Type-R models and collections API.\r\n protected get _changeToken(){\r\n return this.value;\r\n }\r\n\r\n /** Produce the new link executing the given function before the link value will be updated. */\r\n onChange( handler : ( x : T ) => void ) : Linked {\r\n return new ClonedValueLink( this, ( x : T ) => {\r\n handler( x );\r\n this.set( x );\r\n });\r\n }\r\n\r\n /** Produce the new link which transform the value before `set` with a given function. */\r\n pipe( handler : Linked.Transform ) : Linked< T > {\r\n return new ClonedValueLink( this, x =>{\r\n const next = handler( x, this.value );\r\n next === void 0 || this.set( next );\r\n } );\r\n }\r\n\r\n /** \r\n * Create React component props for the component.\r\n * \r\n * \r\n */ \r\n get props() :\r\n T extends boolean ? { checked : boolean, onChange : ( e : any ) => void } :\r\n { value : T, onChange : ( e : any ) => void }\r\n {\r\n return typeof this.value === 'boolean' ? {\r\n checked : this.value,\r\n onChange : e => this.set( Boolean( e.target.checked ) as any )\r\n }:{\r\n value : this.value,\r\n onChange : e => this.set( e.target.value )\r\n } as any;\r\n }\r\n\r\n /** Update the linked value using given transform function. */ \r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const next = transform( this.clone(), e );\r\n next === void 0 || this.set( next );\r\n }\r\n\r\n // Create UI event handler function which will update the link with a given transform function.\r\n action( transform : Linked.Transform< T > ) : Linked.EventHandler {\r\n return e => this.update( transform, e );\r\n }\r\n\r\n equals( truthyValue : T ) : Linked {\r\n return new EqualsValueLink( this, truthyValue );\r\n }\r\n\r\n get true( this : Linked ){\r\n return () => this.set( true );\r\n }\r\n\r\n get false( this : Linked ){\r\n return () => this.set( false );\r\n }\r\n\r\n get null(){\r\n return () => this.set( null );\r\n }\r\n\r\n get isTruthy(){\r\n return this.value ? true : undefined;\r\n }\r\n\r\n enabled( defaultValue? : T ) : Linked {\r\n return new EnabledValueLink( this, defaultValue || \"\" );\r\n }\r\n\r\n // Array-only links methods\r\n contains( this : Linked, element : E ) : Linked{\r\n return new ContainsRef( this, element );\r\n }\r\n\r\n push( this : Linked, ...args : E[] ) : void;\r\n push(){\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.push.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n unshift( this : Linked, ...args : E[] ) : void;\r\n unshift() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.unshift.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n \r\n splice( this : Linked, start : number, deleteCount? : number ) : void;\r\n splice() : void {\r\n const array = arrayHelpers.clone( this.value );\r\n Array.prototype.splice.apply( array, arguments );\r\n this.set( array );\r\n }\r\n\r\n // Array and objects universal collection methods\r\n map( this : Linked, iterator : ( link : PropValueLink, idx : number ) => Z ) : Z[];\r\n map( this : Linked<{[ key : string ] : E }>, iterator : ( link : PropValueLink, idx : string ) => Z ) : Z[];\r\n map( iterator ) {\r\n return helpers( this.value ).map( this, iterator );\r\n }\r\n\r\n removeAt( this : Linked, key : number ) : void;\r\n removeAt( this : Linked<{ [ key : string ] : E }>, key : string ) : void;\r\n removeAt( key ){\r\n const { value } = this,\r\n _ = helpers( value );\r\n\r\n this.set( _.remove( _.clone( value ), key ) );\r\n }\r\n\r\n at( this : Linked, key : number ) : PropValueLink;\r\n at( key : K ) : PropValueLink;\r\n at( key ){\r\n return new PropValueLink( this, key );\r\n }\r\n\r\n clone() : T {\r\n let { value } = this;\r\n return helpers( value ).clone( value );\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links. Optionally filter by \r\n */\r\n pick< K extends keyof T >( ...keys : K[]) : {[ P in K ]: Linked}\r\n pick() {\r\n let links = {}, keys = arguments.length ? arguments : Object.keys( this.value );\r\n\r\n for( let i = 0; i < keys.length; i++ ){\r\n const key : string = keys[ i ];\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n\r\n return links;\r\n }\r\n\r\n /**\r\n * Convert link to object to the object of links.\r\n * Memorises the result, subsequent calls are cheap.\r\n */\r\n get $() : T extends object ? Linked.Hash : never {\r\n if( !this._value$ ){\r\n let links : Linked.Hash = this._value$ = {},\r\n { value } = this;\r\n\r\n for( let key in value ){\r\n if( value.hasOwnProperty( key ) ){\r\n links[ key ] = new PropValueLink( this, key );\r\n }\r\n }\r\n }\r\n\r\n return this._value$ as any;\r\n }\r\n\r\n private _value$ : object\r\n\r\n /**\r\n * Validate link with validness predicate and optional custom error object. Can be chained.\r\n */\r\n check( whenValid : Linked.Validator, error? : any ) : this {\r\n if( !this.error && !whenValid( this.value ) ){\r\n this.error = error || whenValid.error || defaultError;\r\n }\r\n\r\n return this;\r\n }\r\n}\r\n\r\nexport namespace Linked {\r\n export interface Validator< T >{\r\n ( value : T ) : boolean\r\n error? : any\r\n } \r\n\r\n export type Transform< T > = ( value : T, event? : {} ) => T\r\n export type EventHandler = ( event : {} ) => void\r\n\r\n export type Hash = {\r\n [K in keyof T] : Linked\r\n }\r\n\r\n /** Create linked value out of its value and the set function */ \r\n export function value( value : T, set : ( x : T ) => void ) : Linked{\r\n return new CustomValueLink( value, set );\r\n }\r\n\r\n export function mutable( state : T ) : Linked{\r\n return new CustomValueLink( state, x => {\r\n for( let key in x ){\r\n if( x.hasOwnProperty( key ) ){\r\n state[ key ] = x[ key ];\r\n }\r\n }\r\n } );\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link values.\r\n */\r\n export function getValues( links : Linked.Hash ) : T {\r\n return unwrap( links, 'value' ) as any;\r\n }\r\n\r\n /**\r\n * Unwrap object with links, returning an object of a similar shape filled with link errors.\r\n */\r\n export function getErrors( links : Linked.Hash ) : { [ name in keyof T ] : any } {\r\n return unwrap( links, 'error' ) as any;\r\n }\r\n\r\n /**\r\n * Return true if an object with links contains any errors.\r\n */\r\n export function hasErrors( links : Linked.Hash ) : boolean {\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) && links[ key ].error ){\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Assing links with values from the source object.\r\n */\r\n export function setValues( links : Linked.Hash, source : T ) : void {\r\n if( source ){\r\n for( let key in links ){\r\n const sourceKey = trim( key );\r\n if( source.hasOwnProperty( sourceKey ) ){\r\n const sourceVal = source[ sourceKey ];\r\n sourceVal === void 0 || links[ key ].set( sourceVal );\r\n }\r\n } \r\n }\r\n }\r\n\r\n}\r\n\r\nclass CustomValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( value : T, set : ( x : T ) => void ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\nclass ClonedValueLink< T > extends Linked< T > {\r\n set( x ){}\r\n\r\n constructor( parent : Linked< T >, set : ( x : T ) => void ){\r\n super( parent.value );\r\n this.set = set;\r\n\r\n const { error } = parent;\r\n if( error ) this.error = error;\r\n }\r\n}\r\n\r\nclass EqualsValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public truthyValue ){\r\n super( parent.value === truthyValue );\r\n }\r\n\r\n set( x : boolean ) : void {\r\n this.parent.set( x ? this.truthyValue : null );\r\n }\r\n}\r\n\r\nclass EnabledValueLink extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public defaultValue ){\r\n super( parent.value != null );\r\n }\r\n\r\n set( x : boolean ){\r\n this.parent.set( x ? this.defaultValue : null );\r\n }\r\n}\r\n\r\nclass ContainsRef extends Linked< boolean > {\r\n constructor( public parent : Linked< any >, public element : any ){\r\n super( parent.value.indexOf( element ) >= 0 );\r\n }\r\n\r\n set( x : boolean ){\r\n var next = Boolean( x );\r\n\r\n if( this.value !== next ){\r\n var arr : any[] = this.parent.value,\r\n nextValue = x ? arr.concat( this.element ) : arr.filter( el => el !== this.element );\r\n\r\n this.parent.set( nextValue );\r\n }\r\n }\r\n}\r\n\r\nconst defaultError = 'Invalid value';\r\n\r\n/**\r\n * Link to array or object element enclosed in parent link.\r\n * Performs purely functional update of the parent, shallow copying its value on `set`.\r\n */\r\nexport class PropValueLink< E, K > extends Linked< E > {\r\n constructor( private parent : Linked< any >, public key : K ){\r\n super( parent.value[ key ] );\r\n }\r\n\r\n remove(){\r\n this.parent.removeAt( this.key );\r\n }\r\n\r\n update( transform : Linked.Transform, e? : Object ) : void {\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n const prev = obj[ key ],\r\n next = transform( helpers( prev ).clone( prev ), e );\r\n\r\n if( next !== void 0 ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n } );\r\n }\r\n\r\n // Set new element value to parent array or object, performing purely functional update.\r\n set( next : E ) : void {\r\n /*\r\n this.update( prev => {\r\n if( prev !== next ) return next\r\n })*/\r\n\r\n // A bit more efficient implementation.\r\n const { key } = this;\r\n\r\n this.parent.update( obj => {\r\n if( obj[ key ] !== next ){\r\n obj[ key ] = next;\r\n return obj;\r\n }\r\n });\r\n\r\n \r\n };\r\n}\r\n\r\nfunction unwrap( links : Linked.Hash, field : string) : object {\r\n const values = {};\r\n\r\n for( let key in links ){\r\n if( links.hasOwnProperty( key ) ){\r\n const value = links[ key ][ field ];\r\n if( value !== void 0 ){\r\n values[ trim( key ) ] = value;\r\n }\r\n }\r\n }\r\n\r\n return values;\r\n}\r\n\r\nfunction trim( key : string ){\r\n return key[ 0 ] === '$' ? key.slice( 1 ) : key;\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator], i = 0;\r\n if (m) return m.call(o);\r\n return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n","import * as React from 'react'\r\nimport { Linked } from '@linked/value'\r\n\r\nexport type LinksCache< S, X extends keyof S> = {\r\n [ K in X ] : Linked< S[ K ] >\r\n}\r\n\r\nexport interface DataBindingSource< S >{\r\n linkAt< K extends keyof S>( key : K ) : Linked< S[ K ] >\r\n linkAll( ...keys : K[] ) : LinksCache< S, K >\r\n $at< K extends keyof S>( key : K ) : Linked< S[ K ] >\r\n state$( ...keys : K[] ) : LinksCache< S, K >\r\n}\r\n\r\nexport abstract class LinkedComponent< P, S > extends React.Component< P, S > implements DataBindingSource< S > {\r\n links : LinksCache< S, keyof S > = null;\r\n\r\n // @deprecated use `this.$at( key )`\r\n linkAt( key : K ) : Linked{\r\n return this.$at( key );\r\n }\r\n\r\n // Get the link to the state member with the given key.\r\n $at( key : K ) : Linked{\r\n const value = this.state[ key ],\r\n cache = this.links || ( this.links = {} as any ),\r\n cached = cache[ key ];\r\n\r\n return cached && cached.value === value ?\r\n cached :\r\n cache[ key ] = new StateLink( this, key, value );\r\n }\r\n\r\n // @deprecated use `this.state$()`\r\n linkAll( ...keys : K[] ) : LinksCache< S, K >\r\n linkAll(){\r\n return this.state$.apply( this, arguments );\r\n }\r\n\r\n /**\r\n * Get the object with links to the elements of the component's state.\r\n * const state$ = this.state$();\r\n * \r\n * Get the links to the given list of state elements.\r\n * const state$ = this.state$( 'a', 'b', 'c' );\r\n */ \r\n state$( ...keys : K[] ) : LinksCache< S, K >;\r\n state$( ...args : ( keyof S )[] ){\r\n const { state } = this,\r\n cache = this.links || ( this.links = {} ),\r\n keys = args.length ? args : <( keyof S )[]>Object.keys( state );\r\n\r\n for( let key of keys ){\r\n const value = state[ key ],\r\n cached = cache[ key ];\r\n\r\n if( !cached || cached.value !== value ) {\r\n cache[ key ] = new StateLink( this, key, value );\r\n }\r\n }\r\n\r\n return cache;\r\n }\r\n}\r\n\r\nexport class StateLink< P, S, K extends keyof S > extends Linked< S[ K ] > {\r\n constructor( public component : LinkedComponent< P, S >, public key : K, value : S[ K ] ){\r\n super( value );\r\n }\r\n\r\n set( x : S[ K ] ) : void {\r\n const attrs = > {};\r\n attrs[ this.key ] = x;\r\n this.component.setState( attrs );\r\n }\r\n}","import { helpers, Linked } from '@linked/value';\r\nimport { useEffect, useRef, useState } from 'react';\r\n\r\n\r\nclass LinkedUseState extends Linked {\r\n // Set the component's state value.\r\n set( x : T | ( ( x : T ) => T ) ) : void {}\r\n\r\n update( fun : ( x : T, event? : Object ) => T, event? : Object ) : void {\r\n // update function must be overriden to use state set\r\n // ability to delay an update, and to preserve link.update semantic.\r\n this.set( x => {\r\n const value = helpers( x ).clone( x ),\r\n result = fun( value, event );\r\n\r\n return result === void 0 ? x : result;\r\n });\r\n }\r\n\r\n constructor(\r\n value : T,\r\n set : ( x : T | ( ( x : T ) => T ) ) => void\r\n ){\r\n super( value );\r\n this.set = set;\r\n }\r\n}\r\n\r\n/**\r\n * Create the ref to the local state.\r\n */\r\nexport function useLink( initialState : S | (() => S) ){\r\n const [ value, set ] = useState( initialState );\r\n return new LinkedUseState( value, set );\r\n}\r\n\r\nexport { useLink as useLinked, useSafeLink as useSafeLinked, useBoundLink as useSyncLinked, useSafeBoundLink as useSafeSyncLinked };\r\n\r\n/**\r\n * Create the link to the local state which is safe to set when component is unmounted.\r\n * Use this for the state which is set when async I/O is completed.\r\n */\r\nexport function useSafeLink( initialState : S | (() => S) ){\r\n const [ value, set ] = useState( initialState ),\r\n isMounted = useIsMountedRef();\r\n\r\n return new LinkedUseState( value, x => isMounted.current && set( x ) );\r\n}\r\n\r\n/**\r\n * Returns the ref which is true when component it mounted.\r\n */\r\nexport function useIsMountedRef(){\r\n const isMounted = useRef( true );\r\n \r\n useEffect( () => (\r\n () => isMounted.current = false\r\n ), []);\r\n\r\n return isMounted;\r\n}\r\n\r\n/**\r\n * Create the link to the local state which is bound to another \r\n * value or link in a single direction. When the source changes, the link changes too.\r\n */\r\nexport function useBoundLink( source : T | Linked) : Linked {\r\n const value = source instanceof Linked ? source.value : source,\r\n link = useLink( value );\r\n\r\n useEffect(() => link.set( value ), [ value ]);\r\n\r\n link.action\r\n return link;\r\n}\r\n\r\n/**\r\n * Create the safe link to the local state which is synchronized with another \r\n * value or link in a single direction.\r\n * When the source change, the linked state changes too.\r\n */\r\nexport function useSafeBoundLink( source : T | Linked ) : Linked {\r\n const value = source instanceof Linked ? source.value : source,\r\n link = useSafeLink( value );\r\n \r\n useEffect(() => link.set( value ), [ value ]);\r\n\r\n return link;\r\n}\r\n\r\n/**\r\n * Persists links in local storage under the given key. \r\n * Links will be loaded on component's mount, and saved on unmount.\r\n * @param key - string key for the localStorage entry.\r\n * @param state - links to persist wrapped in an object `{ lnk1, lnk2, ... }`\r\n */\r\nexport function useLocalStorage( key : string, state : Linked.Hash ){\r\n // save state to use on unmount...\r\n const stateRef = useRef();\r\n stateRef.current = state;\r\n\r\n useEffect(()=>{\r\n const savedData = JSON.parse( localStorage.getItem( key ) || '{}' );\r\n Linked.setValues( stateRef.current, savedData );\r\n\r\n return () =>{\r\n const dataToSave = Linked.getValues( stateRef.current );\r\n localStorage.setItem( key, JSON.stringify( dataToSave ) );\r\n }\r\n },[]);\r\n}\r\n\r\n/**\r\n * Wait for the promise (or async function) completion.\r\n * Execute operation once when mounted, returning:\r\n * - `false` while the I/O operation is pending;\r\n * - `true` if I/O is complete without exception;\r\n * - `exception` object if I/O promise failed.\r\n * \r\n * const isReady = useIO( async () => {\r\n * const data = await fetchData();\r\n * link.set( data );\r\n * });\r\n */\r\nexport function useIO( fun : () => Promise, condition : any[] = [] ) : boolean | any {\r\n // Counter of open I/O requests. If it's 0, I/O is completed.\r\n // Counter is needed to handle the situation when the next request\r\n // is issued before the previous one was completed.\r\n const $isReady = useSafeLink<[ number, any ]>( null );\r\n\r\n useEffect(()=>{\r\n // function in set instead of value to avoid race conditions with counter increment.\r\n $isReady.set( state => {\r\n const [ x, res ] = state || [ 0, null ];\r\n return [ x + 1, res ]\r\n });\r\n\r\n fun()\r\n .then( () => $isReady.set( ([ x, res ]) => [ x - 1, null ] ))\r\n .catch( e => $isReady.set( ([ x, res ]) => [ x - 1, e ] ))\r\n }, condition );\r\n\r\n // `null` is used to detect the first render when no requests issued yet,\r\n // but the I/O is not completed.\r\n const { value } = $isReady;\r\n return value === null || value[ 0 ] ? false : ( value[ 1 ] || true );\r\n}\r\n\r\n// Return an array of values to be used in useEffect hook.\r\nexport function whenChanged( ...objs : any[] ) : any[];\r\nexport function whenChanged( a, b, c, d ) : any[] {\r\n const { length } = arguments;\r\n switch( length ){\r\n case 1: return [ extractChangeToken( a ) ];\r\n case 2: return [ extractChangeToken( a ), extractChangeToken( b ) ];\r\n case 3: return [ extractChangeToken( a ), extractChangeToken( b ), extractChangeToken( c ) ];\r\n \r\n default:\r\n const array = [ extractChangeToken( a ), extractChangeToken( b ), extractChangeToken( c ), extractChangeToken( d ) ];\r\n \r\n for( let i = 4; i < length; i++ ){\r\n array.push( extractChangeToken( arguments[ i ] ) );\r\n }\r\n\r\n return array;\r\n }\r\n}\r\n\r\nfunction extractChangeToken( x : any ){\r\n return x && x._changeToken !== void 0 ? x._changeToken : x;\r\n}","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import React, { ComponentType, Component } from 'react'\nimport { InferAttrs, attributes, Transactional, Linked } from '@type-r/models';\n\n/**\n * Create the pure-render version of component\n * @param props props types definition using Type-R notation\n * @param React React component\n */\nexport function pureRenderProps( props : T, Comp : ComponentType> ) : ComponentType> {\n const { prototype } = attributes( props ),\n { _attributes } = prototype as any,\n keys = Object.keys( props );\n\n const createVector = new Function( `props`, `\n return [\n ${ keys.map( key =>\n propForType( _attributes[ key ].type, key )\n ).join( ', ')}\n ]\n `);\n\n const compareVector = new Function( `props`, `vector`,`\n return ${ keys.map( ( key, idx ) =>\n `vector[${idx}] !== ( ${propForType( _attributes[ key ].type, key )} )`\n ).join( ' || ')};\n `);\n\n class PureRenderWrapper extends Component> {\n private _vector : any[]\n\n constructor( props ){\n super( props );\n this._vector = createVector( this.props );\n }\n\n shouldComponentUpdate( nextProps ){\n return compareVector( nextProps, this._vector );\n }\n\n componentDidUpdate(){\n this._vector = createVector( this.props );\n }\n\n render(){\n return ;\n }\n }\n\n return PureRenderWrapper as any;\n}\n\nfunction propForType( type : Function, key : string ) : string {\n return type.prototype instanceof Transactional ? `props.${key} && props.${key}._changeToken` :\n type === Date ? `props.${key} && props.${key}.getTime()` :\n type === Linked ? `props.${key} && props.${key}.value` :\n `props.${key}`;\n}","import { useEffect } from 'react'\nimport { Messenger } from '@type-r/models'\n\nexport * from './state'\nexport * from './globalState'\nexport * from '@linked/react'\nexport * from './pureRender'\n\n/**\n * Listen to event sent my Messenger.trigger( event, a1, a2, ... )\n * @param source\n * @param event \n * @param handler\n */\nexport function useEvent( source : Messenger, event : string, handler : Function ){\n useEffect( () => {\n source.on( event, handler );\n\n return () => {\n source.off( event, handler );\n }\n }, [] );\n}"],"names":["useModel","mutableHook","Model","Mutable","useModelCopy","model","local","constructor","useEffect","assignFrom","defaultStore","getStore","_changeToken","useDelayChanges","delay","timeout","onChange","clearTimeout","setTimeout","on","off","copy","delayChanges","createSubsetOf","collection","createSubset","useCollection","of","Collection","ofRefs","subsetOf","init","_a","useReducer","mutableReducer","mutable","forceUpdate","coll","value","resolvedWith","resolve","Boolean","models","length","_onChildrenChange","obj","dispose","emptyArray","this","_defaultStore","_owner","_ownerKey","create","useForceUpdate","transactionalUpdate","modelOrCollection","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","prototype","__assign","assign","t","s","i","n","arguments","call","apply","ArrayProto","ObjectProto","helpers","getPrototypeOf","arrayHelpers","objectHelpers","dummyHelpers","Linked","clone","map","link","fun","remove","iterator","mapped","key","element","at","push","object","array","slice","splice","j","y","x","set","handler","ClonedValueLink","_this","next","checked","e","target","transform","update","truthyValue","EqualsValueLink","undefined","defaultValue","EnabledValueLink","ContainsRef","unshift","_","PropValueLink","links","keys","_value$","whenValid","error","defaultError","CustomValueLink","state","unwrap","source","sourceKey","trim","sourceVal","tslib_1.__extends","_super","parent","arr","nextValue","concat","filter","el","indexOf","removeAt","prev","field","values","React.Component","LinkedComponent","$at","cache","cached","StateLink","state$","_i","args","keys_1","attrs","component","setState","LinkedUseState","event","result","useLink","initialState","useSafeLink","isMounted","useIsMountedRef","current","useRef","useBoundLink","useSafeBoundLink","extractChangeToken","propForType","type","Transactional","Date","props","Comp","_attributes","attributes","createVector","Function","join","compareVector","idx","_vector","Component","PureRenderWrapper","nextProps","React","instance","onChanges","offChanges","condition","$isReady","then","catch","stateRef","savedData","JSON","parse","localStorage","getItem","setValues","dataToSave","getValues","setItem","stringify","a","c"],"mappings":"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"} \ No newline at end of file diff --git a/react/lib/globalState.d.ts b/react/lib/globalState.d.ts index dc1b2deb..8b193432 100644 --- a/react/lib/globalState.d.ts +++ b/react/lib/globalState.d.ts @@ -1,4 +1,3 @@ -/// import { Transactional } from '@type-r/models'; export declare function useChanges(instance: Transactional): void; export declare function useForceUpdate(): import("react").Dispatch; diff --git a/react/lib/pureRender.js b/react/lib/pureRender.js index c8d127bd..376d8ea6 100644 --- a/react/lib/pureRender.js +++ b/react/lib/pureRender.js @@ -3,12 +3,12 @@ import React, { Component } from 'react'; import { attributes, Transactional, Linked } from '@type-r/models'; export function pureRenderProps(props, Comp) { var prototype = attributes(props).prototype, _attributes = prototype._attributes, keys = Object.keys(props); - var createVector = new Function("props", "\n return [\n " + keys.map(function (key) { + var createVector = new Function("props", "\n return [\n ".concat(keys.map(function (key) { return propForType(_attributes[key].type, key); - }).join(', ') + "\n ]\n "); - var compareVector = new Function("props", "vector", "\n return " + keys.map(function (key, idx) { - return "vector[" + idx + "] !== ( " + propForType(_attributes[key].type, key) + " )"; - }).join(' || ') + ";\n "); + }).join(', '), "\n ]\n ")); + var compareVector = new Function("props", "vector", "\n return ".concat(keys.map(function (key, idx) { + return "vector[".concat(idx, "] !== ( ").concat(propForType(_attributes[key].type, key), " )"); + }).join(' || '), ";\n ")); var PureRenderWrapper = (function (_super) { __extends(PureRenderWrapper, _super); function PureRenderWrapper(props) { @@ -30,9 +30,9 @@ export function pureRenderProps(props, Comp) { return PureRenderWrapper; } function propForType(type, key) { - return type.prototype instanceof Transactional ? "props." + key + " && props." + key + "._changeToken" : - type === Date ? "props." + key + " && props." + key + ".getTime()" : - type === Linked ? "props." + key + " && props." + key + ".value" : - "props." + key; + return type.prototype instanceof Transactional ? "props.".concat(key, " && props.").concat(key, "._changeToken") : + type === Date ? "props.".concat(key, " && props.").concat(key, ".getTime()") : + type === Linked ? "props.".concat(key, " && props.").concat(key, ".value") : + "props.".concat(key); } //# sourceMappingURL=pureRender.js.map \ No newline at end of file diff --git a/react/lib/pureRender.js.map b/react/lib/pureRender.js.map index 54fec222..15d95d28 100644 --- a/react/lib/pureRender.js.map +++ b/react/lib/pureRender.js.map @@ -1 +1 @@ -{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../src/pureRender.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAc,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAO/E,MAAM,UAAU,eAAe,CAAoB,KAAS,EAAE,IAAmC;IACrF,IAAA,uCAAS,EACT,mCAAW,EACb,IAAI,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAElC,IAAM,YAAY,GAAG,IAAI,QAAQ,CAAE,OAAO,EAAE,qCAEjC,IAAI,CAAC,GAAG,CAAE,UAAA,GAAG;QACZ,OAAA,WAAW,CAAE,WAAW,CAAE,GAAG,CAAE,CAAC,IAAI,EAAE,GAAG,CAAE;IAA3C,CAA2C,CAC9C,CAAC,IAAI,CAAE,IAAI,CAAC,sBAEpB,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,IAAI,QAAQ,CAAE,OAAO,EAAE,QAAQ,EAAC,sBACxC,IAAI,CAAC,GAAG,CAAE,UAAE,GAAG,EAAE,GAAG;QAC1B,OAAA,YAAU,GAAG,gBAAW,WAAW,CAAE,WAAW,CAAE,GAAG,CAAE,CAAC,IAAI,EAAE,GAAG,CAAE,OAAI;IAAvE,CAAuE,CAC1E,CAAC,IAAI,CAAE,MAAM,CAAC,YAClB,CAAC,CAAC;IAEH;QAAgC,qCAAwB;QAGpD,2BAAa,KAAK;YAAlB,YACI,kBAAO,KAAK,CAAE,SAEjB;YADG,KAAI,CAAC,OAAO,GAAG,YAAY,CAAE,KAAI,CAAC,KAAK,CAAE,CAAC;;QAC9C,CAAC;QAED,iDAAqB,GAArB,UAAuB,SAAS;YAC5B,OAAO,aAAa,CAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAE,CAAC;QACpD,CAAC;QAED,8CAAkB,GAAlB;YACI,IAAI,CAAC,OAAO,GAAG,YAAY,CAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAC9C,CAAC;QAED,kCAAM,GAAN;YACI,OAAO,oBAAC,IAAI,eAAK,IAAI,CAAC,KAAK,EAAI,CAAC;QACpC,CAAC;QACL,wBAAC;IAAD,CAAC,AAnBD,CAAgC,SAAS,GAmBxC;IAED,OAAO,iBAAwB,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAE,IAAe,EAAE,GAAY;IAC/C,OAAQ,IAAI,CAAC,SAAS,YAAY,aAAa,CAAC,CAAC,CAAC,WAAS,GAAG,kBAAa,GAAG,kBAAe,CAAC,CAAC;QACvF,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,WAAS,GAAG,kBAAa,GAAG,eAAY,CAAC,CAAC;YAC1D,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,WAAS,GAAG,kBAAa,GAAG,WAAQ,CAAC,CAAC;gBACxD,WAAS,GAAK,CAAC;AAC3B,CAAC"} \ No newline at end of file +{"version":3,"file":"pureRender.js","sourceRoot":"","sources":["../src/pureRender.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAA;AACvD,OAAO,EAAc,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAO/E,MAAM,UAAU,eAAe,CAAoB,KAAS,EAAE,IAAmC;IACrF,IAAA,SAAS,GAAK,UAAU,CAAE,KAAK,CAAE,UAAxB,EACT,WAAW,GAAK,SAAgB,YAArB,EACb,IAAI,GAAG,MAAM,CAAC,IAAI,CAAE,KAAK,CAAE,CAAC;IAElC,IAAM,YAAY,GAAG,IAAI,QAAQ,CAAE,OAAO,EAAE,0CAEjC,IAAI,CAAC,GAAG,CAAE,UAAA,GAAG;QACZ,OAAA,WAAW,CAAE,WAAW,CAAE,GAAG,CAAE,CAAC,IAAI,EAAE,GAAG,CAAE;IAA3C,CAA2C,CAC9C,CAAC,IAAI,CAAE,IAAI,CAAC,sBAEpB,CAAC,CAAC;IAEH,IAAM,aAAa,GAAG,IAAI,QAAQ,CAAE,OAAO,EAAE,QAAQ,EAAC,2BACxC,IAAI,CAAC,GAAG,CAAE,UAAE,GAAG,EAAE,GAAG;QAC1B,OAAA,iBAAU,GAAG,qBAAW,WAAW,CAAE,WAAW,CAAE,GAAG,CAAE,CAAC,IAAI,EAAE,GAAG,CAAE,OAAI;IAAvE,CAAuE,CAC1E,CAAC,IAAI,CAAE,MAAM,CAAC,YAClB,CAAC,CAAC;IAEH;QAAgC,qCAAwB;QAGpD,2BAAa,KAAK;YACd,YAAA,MAAK,YAAE,KAAK,CAAE,SAAC;YACf,KAAI,CAAC,OAAO,GAAG,YAAY,CAAE,KAAI,CAAC,KAAK,CAAE,CAAC;;QAC9C,CAAC;QAED,iDAAqB,GAArB,UAAuB,SAAS;YAC5B,OAAO,aAAa,CAAE,SAAS,EAAE,IAAI,CAAC,OAAO,CAAE,CAAC;QACpD,CAAC;QAED,8CAAkB,GAAlB;YACI,IAAI,CAAC,OAAO,GAAG,YAAY,CAAE,IAAI,CAAC,KAAK,CAAE,CAAC;QAC9C,CAAC;QAED,kCAAM,GAAN;YACI,OAAO,oBAAC,IAAI,eAAK,IAAI,CAAC,KAAK,EAAI,CAAC;QACpC,CAAC;QACL,wBAAC;IAAD,CAAC,AAnBD,CAAgC,SAAS,GAmBxC;IAED,OAAO,iBAAwB,CAAC;AACpC,CAAC;AAED,SAAS,WAAW,CAAE,IAAe,EAAE,GAAY;IAC/C,OAAQ,IAAI,CAAC,SAAS,YAAY,aAAa,CAAC,CAAC,CAAC,gBAAS,GAAG,uBAAa,GAAG,kBAAe,CAAC,CAAC;QACvF,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAS,GAAG,uBAAa,GAAG,eAAY,CAAC,CAAC;YAC1D,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,gBAAS,GAAG,uBAAa,GAAG,WAAQ,CAAC,CAAC;gBACxD,gBAAS,GAAG,CAAE,CAAC;AAC3B,CAAC"} \ No newline at end of file diff --git a/react/lib/state.js.map b/react/lib/state.js.map index 52d5afef..d8db4ce1 100644 --- a/react/lib/state.js.map +++ b/react/lib/state.js.map @@ -1 +1 @@ -{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"state.js","sourceRoot":"","sources":["../src/state.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/react/package.json b/react/package.json index 1e06a5a7..200ecb58 100644 --- a/react/package.json +++ b/react/package.json @@ -1,6 +1,6 @@ { "name": "@type-r/react", - "version": "4.1.0", + "version": "4.1.1", "description": "React bindings for Type-R/models", "main": "dist/index.js", "module": "./lib/index.js", @@ -14,7 +14,13 @@ "react": "^16.8.6" }, "devDependencies": { - "@types/react": "^16.8.23" + "@types/react": "^16.8.23", + "rimraf": "^2.6.3", + "rollup": "*", + "rollup-plugin-node-resolve": "*", + "rollup-plugin-sourcemaps": "*", + "rollup-plugin-uglify": "*", + "typescript": "6.0.3" }, "scripts": { "cleanup": "rimraf ./lib", diff --git a/react/tsconfig.json b/react/tsconfig.json index 1a55e44f..393e7d28 100644 --- a/react/tsconfig.json +++ b/react/tsconfig.json @@ -1,10 +1,11 @@ { "extends": "../tsconfig.json", "compilerOptions": { + "rootDir": "./src", "outDir": "./lib", "jsx": "react" }, "include":[ "./src/index.ts" ] -} \ No newline at end of file +} diff --git a/tests/io.test.ts b/tests/io.test.ts index c48071e0..c1ccaef7 100644 --- a/tests/io.test.ts +++ b/tests/io.test.ts @@ -115,16 +115,16 @@ describe( 'IO', function(){ @define class TestStore extends Store { static endpoint = attributesIO(); - @type( NoEndpoint.Collection ) + @( type( NoEndpoint.Collection ) .endpoint( memoryIO([{ id : "777" }]) ) - .as a : Collection; + .as ) a : Collection; - @type( HasEndpoint.Collection ) - .as b : Collection; + @( type( HasEndpoint.Collection ) + .as ) b : Collection; - @type( HasEndpoint.Collection ) + @( type( HasEndpoint.Collection ) .endpoint( memoryIO([{ id : "555" }]) ) - .as c : Collection; + .as ) c : Collection; } const s = new TestStore(); @@ -246,8 +246,8 @@ describe( 'IO', function(){ class Root extends Record { static endpoint = restfulIO( 'http://restful.relative/' ); - @type( User.Collection ) - .as users : Collection + @( type( User.Collection ) + .as ) users : Collection @auto store : Store } @@ -306,8 +306,8 @@ describe( 'IO', function(){ class Root extends Record { static endpoint = restfulIO( 'http://restful.relative/' ); - @type( User.Collection ) - .as users : Collection + @( type( User.Collection ) + .as ) users : Collection @auto store : Store } @@ -348,12 +348,21 @@ describe( 'IO', function(){ } ) describe( "Merging options", () => { - RestfulEndpoint.defaultFetchOptions = { - cache: "force-cache", - credentials: "omit", - mode: "navigate", - redirect: "manual", - } + const defaultFetchOptions = RestfulEndpoint.defaultFetchOptions; + + beforeAll( () => { + RestfulEndpoint.defaultFetchOptions = { + cache: "force-cache", + credentials: "omit", + mode: "navigate", + redirect: "manual", + } + }); + + afterAll( () => { + RestfulEndpoint.defaultFetchOptions = defaultFetchOptions; + }); + it("uses default options", () => { let io = restfulIO(""), options : RequestInit = (io as any).buildRequestOptions("get") @@ -450,4 +459,4 @@ function testEndpoint( endpoint ){ }); }); } -} \ No newline at end of file +} diff --git a/tests/package.json b/tests/package.json index 98f68195..0d7f490c 100644 --- a/tests/package.json +++ b/tests/package.json @@ -1,25 +1,27 @@ { - "private" : true, + "private": true, "name": "@type-r/tests", "version": "4.0.0", "dependencies": { - "@type-r/models" : "^4.0.0", - "isomorphic-fetch": "*", - "@types/jest": "*", + "@type-r/models": "^4.1.0", + "@types/jest": "^29.5.14", "chai": "*", - "jest": "*", - "nock": "*", + "isomorphic-fetch": "*", + "jest": "^29.7.0", + "jest-cli": "^29.7.0", + "nock": "^14.0.16", "qunit": "*", "reflect-metadata": "*", "sinon": "*", "sinon-chai": "*", - "ts-jest": "*", + "ts-jest": "^29.4.11", + "typescript": "6.0.3", "underscore": "*" }, "scripts": { - "build":"echo Tests: nothing to build, skipping", + "build": "echo Tests: nothing to build, skipping", "test:backbone": "qunit backbone-regression/*.tst.js", "test:type-r": "jest", "test": "yarn test:backbone && yarn test:type-r" } -} \ No newline at end of file +} diff --git a/tests/primitives.test.ts b/tests/primitives.test.ts index dd0ca64d..68a92ef4 100644 --- a/tests/primitives.test.ts +++ b/tests/primitives.test.ts @@ -15,7 +15,7 @@ describe( 'Serialization', () =>{ @define class X extends Record { @auto num : number @auto date : Date - @type( Number ).required.as rq : number + @( type( Number ).required.as ) rq : number } it( 'Restore Record from JSON', () =>{ @@ -73,11 +73,11 @@ describe( 'Record', () =>{ describe( '...as constructors', () =>{ @define class M extends Record { - @type( String ).as s : string - @type( Number ).as n : number - @type( Boolean ).as b : boolean - @type( Object ).as o : object - @type( Array ).as a : any[] + @( type( String ).as ) s : string + @( type( Number ).as ) n : number + @( type( Boolean ).as ) b : boolean + @( type( Object ).as ) o : object + @( type( Array ).as ) a : any[] @auto d : Date } @@ -510,4 +510,4 @@ describe( 'Record', () =>{ expect( x.a ).toEqual( "dedede" ); }) }) -} ); \ No newline at end of file +} ); diff --git a/tests/reported-bugs.test.ts b/tests/reported-bugs.test.ts index a5c09ed7..62c905dd 100644 --- a/tests/reported-bugs.test.ts +++ b/tests/reported-bugs.test.ts @@ -8,9 +8,9 @@ describe( 'Bugs from Volicon Observer', () =>{ describe( 'Attribute serialization', () => { it( 'should call has.parse() when null attribute value is passed', ()=>{ @define class Test extends Record { - @type( String ) + @( type( String ) .parse( x => 'bla-bla' ) - .as a : string + .as ) a : string } const t = new Test({ a : null }, { parse : true }); @@ -21,8 +21,8 @@ describe( 'Bugs from Volicon Observer', () =>{ describe( 'Attribute definitions', () => { it( '@value( value ) must work as expected', () => { @define class Test extends Record { - @value( 5 ).as num : number; - @value( "5" ).as str : string; + @( value( 5 ).as ) num : number; + @( value( "5" ).as ) str : string; } const t = new Test(); @@ -57,19 +57,19 @@ describe( 'Bugs from Volicon Observer', () =>{ let calls = []; @define class Base extends Record { - @type( String ).watcher( x => calls.push( 'inherited' ) ).as + @( type( String ).watcher( x => calls.push( 'inherited' ) ).as ) inherited : string; - @type( String ).watcher( 'onNamedWatcher' ).as namedWatcher : string; + @( type( String ).watcher( 'onNamedWatcher' ).as ) namedWatcher : string; - @type( String ).watcher( x => calls.push( 'base' ) ).as overriden : string; + @( type( String ).watcher( x => calls.push( 'base' ) ).as ) overriden : string; } @define class Subclass extends Base { - @type( String ).watcher( x => calls.push( 'added' ) ).as + @( type( String ).watcher( x => calls.push( 'added' ) ).as ) added : string; - @type( String ).watcher( x => calls.push( 'subclass') ).as + @( type( String ).watcher( x => calls.push( 'subclass') ).as ) overriden : string; onNamedWatcher(){ @@ -382,4 +382,4 @@ describe( 'Bugs from Volicon Observer', () =>{ expect( b.$.a.value ).toEqual( 1 ); }) }); -} ); \ No newline at end of file +} ); diff --git a/tests/tsconfig.json b/tests/tsconfig.json index 69f53c4a..55ef37e9 100644 --- a/tests/tsconfig.json +++ b/tests/tsconfig.json @@ -2,10 +2,12 @@ "extends": "../tsconfig.json", "compilerOptions": { "target": "es6", + "rootDir": ".", "emitDecoratorMetadata": true, + "types": [ "jest" ], "outDir": "./lib", }, "include":[ "./*.ts" ] -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index b54e7451..bc7ab0d6 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,6 +3,7 @@ "target": "es5", "lib" : [ "es2015", "dom" ], "module":"es6", + "ignoreDeprecations": "6.0", "stripInternal": true, "declaration": true, "importHelpers": true, @@ -10,8 +11,12 @@ "sourceMap": true, "outDir": "./lib", "esModuleInterop": true, + "useDefineForClassFields": false, + "strict": false, "noImplicitAny": false, + "strictFunctionTypes": false, + "strictPropertyInitialization": false, "removeComments":true, "experimentalDecorators": true } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 2e38c675..7bda2f60 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6326 +1,11186 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - -"@babel/core@*", "@babel/core@^7.1.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.5.5.tgz#17b2686ef0d6bc58f963dddd68ab669755582c30" - integrity sha512-i4qoSr2KTtce0DmkuuQBV4AuQgGPUcPXMr9L5MyYAtk06z068lQ10a4O009fe5OB/DfNV+h+qqT7ddNV8UnRjg== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helpers" "^7.5.5" - "@babel/parser" "^7.5.5" - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - convert-source-map "^1.1.0" - debug "^4.1.0" - json5 "^2.1.0" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.4.0", "@babel/generator@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.5.5.tgz#873a7f936a3c89491b43536d12245b626664e3cf" - integrity sha512-ETI/4vyTSxTzGnU2c49XHv2zhExkv9JHLTwDAFz85kmcwuShvYG2H08FwgIguQf4JC75CBnXAUM5PqeF4fj0nQ== - dependencies: - "@babel/types" "^7.5.5" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - trim-right "^1.0.1" - -"@babel/helper-annotate-as-pure@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.0.0.tgz#323d39dd0b50e10c7c06ca7d7638e6864d8c5c32" - integrity sha512-3UYcJUj9kvSLbLbUIfQTqzcy5VX7GRZ/CCDrnOaZorFFM01aXp1+GJwuFGV4NDDoAS+mOUyHcO6UD/RfqOks3Q== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.1.0.tgz#6b69628dfe4087798e0c4ed98e3d4a6b2fbd2f5f" - integrity sha512-qNSR4jrmJ8M1VMM9tibvyRAHXQs2PmaksQF7c1CGJNipfe3D8p+wgNwgso/P2A2r2mdgBWAXljNWR0QRZAMW8w== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-builder-react-jsx@^7.3.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx/-/helper-builder-react-jsx-7.3.0.tgz#a1ac95a5d2b3e88ae5e54846bf462eeb81b318a4" - integrity sha512-MjA9KgwCuPEkQd9ncSXvSyJ5y+j2sICHyrI0M3L+6fnS4wMSNDc1ARXsbTfbb2cXHn17VisSnU/sHFTCxVxSMw== - dependencies: - "@babel/types" "^7.3.0" - esutils "^2.0.0" - -"@babel/helper-call-delegate@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-call-delegate/-/helper-call-delegate-7.4.4.tgz#87c1f8ca19ad552a736a7a27b1c1fcf8b1ff1f43" - integrity sha512-l79boDFJ8S1c5hvQvG+rc+wHw6IuH7YldmRKsYtpbawsxURu/paVy57FZMomGK22/JckepaikOkY0MoAmdyOlQ== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/traverse" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/helper-create-class-features-plugin@^7.4.4", "@babel/helper-create-class-features-plugin@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.5.5.tgz#401f302c8ddbc0edd36f7c6b2887d8fa1122e5a4" - integrity sha512-ZsxkyYiRA7Bg+ZTRpPvB6AbOFKTFFK4LrvTet8lInm0V468MWCaSYJE+I7v2z2r8KNLtYiV+K5kTCnR7dvyZjg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - -"@babel/helper-define-map@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.5.5.tgz#3dec32c2046f37e09b28c93eb0b103fd2a25d369" - integrity sha512-fTfxx7i0B5NJqvUOBBGREnrqbTxRh7zinBANpZXAVDlsZxYdclDp467G1sQ8VZYMnAURY3RpBUAgOYT9GfzHBg== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-explode-assignable-expression@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.1.0.tgz#537fa13f6f1674df745b0c00ec8fe4e99681c8f6" - integrity sha512-NRQpfHrJ1msCHtKjbzs9YcMmJZOg6mQMmGRB+hbamEdG5PNpaSm95275VD92DvJKuyl0s2sFiDmMZ+EnnvufqA== - dependencies: - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-function-name@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz#a0ceb01685f73355d4360c1247f582bfafc8ff53" - integrity sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw== - dependencies: - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-get-function-arity@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz#83572d4320e2a4657263734113c42868b64e49c3" - integrity sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-hoist-variables@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.4.4.tgz#0298b5f25c8c09c53102d52ac4a98f773eb2850a" - integrity sha512-VYk2/H/BnYbZDDg39hr3t2kKyifAm1W6zHRfhx8jGjIHpQEBv9dry7oQ2f3+J703TLu69nYdxsovl0XYfcnK4w== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-member-expression-to-functions@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.5.5.tgz#1fb5b8ec4453a93c439ee9fe3aeea4a84b76b590" - integrity sha512-5qZ3D1uMclSNqYcXqiHoA0meVdv+xUEex9em2fqMnrk/scphGlGgg66zjMrPJESPwrFJ6sbfFQYUSa0Mz7FabA== - dependencies: - "@babel/types" "^7.5.5" - -"@babel/helper-module-imports@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.0.0.tgz#96081b7111e486da4d2cd971ad1a4fe216cc2e3d" - integrity sha512-aP/hlLq01DWNEiDg4Jn23i+CXxW/owM4WpDLFUbpjxe4NS3BhLVZQ5i7E0ZrxuQ/vwekIeciyamgB1UIYxxM6A== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-module-transforms@^7.1.0", "@babel/helper-module-transforms@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.5.5.tgz#f84ff8a09038dcbca1fd4355661a500937165b4a" - integrity sha512-jBeCvETKuJqeiaCdyaheF40aXnnU1+wkSiUs/IQg3tB85up1LyL8x77ClY8qJpuRJUcXQo+ZtdNESmZl4j56Pw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/template" "^7.4.4" - "@babel/types" "^7.5.5" - lodash "^4.17.13" - -"@babel/helper-optimise-call-expression@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.0.0.tgz#a2920c5702b073c15de51106200aa8cad20497d5" - integrity sha512-u8nd9NQePYNQV8iPWu/pLLYBqZBa4ZaY1YWRFMuxrid94wKI1QNt67NEZ7GAe5Kc/0LLScbim05xZFWkAdrj9g== - dependencies: - "@babel/types" "^7.0.0" - -"@babel/helper-plugin-utils@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.0.0.tgz#bbb3fbee98661c569034237cc03967ba99b4f250" - integrity sha512-CYAOUCARwExnEixLdB6sDm2dIJ/YgEAKDM1MOeMeZu9Ld/bDgVo8aiWrXwcY7OBh+1Ea2uUcVRcxKk0GJvW7QA== - -"@babel/helper-regex@^7.0.0", "@babel/helper-regex@^7.4.4": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.5.5.tgz#0aa6824f7100a2e0e89c1527c23936c152cab351" - integrity sha512-CkCYQLkfkiugbRDO8eZn6lRuR8kzZoGXCg3149iTk5se7g6qykSpy3+hELSwquhu+TgHn8nkLiBwHvNX8Hofcw== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.1.0.tgz#361d80821b6f38da75bd3f0785ece20a88c5fe7f" - integrity sha512-3fOK0L+Fdlg8S5al8u/hWE6vhufGSn0bN09xm2LXMy//REAF8kDCrYoOBKYmA8m5Nom+sV9LyLCwrFynA8/slg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-wrap-function" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-replace-supers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.5.5.tgz#f84ce43df031222d2bad068d2626cb5799c34bc2" - integrity sha512-XvRFWrNnlsow2u7jXDuH4jDDctkxbS7gXssrP4q2nUD606ukXHRvydj346wmNg+zAgpFx4MWf4+usfC93bElJg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.5.5" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/helper-simple-access@^7.1.0": - version "7.1.0" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.1.0.tgz#65eeb954c8c245beaa4e859da6188f39d71e585c" - integrity sha512-Vk+78hNjRbsiu49zAPALxTb+JUQCz1aolpd8osOF16BGnLtseD21nbHgLPGUwrXEurZgiCOUmvs3ExTu4F5x6w== - dependencies: - "@babel/template" "^7.1.0" - "@babel/types" "^7.0.0" - -"@babel/helper-split-export-declaration@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz#ff94894a340be78f53f06af038b205c49d993677" - integrity sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q== - dependencies: - "@babel/types" "^7.4.4" - -"@babel/helper-wrap-function@^7.1.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.2.0.tgz#c4e0012445769e2815b55296ead43a958549f6fa" - integrity sha512-o9fP1BZLLSrYlxYEYyl2aS+Flun5gtjTIG8iln+XuEzQTs0PLagAGSXUcqruJwD5fM48jzIEggCKpIfWTcR7pQ== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/template" "^7.1.0" - "@babel/traverse" "^7.1.0" - "@babel/types" "^7.2.0" - -"@babel/helpers@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.5.5.tgz#63908d2a73942229d1e6685bc2a0e730dde3b75e" - integrity sha512-nRq2BUhxZFnfEn/ciJuhklHvFOqjJUD5wpx+1bxUF2axL9C+v4DE/dmp5sT2dKnpOs4orZWzpAZqlCy8QqE/7g== - dependencies: - "@babel/template" "^7.4.4" - "@babel/traverse" "^7.5.5" - "@babel/types" "^7.5.5" - -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.4.3", "@babel/parser@^7.4.4", "@babel/parser@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.5.5.tgz#02f077ac8817d3df4a832ef59de67565e71cca4b" - integrity sha512-E5BN68cqR7dhKan1SfqgPGhQ178bkVKpXTPEXnFJBrEt8/DKRZlybmy+IgYLTeN7tp1R5Ccmbm2rBk17sHYU3g== - -"@babel/plugin-proposal-async-generator-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.2.0.tgz#b289b306669dce4ad20b0252889a15768c9d417e" - integrity sha512-+Dfo/SCQqrwx48ptLVGLdE39YtWRuKc/Y9I5Fy0P1DDBB9lsAHpjcEJQt+4IifuSOSTLBKJObJqMvaO1pIE8LQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - "@babel/plugin-syntax-async-generators" "^7.2.0" - -"@babel/plugin-proposal-class-properties@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.5.5.tgz#a974cfae1e37c3110e71f3c6a2e48b8e71958cd4" - integrity sha512-AF79FsnWFxjlaosgdi421vmYG6/jg79bVD0dpD44QdgobzHKuLZ6S3vl8la9qIeSwGi8i1fS0O1mfuDAAdo1/A== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.5.5" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-proposal-decorators@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.4.4.tgz#de9b2a1a8ab0196f378e2a82f10b6e2a36f21cc0" - integrity sha512-z7MpQz3XC/iQJWXH9y+MaWcLPNSMY9RQSthrLzak8R8hCj0fuyNk+Dzi9kfNe/JxxlWQ2g7wkABbgWjW36MTcw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-decorators" "^7.2.0" - -"@babel/plugin-proposal-dynamic-import@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.5.0.tgz#e532202db4838723691b10a67b8ce509e397c506" - integrity sha512-x/iMjggsKTFHYC6g11PL7Qy58IK8H5zqfm9e6hu4z1iH2IRyAp9u9dL80zA6R76yFovETFLKz2VJIC2iIPBuFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - -"@babel/plugin-proposal-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.2.0.tgz#568ecc446c6148ae6b267f02551130891e29f317" - integrity sha512-MAFV1CA/YVmYwZG0fBQyXhmj0BHCB5egZHCKWIFVv/XCxAeVGIHfos3SwDck4LvCllENIAg7xMKOG5kH0dzyUg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - -"@babel/plugin-proposal-object-rest-spread@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.5.5.tgz#61939744f71ba76a3ae46b5eea18a54c16d22e58" - integrity sha512-F2DxJJSQ7f64FyTVl5cw/9MWn6naXGdk3Q3UhDbFEEHv+EilCPoeRD3Zh/Utx1CJz4uyKlQ4uH+bJPbEhMV7Zw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - -"@babel/plugin-proposal-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.2.0.tgz#135d81edb68a081e55e56ec48541ece8065c38f5" - integrity sha512-mgYj3jCcxug6KUcX4OBoOJz3CMrwRfQELPQ5560F70YQUBZB7uac9fqaWamKR1iWUzGiK2t0ygzjTScZnVz75g== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.4.4.tgz#501ffd9826c0b91da22690720722ac7cb1ca9c78" - integrity sha512-j1NwnOqMG9mFUOH58JTFsA/+ZYzQLUZ/drqWUqxCYLGeu2JFZL8YrNC9hBxKmWtAuOCHPcRpgv7fhap09Fb4kA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-syntax-async-generators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.2.0.tgz#69e1f0db34c6f5a0cf7e2b3323bf159a76c8cb7f" - integrity sha512-1ZrIRBv2t0GSlcwVoQ6VgSLpLgiN/FVQUzt9znxo7v2Ov4jJrs8RY8tv0wvDmFN3qIdMKWrmMMW6yZ0G19MfGg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-decorators@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.2.0.tgz#c50b1b957dcc69e4b1127b65e1c33eef61570c1b" - integrity sha512-38QdqVoXdHUQfTpZo3rQwqQdWtCn5tMv4uV6r2RMfTqNBuv4ZBhz79SfaQWKTVmxHjeFv/DnXVC/+agHCklYWA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-dynamic-import@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.2.0.tgz#69c159ffaf4998122161ad8ebc5e6d1f55df8612" - integrity sha512-mVxuJ0YroI/h/tbFTPGZR8cv6ai+STMKNBq0f8hFxsxWjl94qqhsb+wXbpNMDPU3cfR1TIsVFzU3nXyZMqyK4w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-json-strings@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.2.0.tgz#72bd13f6ffe1d25938129d2a186b11fd62951470" - integrity sha512-5UGYnMSLRE1dqqZwug+1LISpA403HzlSfsg6P9VXU6TBjcSHeNlw4DxDx7LgpF+iKZoOG/+uzqoRHTdcUpiZNg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-jsx@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.2.0.tgz#0b85a3b4bc7cdf4cc4b8bf236335b907ca22e7c7" - integrity sha512-VyN4QANJkRW6lDBmENzRszvZf3/4AXaj9YR7GwrWeeN9tEBPuXbmDYVU9bYBN0D70zCWVwUy0HWq2553VCb6Hw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.2.0.tgz#3b7a3e733510c57e820b9142a6579ac8b0dfad2e" - integrity sha512-t0JKGgqk2We+9may3t0xDdmneaXmyxq0xieYcKHxIsrJO64n1OiMWNUtc5gQK1PA0NpdCRrtZp4z+IUaKugrSA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.2.0.tgz#a94013d6eda8908dfe6a477e7f9eda85656ecf5c" - integrity sha512-bDe4xKNhb0LI7IvZHiA13kff0KEfaGX/Hv4lMA9+7TEc63hMNvfKo6ZFpXhKuEp+II/q35Gc4NoMeDZyaUbj9w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-arrow-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.2.0.tgz#9aeafbe4d6ffc6563bf8f8372091628f00779550" - integrity sha512-ER77Cax1+8/8jCB9fo4Ud161OZzWN5qawi4GusDuRLcDbDG+bIGYY20zb2dfAFdTRGzrfq2xZPvF0R64EHnimg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-async-to-generator@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.5.0.tgz#89a3848a0166623b5bc481164b5936ab947e887e" - integrity sha512-mqvkzwIGkq0bEF1zLRRiTdjfomZJDV33AH3oQzHVGkI2VzEmXLpKKOBvEVaFZBJdN0XTyH38s9j/Kiqr68dggg== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-remap-async-to-generator" "^7.1.0" - -"@babel/plugin-transform-block-scoped-functions@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.2.0.tgz#5d3cc11e8d5ddd752aa64c9148d0db6cb79fd190" - integrity sha512-ntQPR6q1/NKuphly49+QiQiTN0O63uOwjdD6dhIjSWBI5xlrbUFh720TIpzBhpnrLfv2tNH/BXvLIab1+BAI0w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-block-scoping@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.5.5.tgz#a35f395e5402822f10d2119f6f8e045e3639a2ce" - integrity sha512-82A3CLRRdYubkG85lKwhZB0WZoHxLGsJdux/cOVaJCJpvYFl1LVzAIFyRsa7CvXqW8rBM4Zf3Bfn8PHt5DP0Sg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - lodash "^4.17.13" - -"@babel/plugin-transform-classes@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.5.5.tgz#d094299d9bd680a14a2a0edae38305ad60fb4de9" - integrity sha512-U2htCNK/6e9K7jGyJ++1p5XRU+LJjrwtoiVn9SzRlDT2KubcZ11OOwy3s24TjHxPgxNwonCYP7U2K51uVYCMDg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-define-map" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-optimise-call-expression" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - "@babel/helper-split-export-declaration" "^7.4.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.2.0.tgz#83a7df6a658865b1c8f641d510c6f3af220216da" - integrity sha512-kP/drqTxY6Xt3NNpKiMomfgkNn4o7+vKxK2DDKcBG9sHj51vHqMBGy8wbDS/J4lMxnqs153/T3+DmCEAkC5cpA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-destructuring@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.5.0.tgz#f6c09fdfe3f94516ff074fe877db7bc9ef05855a" - integrity sha512-YbYgbd3TryYYLGyC7ZR+Tq8H/+bCmwoaxHfJHupom5ECstzbRLTch6gOQbhEY9Z4hiCNHEURgq06ykFv9JZ/QQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.4.4.tgz#361a148bc951444312c69446d76ed1ea8e4450c3" - integrity sha512-P05YEhRc2h53lZDjRPk/OektxCVevFzZs2Gfjd545Wde3k+yFDbXORgl2e0xpbq8mLcKJ7Idss4fAg0zORN/zg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/plugin-transform-duplicate-keys@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.5.0.tgz#c5dbf5106bf84cdf691222c0974c12b1df931853" - integrity sha512-igcziksHizyQPlX9gfSjHkE2wmoCH3evvD2qR5w29/Dk0SMKE/eOI7f1HhBdNhR/zxJDqrgpoDTq5YSLH/XMsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-exponentiation-operator@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.2.0.tgz#a63868289e5b4007f7054d46491af51435766008" - integrity sha512-umh4hR6N7mu4Elq9GG8TOu9M0bakvlsREEC+ialrQN6ABS4oDQ69qJv1VtR3uxlKMCQMCvzk7vr17RHKcjx68A== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-for-of@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.4.4.tgz#0267fc735e24c808ba173866c6c4d1440fc3c556" - integrity sha512-9T/5Dlr14Z9TIEXLXkt8T1DU7F24cbhwhMNUziN3hB1AXoZcdzPcTiKGRn/6iOymDqtTKWnr/BtRKN9JwbKtdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-function-name@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.4.4.tgz#e1436116abb0610c2259094848754ac5230922ad" - integrity sha512-iU9pv7U+2jC9ANQkKeNF6DrPy4GBa4NWQtl6dHB4Pb3izX2JOEvDTFarlNsBj/63ZEzNNIAMs3Qw4fNCcSOXJA== - dependencies: - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.2.0.tgz#690353e81f9267dad4fd8cfd77eafa86aba53ea1" - integrity sha512-2ThDhm4lI4oV7fVQ6pNNK+sx+c/GM5/SaML0w/r4ZB7sAneD/piDJtwdKlNckXeyGK7wlwg2E2w33C/Hh+VFCg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-member-expression-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.2.0.tgz#fa10aa5c58a2cb6afcf2c9ffa8cb4d8b3d489a2d" - integrity sha512-HiU3zKkSU6scTidmnFJ0bMX8hz5ixC93b4MHMiYebmk2lUVNGOboPsqQvx5LzooihijUoLR/v7Nc1rbBtnc7FA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-modules-amd@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.5.0.tgz#ef00435d46da0a5961aa728a1d2ecff063e4fb91" - integrity sha512-n20UsQMKnWrltocZZm24cRURxQnWIvsABPJlw/fvoy9c6AgHZzoelAIzajDHAQrDpuKFFPPcFGd7ChsYuIUMpg== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-commonjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.5.0.tgz#425127e6045231360858eeaa47a71d75eded7a74" - integrity sha512-xmHq0B+ytyrWJvQTc5OWAC4ii6Dhr0s22STOoydokG51JjWhyYo5mRPXoi+ZmtHQhZZwuXNN+GG5jy5UZZJxIQ== - dependencies: - "@babel/helper-module-transforms" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-simple-access" "^7.1.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-systemjs@^7.5.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.5.0.tgz#e75266a13ef94202db2a0620977756f51d52d249" - integrity sha512-Q2m56tyoQWmuNGxEtUyeEkm6qJYFqs4c+XyXH5RAuYxObRNz9Zgj/1g2GMnjYp2EUyEy7YTrxliGCXzecl/vJg== - dependencies: - "@babel/helper-hoist-variables" "^7.4.4" - "@babel/helper-plugin-utils" "^7.0.0" - babel-plugin-dynamic-import-node "^2.3.0" - -"@babel/plugin-transform-modules-umd@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.2.0.tgz#7678ce75169f0877b8eb2235538c074268dd01ae" - integrity sha512-BV3bw6MyUH1iIsGhXlOK6sXhmSarZjtJ/vMiD9dNmpY8QXFFQTj+6v92pcfy1iqa8DeAfJFwoxcrS/TUZda6sw== - dependencies: - "@babel/helper-module-transforms" "^7.1.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.4.5.tgz#9d269fd28a370258199b4294736813a60bbdd106" - integrity sha512-z7+2IsWafTBbjNsOxU/Iv5CvTJlr5w4+HGu1HovKYTtgJ362f7kBcQglkfmlspKKZ3bgrbSGvLfNx++ZJgCWsg== - dependencies: - regexp-tree "^0.1.6" - -"@babel/plugin-transform-new-target@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.4.4.tgz#18d120438b0cc9ee95a47f2c72bc9768fbed60a5" - integrity sha512-r1z3T2DNGQwwe2vPGZMBNjioT2scgWzK9BCnDEh+46z8EEwXBq24uRzd65I7pjtugzPSj921aM15RpESgzsSuA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-object-super@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.5.5.tgz#c70021df834073c65eb613b8679cc4a381d1a9f9" - integrity sha512-un1zJQAhSosGFBduPgN/YFNvWVpRuHKU7IHBglLoLZsGmruJPOo6pbInneflUdmq7YvSVqhpPs5zdBvLnteltQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-replace-supers" "^7.5.5" - -"@babel/plugin-transform-parameters@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.4.4.tgz#7556cf03f318bd2719fe4c922d2d808be5571e16" - integrity sha512-oMh5DUO1V63nZcu/ZVLQFqiihBGo4OpxJxR1otF50GMeCLiRx5nUdtokd+u9SuVJrvvuIh9OosRFPP4pIPnwmw== - dependencies: - "@babel/helper-call-delegate" "^7.4.4" - "@babel/helper-get-function-arity" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-property-literals@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.2.0.tgz#03e33f653f5b25c4eb572c98b9485055b389e905" - integrity sha512-9q7Dbk4RhgcLp8ebduOpCbtjh7C0itoLYHXd9ueASKAG/is5PQtMR5VJGka9NKqGhYEGn5ITahd4h9QeBMylWQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-display-name@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.2.0.tgz#ebfaed87834ce8dc4279609a4f0c324c156e3eb0" - integrity sha512-Htf/tPa5haZvRMiNSQSFifK12gtr/8vwfr+A9y69uF0QcU77AVu4K7MiHEkTxF7lQoHOL0F9ErqgfNEAKgXj7A== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-react-jsx-self@^7.0.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.2.0.tgz#461e21ad9478f1031dd5e276108d027f1b5240ba" - integrity sha512-v6S5L/myicZEy+jr6ielB0OR8h+EH/1QFx/YJ7c7Ua+7lqsjj/vW6fD5FR9hB/6y7mGbfT4vAURn3xqBxsUcdg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx-source@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.5.0.tgz#583b10c49cf057e237085bcbd8cc960bd83bd96b" - integrity sha512-58Q+Jsy4IDCZx7kqEZuSDdam/1oW8OdDX8f+Loo6xyxdfg1yF0GE2XNJQSTZCaMol93+FBzpWiPEwtbMloAcPg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-react-jsx@^7.0.0": - version "7.3.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.3.0.tgz#f2cab99026631c767e2745a5368b331cfe8f5290" - integrity sha512-a/+aRb7R06WcKvQLOu4/TpjKOdvVEKRLWFpKcNuHhiREPgGRB4TQJxq07+EZLS8LFVYpfq1a5lDUnuMdcCpBKg== - dependencies: - "@babel/helper-builder-react-jsx" "^7.3.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-syntax-jsx" "^7.2.0" - -"@babel/plugin-transform-regenerator@^7.4.5": - version "7.4.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.4.5.tgz#629dc82512c55cee01341fb27bdfcb210354680f" - integrity sha512-gBKRh5qAaCWntnd09S8QC7r3auLCqq5DI6O0DlfoyDjslSBVqBibrMdsqO+Uhmx3+BlOmE/Kw1HFxmGbv0N9dA== - dependencies: - regenerator-transform "^0.14.0" - -"@babel/plugin-transform-reserved-words@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.2.0.tgz#4792af87c998a49367597d07fedf02636d2e1634" - integrity sha512-fz43fqW8E1tAB3DKF19/vxbpib1fuyCwSPE418ge5ZxILnBhWyhtPgz8eh1RCGGJlwvksHkyxMxh0eenFi+kFw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-runtime@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.5.5.tgz#a6331afbfc59189d2135b2e09474457a8e3d28bc" - integrity sha512-6Xmeidsun5rkwnGfMOp6/z9nSzWpHFNVr2Jx7kwoq4mVatQfQx5S56drBgEHF+XQbKOdIaOiMIINvp/kAwMN+w== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - resolve "^1.8.1" - semver "^5.5.1" - -"@babel/plugin-transform-shorthand-properties@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.2.0.tgz#6333aee2f8d6ee7e28615457298934a3b46198f0" - integrity sha512-QP4eUM83ha9zmYtpbnyjTLAGKQritA5XW/iG9cjtuOI8s1RuL/3V6a3DeSHfKutJQ+ayUfeZJPcnCYEQzaPQqg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-spread@^7.2.0": - version "7.2.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.2.2.tgz#3103a9abe22f742b6d406ecd3cd49b774919b406" - integrity sha512-KWfky/58vubwtS0hLqEnrWJjsMGaOeSBn90Ezn5Jeg9Z8KKHmELbP1yGylMlm5N6TPKeY9A2+UaSYLdxahg01w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-sticky-regex@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.2.0.tgz#a1e454b5995560a9c1e0d537dfc15061fd2687e1" - integrity sha512-KKYCoGaRAf+ckH8gEL3JHUaFVyNHKe3ASNsZ+AlktgHevvxGigoIttrEJb8iKN03Q7Eazlv1s6cx2B2cQ3Jabw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.0.0" - -"@babel/plugin-transform-template-literals@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.4.4.tgz#9d28fea7bbce637fb7612a0750989d8321d4bcb0" - integrity sha512-mQrEC4TWkhLN0z8ygIvEL9ZEToPhG5K7KDW3pzGqOfIGZ28Jb0POUkeWcoz8HnHvhFy6dwAT1j8OzqN8s804+g== - dependencies: - "@babel/helper-annotate-as-pure" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-typeof-symbol@^7.2.0": - version "7.2.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.2.0.tgz#117d2bcec2fbf64b4b59d1f9819894682d29f2b2" - integrity sha512-2LNhETWYxiYysBtrBTqL8+La0jIoQQnIScUJc74OYvUGRmkskNY4EzLCnjHBzdmb38wqtTaixpo1NctEcvMDZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - -"@babel/plugin-transform-unicode-regex@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.4.4.tgz#ab4634bb4f14d36728bf5978322b35587787970f" - integrity sha512-il+/XdNw01i93+M9J9u4T7/e/Ue/vWfNZE4IRUQjplu2Mqb/AFTDimkw2tdEdSH50wuQXZAbXSql0UphQke+vA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/helper-regex" "^7.4.4" - regexpu-core "^4.5.4" - -"@babel/preset-env@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.5.5.tgz#bc470b53acaa48df4b8db24a570d6da1fef53c9a" - integrity sha512-GMZQka/+INwsMz1A5UEql8tG015h5j/qjptpKY2gJ7giy8ohzU710YciJB5rcKsWGWHiW3RUnHib0E5/m3Tp3A== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-async-generator-functions" "^7.2.0" - "@babel/plugin-proposal-dynamic-import" "^7.5.0" - "@babel/plugin-proposal-json-strings" "^7.2.0" - "@babel/plugin-proposal-object-rest-spread" "^7.5.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.2.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-syntax-async-generators" "^7.2.0" - "@babel/plugin-syntax-dynamic-import" "^7.2.0" - "@babel/plugin-syntax-json-strings" "^7.2.0" - "@babel/plugin-syntax-object-rest-spread" "^7.2.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.2.0" - "@babel/plugin-transform-arrow-functions" "^7.2.0" - "@babel/plugin-transform-async-to-generator" "^7.5.0" - "@babel/plugin-transform-block-scoped-functions" "^7.2.0" - "@babel/plugin-transform-block-scoping" "^7.5.5" - "@babel/plugin-transform-classes" "^7.5.5" - "@babel/plugin-transform-computed-properties" "^7.2.0" - "@babel/plugin-transform-destructuring" "^7.5.0" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/plugin-transform-duplicate-keys" "^7.5.0" - "@babel/plugin-transform-exponentiation-operator" "^7.2.0" - "@babel/plugin-transform-for-of" "^7.4.4" - "@babel/plugin-transform-function-name" "^7.4.4" - "@babel/plugin-transform-literals" "^7.2.0" - "@babel/plugin-transform-member-expression-literals" "^7.2.0" - "@babel/plugin-transform-modules-amd" "^7.5.0" - "@babel/plugin-transform-modules-commonjs" "^7.5.0" - "@babel/plugin-transform-modules-systemjs" "^7.5.0" - "@babel/plugin-transform-modules-umd" "^7.2.0" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.4.5" - "@babel/plugin-transform-new-target" "^7.4.4" - "@babel/plugin-transform-object-super" "^7.5.5" - "@babel/plugin-transform-parameters" "^7.4.4" - "@babel/plugin-transform-property-literals" "^7.2.0" - "@babel/plugin-transform-regenerator" "^7.4.5" - "@babel/plugin-transform-reserved-words" "^7.2.0" - "@babel/plugin-transform-shorthand-properties" "^7.2.0" - "@babel/plugin-transform-spread" "^7.2.0" - "@babel/plugin-transform-sticky-regex" "^7.2.0" - "@babel/plugin-transform-template-literals" "^7.4.4" - "@babel/plugin-transform-typeof-symbol" "^7.2.0" - "@babel/plugin-transform-unicode-regex" "^7.4.4" - "@babel/types" "^7.5.5" - browserslist "^4.6.0" - core-js-compat "^3.1.1" - invariant "^2.2.2" - js-levenshtein "^1.1.3" - semver "^5.5.0" - -"@babel/preset-react@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.0.0.tgz#e86b4b3d99433c7b3e9e91747e2653958bc6b3c0" - integrity sha512-oayxyPS4Zj+hF6Et11BwuBkmpgT/zMxyuZgFrMeZID6Hdh3dGlk4sHCAhdBCpuCKW2ppBfl2uCCetlrUIJRY3w== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-transform-react-display-name" "^7.0.0" - "@babel/plugin-transform-react-jsx" "^7.0.0" - "@babel/plugin-transform-react-jsx-self" "^7.0.0" - "@babel/plugin-transform-react-jsx-source" "^7.0.0" - -"@babel/runtime@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.5.5.tgz#74fba56d35efbeca444091c7850ccd494fd2f132" - integrity sha512-28QvEGyQyNkB0/m2B4FU7IEZGK2NUrcMtT6BZEFALTguLk+AUT6ofsHtPk5QyjAdUkpMJ+/Em+quwz4HOt30AQ== - dependencies: - regenerator-runtime "^0.13.2" - -"@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.4.4": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.4.4.tgz#f4b88d1225689a08f5bc3a17483545be9e4ed237" - integrity sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.4.4" - "@babel/types" "^7.4.4" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.4.3", "@babel/traverse@^7.4.4", "@babel/traverse@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.5.5.tgz#f664f8f368ed32988cd648da9f72d5ca70f165bb" - integrity sha512-MqB0782whsfffYfSjH4TM+LMjrJnhCNEDMDIjeTpl+ASaUvxcjoiVCo/sM1GhS1pHOXYfWVCYneLjMckuUxDaQ== - dependencies: - "@babel/code-frame" "^7.5.5" - "@babel/generator" "^7.5.5" - "@babel/helper-function-name" "^7.1.0" - "@babel/helper-split-export-declaration" "^7.4.4" - "@babel/parser" "^7.5.5" - "@babel/types" "^7.5.5" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/types@^7.0.0", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.4.0", "@babel/types@^7.4.4", "@babel/types@^7.5.5": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.5.5.tgz#97b9f728e182785909aa4ab56264f090a028d18a" - integrity sha512-s63F9nJioLqOlW3UkyMd+BYhXt44YuaFm/VV0VwuteqjYwRrObkU7ra9pY4wAJR3oXi8hJrMcrcJdO/HH33vtw== - dependencies: - esutils "^2.0.2" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - -"@jest/console@^24.7.1", "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" - -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - -"@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" - pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" - source-map "^0.6.1" - write-file-atomic "2.4.1" - -"@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - -"@linked/react@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@linked/react/-/react-3.1.2.tgz#9dce51fa5bf7b9e71b069e9e61c19b7f04540dda" - integrity sha512-iVBYldF6bHPAlskTQNwZMZ1o9LRQX9ZsWZ6VK/0Wm1GeHPIs258JZDou2BQe+TRE5+fEZgN3VGUduz/5QtQj8A== - dependencies: - "@linked/value" "^3.1.0" - react "*" - tslib "^1.9.3" - -"@linked/value@^3.1.0", "@linked/value@^3.1.3": - version "3.1.3" - resolved "https://registry.yarnpkg.com/@linked/value/-/value-3.1.3.tgz#8ca9e5e513daf2608412ed866db0da6d8d0a58dc" - integrity sha512-t14TEsXp2sCDNXc1iX0BDX/PBIhLrigWp67bJDz/b1DYqexPmfFbvyl8ClqfH6x5CB37qiDo44MPNVkbkRBraA== - dependencies: - tslib "^1.9.3" - -"@sinonjs/commons@^1", "@sinonjs/commons@^1.3.0", "@sinonjs/commons@^1.4.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.6.0.tgz#ec7670432ae9c8eb710400d112c201a362d83393" - integrity sha512-w4/WHG7C4WWFyE5geCieFJF6MZkbW4VAriol5KlmQXpAQdxvV0p26sqNZOW6Qyw6Y0l9K4g+cHvvczR2sEEpqg== - dependencies: - type-detect "4.0.8" - -"@sinonjs/formatio@^3.2.1": - version "3.2.1" - resolved "https://registry.yarnpkg.com/@sinonjs/formatio/-/formatio-3.2.1.tgz#52310f2f9bcbc67bdac18c94ad4901b95fde267e" - integrity sha512-tsHvOB24rvyvV2+zKMmPkZ7dXX6LSLKZ7aOtXY6Edklp0uRcgGpOsQTTGTcWViFyx4uhWc6GV8QdnALbIbIdeQ== - dependencies: - "@sinonjs/commons" "^1" - "@sinonjs/samsam" "^3.1.0" - -"@sinonjs/samsam@^3.1.0", "@sinonjs/samsam@^3.3.2": - version "3.3.3" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-3.3.3.tgz#46682efd9967b259b81136b9f120fd54585feb4a" - integrity sha512-bKCMKZvWIjYD0BLGnNrxVuw4dkWCYsLqFOUWw8VgKF/+5Y+mE7LfHWPIYoDXowH+3a9LsWDMo0uAP8YDosPvHQ== - dependencies: - "@sinonjs/commons" "^1.3.0" - array-from "^2.1.1" - lodash "^4.17.15" - -"@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== - -"@types/babel__core@^7.1.0": - version "7.1.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.2.tgz#608c74f55928033fce18b99b213c16be4b3d114f" - integrity sha512-cfCCrFmiGY/yq0NuKNxIQvZFy9kY/1immpSpTngOnyIbD4+eJOG5mxphhHDv3CHL9GltO4GcKr54kGBg3RNdbg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.0.2.tgz#d2112a6b21fad600d7674274293c85dce0cb47fc" - integrity sha512-NHcOfab3Zw4q5sEE2COkpfXjoE7o+PmqD9DQW4koUT3roNxwziUdXGnRndMat/LJNUtePwn1TlP4do3uoe3KZQ== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.7.tgz#2496e9ff56196cc1429c72034e07eab6121b6f3f" - integrity sha512-CeBpmX1J8kWLcDEnI3Cl2Eo6RfbGvzUctA+CjZUhOKDFbLfcr7fc4usEqLNWetrlJd7RhAkyYe2czXop4fICpw== - dependencies: - "@babel/types" "^7.3.0" - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-1.1.1.tgz#e5471e7fa33c61358dd38426189c037a58433b8c" - integrity sha512-3BUTyMzbZa2DtDI2BkERNC6jJw2Mr2Y0oGI7mRxYNBPxppbtEK1F66u3bKwU2g+wxwWI7PAoRpJnOY1grJqzHg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest-diff@*": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jest-diff/-/jest-diff-20.0.1.tgz#35cc15b9c4f30a18ef21852e255fdb02f6d59b89" - integrity sha512-yALhelO3i0hqZwhjtcr6dYyaLoCHbAMshwtj6cGxTvHZAKXHsYGdff6E8EPw3xLKY0ELUTQ69Q1rQiJENnccMA== - -"@types/jest@*": - version "24.0.18" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.18.tgz#9c7858d450c59e2164a8a9df0905fc5091944498" - integrity sha512-jcDDXdjTcrQzdN06+TSVsPPqxvsZA/5QkYfIZlq1JMw7FdP5AZylbOc+6B/cuDurctRe+MziUMtQ3xQdrbjqyQ== - dependencies: - "@types/jest-diff" "*" - -"@types/node@*", "@types/node@^12.7.2": - version "12.7.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.2.tgz#c4e63af5e8823ce9cc3f0b34f7b998c2171f0c44" - integrity sha512-dyYO+f6ihZEtNPDcWNR1fkoTDf3zAK3lAABDze3mz6POyIercH0lEUawUFXlG8xaQZmm1yEBON/4TsYv/laDYg== - -"@types/prop-types@*": - version "15.7.1" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.1.tgz#f1a11e7babb0c3cad68100be381d1e064c68f1f6" - integrity sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg== - -"@types/react@^16.8.23": - version "16.9.2" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.2.tgz#6d1765431a1ad1877979013906731aae373de268" - integrity sha512-jYP2LWwlh+FTqGd9v7ynUKZzjj98T8x7Yclz479QdRhHfuW9yQ+0jjnD31eXSXutmBpppj5PYNLYLRfnZJvcfg== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/yargs-parser@*": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-13.0.0.tgz#453743c5bbf9f1bed61d959baab5b06be029b2d0" - integrity sha512-wBlsw+8n21e6eTd4yVv8YD/E3xq0O6nNnJIquutAsFGE7EyMKz7W6RNT6BRu1SmdgmlCZ9tb0X+j+D6HGr8pZw== - -"@types/yargs@^13.0.0": - version "13.0.2" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.2.tgz#a64674fc0149574ecd90ba746e932b5a5f7b3653" - integrity sha512-lwwgizwk/bIIU+3ELORkyuOgDjCh7zuWDFqRtPPhhVgq9N1F7CvLNKg1TX4f2duwtKQ0p044Au9r1PLIXHrIzQ== - dependencies: - "@types/yargs-parser" "*" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.0.tgz#aba0ab4c5eee2d4c79d3487d85450fb2376ebb0f" - integrity sha512-sY5AXXVZv4Y1VACTtR11UJCPHHudgY5i26Qj5TypE6DKlIApbwb5uqhXcJ5UUGbvZNRh7EeIoW+LrJumBsKp7w== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -acorn-globals@^4.1.0: - version "4.3.3" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" - integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn@^5.5.3: - version "5.7.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.3.tgz#67aa231bf8812974b85235a96771eb6bd07ea279" - integrity sha512-T/zvzYRfbVojPWahDsE5evJdHb3oJoQfFbsrKM7w5Zcs++Tr257tia3BmMP8XYVjp1S9RZXQMh7gao96BlqZOw== - -acorn@^6.0.1, acorn@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.3.0.tgz#0087509119ffa4fc0a0041d1e93a417e68cb856e" - integrity sha512-/czfa8BwS88b9gWQVhc8eknunSA2DoJpJyTQkhheIf5E48u1N0R4q/YxxsAeqRrmK9TQ/uYfgLDfZo91UlANIA== - -acorn@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a" - integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ== - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv@^6.1.0, ajv@^6.10.2, ajv@^6.5.5: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-escapes@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-from@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/array-from/-/array-from-2.1.1.tgz#cfe9d8c26628b9dc5aecc62a9f5d8f1f352c1195" - integrity sha1-z+nYwmYoudxa7MYqn12PHzUsEZU= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^2.5.0: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.8.0.tgz#f0e003d9ca9e7f59c7a508945d7b2ef9a04a542f" - integrity sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ== - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-loader@*: - version "8.0.6" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.0.6.tgz#e33bdb6f362b03f4bb141a0c21ab87c501b70dfb" - integrity sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw== - dependencies: - find-cache-dir "^2.0.0" - loader-utils "^1.0.2" - mkdirp "^0.5.1" - pify "^4.0.1" - -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.0.tgz#f00f507bdaa3c3e3ff6e7e5e98d90a7acab96f7f" - integrity sha512-o6qFkpeQEBxcqt0XYlWzAVxNCSCZdUgcR8IRlhD/8DylxjjO4foPcvTW0GGKa/cVt3rvxZ7o5ippJ+/0nvLhlQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -bluebird@^3.5.5: - version "3.5.5" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" - integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-0.1.3.tgz#616f00faef1df7ec1b5bf9cfe2bdc3170f26c7b4" - integrity sha512-bRFnI4NnjO6cnyLmOV/7PVoDEMJChlcfN0z4s1YMBY989/SvlfMI1lgCnkFUs53e9gQF+w7qu7XdllSTiSl8Aw== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@^4.6.0, browserslist@^4.6.6: - version "4.6.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.6.6.tgz#6e4bf467cde520bc9dbdf3747dafa03531cec453" - integrity sha512-D2Nk3W9JL9Fp/gIcWei8LrERCS+eXu9AM5cfXA8WEZ84lFks+ARnZ0q/R69m2SV3Wjma83QDDPxsNKXUwdIsyA== - dependencies: - caniuse-lite "^1.0.30000984" - electron-to-chromium "^1.3.191" - node-releases "^1.1.25" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.0.tgz#65fc784bf7f87c009b973c12db6546902fa9c7b5" - integrity sha512-8zsjWrQkkBoLK6uxASk1nJ2SKv97ltiGDo6A3wA0/yRPz+CwmEyDo0hUrhIuukG2JHpAl3bvFIixw2/3Hi0DOg== - dependencies: - node-int64 "^0.4.0" - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" - integrity sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg= - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-modules@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.1.0.tgz#aad97c15131eb76b65b50ef208e7584cd76a7484" - integrity sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw== - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -cacache@^12.0.2: - version "12.0.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.3.tgz#be99abba4e1bf5df461cd5a2c1071fc432573390" - integrity sha512-kqdmfXEGFepesTuROHMs3MpFLWrPkSSpRqOw80RCflZXy/khxaArvFrQ7uJxSUduzAufc6G0g1VUCOZXxWavPw== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -caniuse-lite@^1.0.30000984: - version "1.0.30000989" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30000989.tgz#b9193e293ccf7e4426c5245134b8f2a56c0ac4b9" - integrity sha512-vrMcvSuMz16YY6GSVZ0dWDTJP8jqk3iFQ/Aq5iqblPwxSVVZI+zxDyTX0VPqtQsDnfdrBDcsmhgTEOh5R8Lbpw== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chai@*, chai@^4.1.2: - version "4.2.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.2.0.tgz#760aa72cf20e3795e84b12877ce0e83737aa29e5" - integrity sha512-XQU3bhBukrOsQCuwZndwGcCVQHyZi53fQ6Ys1Fym7E4olpIqqZZhhoFJoaKVvV17lWQoXYwgWN2nF5crA8J2jw== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^3.0.1" - get-func-name "^2.0.0" - pathval "^1.1.0" - type-detect "^4.0.5" - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha1-V00xLt2Iu13YkS6Sht1sCu1KrII= - -chokidar@^2.0.2: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chownr@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" - integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -classnames@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@2.12.2: - version "2.12.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" - integrity sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA== - -commander@^2.20.0, commander@~2.20.0: - version "2.20.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" - integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -console-browserify@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" - integrity sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA= - dependencies: - date-now "^0.1.4" - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -convert-source-map@^1.1.0, convert-source-map@^1.4.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.6.0.tgz#51b537a8c43e0f04dec1993bffcdd504e758ac20" - integrity sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A== - dependencies: - safe-buffer "~5.1.1" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -core-js-compat@^3.1.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.2.1.tgz#0cbdbc2e386e8e00d3b85dc81c848effec5b8150" - integrity sha512-MwPZle5CF9dEaMYdDeWm73ao/IflDH+FjeJCWEADcEgFSE9TLimFKwJsfmkwzI8eC0Aj0mgvMDjeQjrElkz4/A== - dependencies: - browserslist "^4.6.6" - semver "^6.3.0" - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - -create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -cross-spawn@6.0.5, cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - -css-loader@*: - version "3.2.0" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.2.0.tgz#bb570d89c194f763627fcf1f80059c6832d009b2" - integrity sha512-QTF3Ud5H7DaZotgdcJjGMvyDj5F3Pn1j/sC6VBEOVp94cbwqyIBdcs/quzj4MC1BKQSrTpQznegH/5giYbhnCQ== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.17" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.0" - schema-utils "^2.0.0" - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0": - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== - dependencies: - cssom "0.3.x" - -csstype@^2.2.0: - version "2.6.6" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.6.tgz#c34f8226a94bbb10c32cc0d714afdf942291fc41" - integrity sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg== - -cyclist@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-0.2.2.tgz#1b33792e11e914a2fd6d6ed6447464444e5fa640" - integrity sha1-GzN5LhHpFKL9bW7WRHRkRE5fpkA= - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-now@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" - integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= - -debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -deep-eql@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" - integrity sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw== - dependencies: - type-detect "^4.0.0" - -deep-equal@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -define-properties@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -des.js@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" - integrity sha1-wHTS4qpqipoH29YfmhXCzYPsjsw= - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -detect-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" - integrity sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= - -detect-libc@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" - integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - -diff@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -electron-to-chromium@^1.3.191: - version "1.3.241" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.241.tgz#859dc49ab7f90773ed698767372d384190f60cb1" - integrity sha512-Gb9E6nWZlbgjDDNe5cAvMJixtn79krNJ70EDpq/M10lkGo7PGtBUe7Y0CYVHsBScRwi6ybCS+YetXAN9ysAHDg== - -elliptic@^6.0.0: - version "6.5.0" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca" - integrity sha512-eFOJTMyCYb7xtE/caJ6JJu+bhi67WCYNbkGSknu20pmM8Ke/bqOfdnZWxyoGN26JgfxTbXrsCkEw4KheCT/KGg== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" - integrity sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@4.1.0, enhanced-resolve@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.0.tgz#41c7e0bfdfe74ac1ffe1e57ad6a5c6c9f3742a7f" - integrity sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.4.0" - tapable "^1.0.0" - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.5.1: - version "1.13.0" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.13.0.tgz#ac86145fdd5099d8dd49558ccba2eaf9b88e24e9" - integrity sha512-vDZfg/ykNxQVwup/8E1BZhVzFfBxs9NqMzGcvIJrqg5k2/5Za2bWo40dK2J1pgLngZ7c+Shh8lwYtLGyrwPutg== - dependencies: - es-to-primitive "^1.2.0" - function-bind "^1.1.1" - has "^1.0.3" - is-callable "^1.1.4" - is-regex "^1.0.4" - object-keys "^1.0.12" - -es-to-primitive@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.0.tgz#edf72478033456e8dda8ef09e00ad9650707f377" - integrity sha512-qZryBOJjV//LaxLTV6UC//WewneB3LcXOL9NP++ozKVXsIIIpm/2c13UDiD9Jp2eThsecw9m3jPqDwTyobcdbg== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.9.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" - integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== - dependencies: - esprima "^3.1.3" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -esprima@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-3.1.3.tgz#fdca51cee6133895e3c88d535ce49dbff62a4633" - integrity sha1-/cpRzuYTOJXjyI1TXOSdv/YqRjM= - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-0.6.1.tgz#53049143f40c6eb918b23671d1fe3219f3a1b362" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -esutils@^2.0.0, esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -events@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.0.0.tgz#9a0a0dfaf62893d92b875b8f2698ca4114973e88" - integrity sha512-Dc381HFWJzEOhQ+d8pkNon++bk9h6cdAoAj4iE6Q4y6xgTzySWXlKn05/TVNpjnfRqi/X0EpJEJohPjNI3zpVA== - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -exenv@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha1-KueOhdmJQVhnCwPUe+wfA72Ru50= - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expand-tilde@^2.0.0, expand-tilde@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" - integrity sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= - dependencies: - homedir-polyfill "^1.0.1" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" - integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I= - -fast-levenshtein@~2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fb-watchman@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.0.tgz#54e9abf7dfa2f26cd9b1636c588c1afc05de5d58" - integrity sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg= - dependencies: - bser "^2.0.0" - -figgy-pudding@^3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" - integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -findup-sync@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-3.0.0.tgz#17b108f9ee512dfb7a5c7f3c8b27ea9e1a9c08d1" - integrity sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== - dependencies: - detect-file "^1.0.0" - is-glob "^4.0.0" - micromatch "^3.0.4" - resolve-dir "^1.0.1" - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-minipass@^1.2.5: - version "1.2.6" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.6.tgz#2c5cc30ded81282bfe8a0d7c7c1853ddeb102c07" - integrity sha512-crhvyXcMejjv3Z5d2Fa9sf5xLYVCF5O1c71QxbVnbLsmYMBEvDAftewesN/HhY03YRoA7zOMxjNGrF5svGaaeQ== - dependencies: - minipass "^2.2.1" - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@^1.2.7: - version "1.2.9" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.9.tgz#3f5ed66583ccd6f400b5a00db6f7e861363e388f" - integrity sha512-oeyj2H3EjjonWcFjD5NvZNE9Rqe4UW+nQBU2HNeKw0koVLEFIhtyETyAakeAM3de7Z/SW5kcA+fZUait9EApnw== - dependencies: - nan "^2.12.1" - node-pre-gyp "^0.12.0" - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha1-6td0q+5y4gQJQzoGY2YCPdaIekE= - -get-stream@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.1.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255" - integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -global-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-modules@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" - integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== - dependencies: - global-prefix "^1.0.1" - is-windows "^1.0.1" - resolve-dir "^1.0.0" - -global-prefix@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" - integrity sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= - dependencies: - expand-tilde "^2.0.2" - homedir-polyfill "^1.0.1" - ini "^1.3.4" - is-windows "^1.0.1" - which "^1.2.14" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.2.tgz#6f0952605d0140c1cfdb138ed005775b92d67b02" - integrity sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q== - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -handlebars@*, handlebars@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.1.2.tgz#b6b37c1ced0306b221e094fc7aca3ec23b131b67" - integrity sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw== - dependencies: - neo-async "^2.6.0" - optimist "^0.6.1" - source-map "^0.6.1" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" - integrity sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q= - -has-unicode@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.1, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -highlight.js@*: - version "9.15.10" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.10.tgz#7b18ed75c90348c045eef9ed08ca1319a2219ad2" - integrity sha512-RoV7OkQm0T3os3Dd2VHLNMoaoDVx77Wygln3n9l5YV172XonWG6rgQD3XnF/BuFFZw9A0TJgmMSO8FEWQgvcXw== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -homedir-polyfill@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" - integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== - dependencies: - parse-passwd "^1.0.0" - -hosted-git-info@^2.1.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.4.tgz#44119abaf4bc64692a16ace34700fed9c03e2546" - integrity sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -iconv-lite@0.4.24, iconv-lite@^0.4.4, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-utils@^4.0.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-walk@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" - integrity sha512-DTVlMx3IYPe0/JJcYP7Gxg7ttZZu3IInhuEhbchuqneY9wWe5Ojy2mXLBaQFUQmo0AW2r3qG7m1mg86js+gnlQ== - dependencies: - minimatch "^3.0.4" - -import-local@2.0.0, import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -interpret@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296" - integrity sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" - integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" - integrity sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY= - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-reference@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.1.3.tgz#e99059204b66fdbe09305cfca715a29caa5c8a51" - integrity sha512-W1iHHv/oyBb2pPxkBxtaewxa1BC58Pn5J0hogyCdefwUIvb6R+TGbAcIa4qPNYLqLhb3EnOgUf2MQkkF76BcKw== - dependencies: - "@types/estree" "0.0.39" - -is-regex@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" - integrity sha1-VRdIm1RwkbCTDglWVM7SXul+lJE= - dependencies: - has "^1.0.1" - -is-stream@^1.0.1, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-symbol@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.2.tgz#a055f6ae57192caee329e7a860118b497a950f38" - integrity sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw== - dependencies: - has-symbols "^1.0.0" - -is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-windows@^1.0.1, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isomorphic-fetch@*: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== - dependencies: - handlebars "^4.1.2" - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.1.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-worker@^24.0.0, jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest@*: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -js-levenshtein@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d" - integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g== - -js-reporters@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/js-reporters/-/js-reporters-1.2.1.tgz#f88c608e324a3373a95bcc45ad305e5c979c459b" - integrity sha1-+IxgjjJKM3OpW8xFrTBeXJecRZs= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json5@2.x, json5@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.0.tgz#e7a0c62c48285c628d20a10b85c89bb807c32850" - integrity sha512-8Mh9h6xViijj36g7Dxi+Y4S6hNGV96vcJZr/SrlHh1LR/pEn/8j/+qIBbs44YKl69Lrfctp4QD+AdWLTMqEZAQ== - dependencies: - minimist "^1.2.0" - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -just-extend@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.0.2.tgz#f3f47f7dfca0f989c55410a7ebc8854b07108afc" - integrity sha512-FrLwOgm+iXrPV+5zDU6Jqu4gCRXbWEQg2O3SKONsWE4w7AXFRkryS53bpWdaL9cNol+AmR3AEYz6kn+o0fCPnw== - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" - integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@1.2.3, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -lolex@^4.1.0, lolex@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-4.2.0.tgz#ddbd7f6213ca1ea5826901ab1222b65d714b3cd7" - integrity sha512-gKO5uExCXvSm6zbF562EvM+rd1kQDnB9AZBbiQVzf1ZmdDpxUSvpnAaVOP83N/31mRK8Ml8/VE8DMvsAZQ+7wg== - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.25.2: - version "0.25.3" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.3.tgz#34b8d2a2c7fec9d9bdf9929a3fd81d271ef35be9" - integrity sha512-6QK0OpF/phMz0Q2AxILkX2mFhi7m+WMwTRg0LQKq/WBB0cDP4rYH3Wp4/d3OTXlrPLVJT/RFqj8tFeAR4nk8AA== - dependencies: - sourcemap-codec "^1.4.4" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-error@1.x: - version "1.3.5" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.5.tgz#efe4e81f6db28cadd605c70f29c831b58ef776c8" - integrity sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g== - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -marked@^0.3.0: - version "0.3.19" - resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.19.tgz#5d47f709c4c9fc3c216b6d46127280f40b39d790" - integrity sha512-ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg== - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.0, memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.40.0: - version "1.40.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.40.0.tgz#a65057e998db090f732a68f6c276d387d4126c32" - integrity sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA== - -mime-types@^2.1.12, mime-types@~2.1.19: - version "2.1.24" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.24.tgz#b6f8d0b3e951efb77dedeca194cff6d16f676f81" - integrity sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ== - dependencies: - mime-db "1.40.0" - -mimic-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0= - -minimist@^1.1.1, minimist@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" - integrity sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ= - -minimist@~0.0.1: - version "0.0.10" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" - integrity sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8= - -minipass@^2.2.1, minipass@^2.3.5: - version "2.4.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.4.0.tgz#38f0af94f42fb6f34d3d7d82a90e2c99cd3ff485" - integrity sha512-6PmOuSP4NnZXzs2z6rbwzLJu/c5gdzYg1mRI/WIYdx45iiX7T+a4esOzavD6V/KmBzAaopFSTZPZcUx73bqKWA== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minizlib@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.2.1.tgz#dd27ea6136243c7c880684e8672bb3a45fd9b614" - integrity sha512-7+4oTUOWKg7AuL3vloEWekXY2/D20cevzsrNT2kGWm+39J9hGTCBv8VI5Pm5lXZ/o3/mdR4f8rflAPhnQb8mPA== - dependencies: - minipass "^2.2.1" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mkdirp@0.x, mkdirp@^0.5.0, mkdirp@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM= - dependencies: - minimist "0.0.8" - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nan@^2.12.1: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -needle@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c" - integrity sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg== - dependencies: - debug "^3.2.6" - iconv-lite "^0.4.4" - sax "^1.2.4" - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -nise@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/nise/-/nise-1.5.1.tgz#de61d99a1d3b46b5233be4531569b9a8e27372b2" - integrity sha512-edFWm0fsFG2n318rfEnKlTZTkjlbVOFF9XIA+fj+Ed+Qz1laYW2lobwavWoMzGrYDHH1EpiNJgDfvGnkZztR/g== - dependencies: - "@sinonjs/formatio" "^3.2.1" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - lolex "^4.1.0" - path-to-regexp "^1.7.0" - -nock@*: - version "10.0.6" - resolved "https://registry.yarnpkg.com/nock/-/nock-10.0.6.tgz#e6d90ee7a68b8cfc2ab7f6127e7d99aa7d13d111" - integrity sha512-b47OWj1qf/LqSQYnmokNWM8D88KvUl2y7jT0567NB3ZBAZFz2bWp2PC81Xn7u8F2/vJxzkzNZybnemeFa7AZ2w== - dependencies: - chai "^4.1.2" - debug "^4.1.0" - deep-equal "^1.0.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.5" - mkdirp "^0.5.0" - propagate "^1.0.0" - qs "^6.5.1" - semver "^5.5.0" - -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - dependencies: - assert "^1.1.1" - browserify-zlib "^0.2.0" - buffer "^4.3.0" - console-browserify "^1.1.0" - constants-browserify "^1.0.0" - crypto-browserify "^3.11.0" - domain-browser "^1.1.1" - events "^3.0.0" - https-browserify "^1.0.0" - os-browserify "^0.3.0" - path-browserify "0.0.1" - process "^0.11.10" - punycode "^1.2.4" - querystring-es3 "^0.2.0" - readable-stream "^2.3.3" - stream-browserify "^2.0.1" - stream-http "^2.7.2" - string_decoder "^1.0.0" - timers-browserify "^2.0.4" - tty-browserify "0.0.0" - url "^0.11.0" - util "^0.11.0" - vm-browserify "^1.0.1" - -node-modules-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-pre-gyp@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.12.0.tgz#39ba4bb1439da030295f899e3b520b7785766149" - integrity sha512-4KghwV8vH5k+g2ylT+sLTjy5wmUOb9vPhnM8NHvRf9dHmnW/CndrFXy2aRPaPST6dugXSdHXfeaHQm77PIz/1A== - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - -node-releases@^1.1.25: - version "1.1.28" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.28.tgz#503c3c70d0e4732b84e7aaa2925fbdde10482d4a" - integrity sha512-AQw4emh6iSXnCpDiFe0phYcThiccmkNWMZnFZ+lDJjAP8J0m2fVd59duvUUyuTirQOhIAajTFkzG6FHCLBO59g== - dependencies: - semver "^5.3.0" - -node-watch@0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/node-watch/-/node-watch-0.6.0.tgz#ab0703b60cd270783698e57a428faa0010ed8fd0" - integrity sha512-XAgTL05z75ptd7JSVejH1a2Dm1zmXYhuDr9l230Qk6Z7/7GPcnAs/UyJJ4ggsXSvWil8iOzwQLW0zuGUvHpG8g== - -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - integrity sha1-0NRoWv1UFRk8jHUFYC0NF81kR00= - dependencies: - abbrev "1" - osenv "^0.1.4" - -normalize-package-data@^2.3.2: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-bundled@^1.0.1: - version "1.0.6" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.6.tgz#e7ba9aadcef962bb61248f91721cd932b3fe6bdd" - integrity sha512-8/JCaftHwbd//k6y2rEWp6k1wxVfpFzB6t1p825+cUb7Ym2XQfhwIC5KwhrvzZRJu+LtDE585zVaS32+CGtf0g== - -npm-packlist@^1.1.6: - version "1.4.4" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" - integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npmlog@^4.0.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7: - version "2.1.4" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.1.4.tgz#e006a878db23636f8e8a67d33ca0e4edf61a842f" - integrity sha512-iGfd9Y6SFdTNldEy2L0GUhcarIutFmk+MPWIn9dmj8NMIup03G08uUF2KGbbmv/Ux4RT0VZJoP/sVbWA6d/VIw== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-keys@^1.0.11, object-keys@^1.0.12: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.getownpropertydescriptors@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" - integrity sha1-h1jIRvW0B62rDyNuCYbxSwUcqhY= - dependencies: - define-properties "^1.1.2" - es-abstract "^1.5.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -optimist@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" - integrity sha1-2j6nRob6IaGaERwybpDrFaAZZoY= - dependencies: - minimist "~0.0.1" - wordwrap "~0.0.2" - -optionator@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" - integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q= - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.4" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - wordwrap "~1.0.0" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-tmpdir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.1.tgz#aa07a788cc3151c939b5131f63570f0dd2009537" - integrity sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg== - dependencies: - p-try "^2.0.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -pako@~1.0.5: - version "1.0.10" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.10.tgz#4328badb5086a426aa90f541977d4955da5c9732" - integrity sha512-0DTvPVU3ed8+HNXOu5Bs+o//Mbdj9VNQMUOe9oKCwh8l0GNwpTDMKCWbRjgtD291AWnkAgkqA/LOnQS8AmS1tw== - -parallel-transform@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.1.0.tgz#d410f065b05da23081fcd10f28854c29bda33b06" - integrity sha1-1BDwZbBdojCB/NEPKIVMKb2jOwY= - dependencies: - cyclist "~0.2.2" - inherits "^2.0.3" - readable-stream "^2.1.5" - -parse-asn1@^5.0.0: - version "5.1.4" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc" - integrity sha512-Qs5duJcuvNExRfFZ99HDD3z4mAi3r9Wl/FOjEOijlxwCZs7E7mW2vjTpgQ4J8LpTF8x5v+1Vn5UQFejmWT11aw== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-passwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" - integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.7.0.tgz#59fde0f435badacba103a84e9d3bc64e96b9937d" - integrity sha1-Wf3g9DW62suhA6hOnTvGTpa5k30= - dependencies: - isarray "0.0.1" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -pathval@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" - integrity sha1-uULm1L3mUwBe9rcTYd74cn0GReA= - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" - -postcss-modules-scope@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.1.0.tgz#ad3f5bf7856114f6fcab901b0502e2a2bc39d4eb" - integrity sha512-91Rjps0JnmtUB0cujlc8KIKCsJXWjzuxGeT/+Q2i2HXKZ7nBUeF9YQTZZTNvHVoNYj1AthsjnGLtqDUE0Op79A== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-value-parser@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.2.tgz#482282c09a42706d1fc9a069b73f44ec08391dc9" - integrity sha512-LmeoohTpp/K4UiyQCwuGWlONxXamGzCMtFxLq4W1nZVGIQLYvMCJx3yAF9qyyuFpflABI9yVdtJAqbihOsCsJQ== - -postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.17" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.17.tgz#4da1bdff5322d4a0acaab4d87f3e782436bad31f" - integrity sha512-546ZowA+KZ3OasvQZHsbuEpysvwTZNGJv9EfyCQdsIDltPSWHAeTQ5fQy/Npi2ZDtLI3zs7Ps/p6wThErhm9fQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -private@^0.1.6: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -prompts@^2.0.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.2.1.tgz#f901dd2a2dfee080359c0e20059b24188d75ad35" - integrity sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.3" - -prop-types@^15.5.10, prop-types@^15.6.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -propagate@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/propagate/-/propagate-1.0.0.tgz#00c2daeedda20e87e3782b344adba1cddd6ad709" - integrity sha1-AMLa7t2iDofjeCs0Stuhzd1q1wk= - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -psl@^1.1.24, psl@^1.1.28: - version "1.3.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.3.0.tgz#e1ebf6a3b5564fa8376f3da2275da76d875ca1bd" - integrity sha512-avHdspHO+9rQTLbv1RO+MPYeP/SzsCoxofjVnHanETfQhTJrmB0HlDoW+EiN/R+C0BZ+gERab9NY0lPN2TxNag== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4, punycode@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qs@^6.5.1: - version "6.8.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.8.0.tgz#87b763f0d37ca54200334cd57bb2ef8f68a1d081" - integrity sha512-tPSkj8y92PfZVbinY1n84i1Qdx75lZjMQYx9WZhnkofyxzw2r7Ho39G3/aEvSUdebxpnnM4LZJCtvE/Aq3+s9w== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -qunit@*: - version "2.9.2" - resolved "https://registry.yarnpkg.com/qunit/-/qunit-2.9.2.tgz#97919440c9c0ae838bcd3c33a2ee42f35c5ef4a0" - integrity sha512-wTOYHnioWHcx5wa85Wl15IE7D6zTZe2CQlsodS14yj7s2FZ3MviRnQluspBZsueIDEO7doiuzKlv05yfky1R7w== - dependencies: - commander "2.12.2" - js-reporters "1.2.1" - minimatch "3.0.4" - node-watch "0.6.0" - resolve "1.9.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-dom@^16.1.1: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.9.0.tgz#5e65527a5e26f22ae3701131bcccaee9fb0d3962" - integrity sha512-YFT2rxO9hM70ewk9jq0y6sQk8cL02xm4+IzYBz75CQGlClQQ1Bxq0nhHF6OtSbit+AIahujJgb/CPRibFkMNJQ== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.15.0" - -react-is@^16.8.1, react-is@^16.8.4: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.9.0.tgz#21ca9561399aad0ff1a7701c01683e8ca981edcb" - integrity sha512-tJBzzzIgnnRfEm046qRcURvwQnZVXmuCbscxUO5RWrGTXpon2d4c8mI0D8WE6ydVIm29JiLB6+RslkIvym9Rjw== - -react-lifecycles-compat@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - -react-modal@^3.1.2: - version "3.10.1" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.10.1.tgz#ba37927871830c798f51404aa6bc71ff7a5e4c16" - integrity sha512-2DKIfdOc8+WY+SYJ/xf/WBwOYMmNAYAyGkYlc4e1TCs9rk1xY4QBz04hB3UHGcrLChh7ce77rHAe6VPNmuLYsQ== - dependencies: - exenv "^1.2.0" - prop-types "^15.5.10" - react-lifecycles-compat "^3.0.0" - warning "^4.0.3" - -react@*: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -react@^16.1.1, react@^16.8.6: - version "16.9.0" - resolved "https://registry.yarnpkg.com/react/-/react-16.9.0.tgz#40ba2f9af13bc1a38d75dbf2f4359a5185c4f7aa" - integrity sha512-+7LQnFBwkiw+BobzOF6N//BdoNw0ouwmSJTEm9cglOOmsg/TMiFHZLe2sEoN5M7LgJTj9oHH0gxklfnQe66S1w== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.6" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" - integrity sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - -reflect-metadata@*: - version "0.1.13" - resolved "https://registry.yarnpkg.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz#67ae3ca57c972a2aa1642b10fe363fe32d49dc08" - integrity sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg== - -regenerate-unicode-properties@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.1.0.tgz#ef51e0f0ea4ad424b77bf7cb41f3e015c70a3f0e" - integrity sha512-LGZzkgtLY79GeXLm8Dp0BVLdQlWICzBnJz/ipWUgo59qBaZ+BHtq51P2q1uVZlppMuUAT37SDk39qUbjTWB7bA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.13.2: - version "0.13.3" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz#7cf6a77d8f5c6f60eb73c5fc1955b2ceb01e6bf5" - integrity sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw== - -regenerator-transform@^0.14.0: - version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.1.tgz#3b2fce4e1ab7732c08f665dfdb314749c7ddd2fb" - integrity sha512-flVuee02C3FKRISbxhXl9mGzdbWUVHubl1SMaknjxkFB1/iqpJhArQUvRxOOPEc/9tAiX0BaQ28FJH10E4isSQ== - dependencies: - private "^0.1.6" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regexp-tree@^0.1.6: - version "0.1.12" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.12.tgz#28eaaa6e66eeb3527c15108a3ff740d9e574e420" - integrity sha512-TsXZ8+cv2uxMEkLfgwO0E068gsNMLfuYwMMhiUxf0Kw2Vcgzq93vgl6wIlIYuPmfMqMjfQ9zAporiozqCnwLuQ== - -regexpu-core@^4.5.4: - version "4.5.5" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.5.5.tgz#aaffe61c2af58269b3e516b61a73790376326411" - integrity sha512-FpI67+ky9J+cDizQUJlIlNZFKual/lUkFr1AG6zOCpwZ9cLrg8UUVakyUQJD7fCDIe9Z2nwTQJNPyonatNmDFQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.1.0" - regjsgen "^0.5.0" - regjsparser "^0.6.0" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.1.0" - -regjsgen@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" - integrity sha512-RnIrLhrXCX5ow/E5/Mh2O4e/oa1/jW0eaBKTSy3LaCj+M3Bqvm97GWDp2yUtzIs4LEn65zR2yiYGFqb2ApnzDA== - -regjsparser@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.0.tgz#f1e6ae8b7da2bae96c99399b868cd6c933a2ba9c" - integrity sha512-RQ7YyokLiQBomUJuUG8iGVvkgOLxwyZM8k6d3q5SAXpg4r5TZJZigKFvC6PpD+qQ98bCDC5YelPeA3EucDoNeQ== - dependencies: - jsesc "~0.5.0" - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -request-promise-core@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.2.tgz#339f6aababcafdb31c799ff158700336301d3346" - integrity sha512-UHYyq1MO8GsefGEt7EprS8UrXsm1TxEvFUX1IMTuSLU2Rh7fTIdFtl8xD7JiEYiWU2dl+NYAjCTksTehQUxPag== - dependencies: - lodash "^4.17.11" - -request-promise-native@^1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.7.tgz#a49868a624bdea5069f1251d0a836e0d89aa2c59" - integrity sha512-rIMnbBdgNViL37nZ1b3L/VfPOpSi0TqVDQPAvO6U14lMzOLrt5nilxCQqtDKhZeDiW0/hkCXGoQjhgJd/tCh6w== - dependencies: - request-promise-core "1.1.2" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0: - version "2.88.0" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.0.tgz#9c2fca4f7d35b592efe57c7f0a55e81052124fef" - integrity sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.0" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.4.3" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-dir@^1.0.0, resolve-dir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" - integrity sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= - dependencies: - expand-tilde "^2.0.0" - global-modules "^1.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= - -resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= - -resolve@1.9.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.9.0.tgz#a14c6fdfa8f92a7df1d996cb7105fa744658ea06" - integrity sha512-TZNye00tI67lwYvzxCxHGjwTNlUV70io54/Ed4j6PscB8xVfuBJpRenI/o6dVk0cY0PYTY27AgCoGGxRnYuItQ== - dependencies: - path-parse "^1.0.6" - -resolve@1.x, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== - dependencies: - path-parse "^1.0.6" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rollup-plugin-commonjs@*: - version "10.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.0.2.tgz#61328f3a29945e2c35f2b2e824c18944fd88a54d" - integrity sha512-DxeR4QXTgTOFseYls1V7vgKbrSJmPYNdEMOs0OvH+7+89C3GiIonU9gFrE0u39Vv1KWm3wepq8KAvKugtoM2Zw== - dependencies: - estree-walker "^0.6.1" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" - rollup-pluginutils "^2.8.1" - -rollup-plugin-node-resolve@*: - version "5.2.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz#730f93d10ed202473b1fb54a5997a7db8c6d8523" - integrity sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw== - dependencies: - "@types/resolve" "0.0.8" - builtin-modules "^3.1.0" - is-module "^1.0.0" - resolve "^1.11.1" - rollup-pluginutils "^2.8.1" - -rollup-plugin-paths@*: - version "0.0.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-paths/-/rollup-plugin-paths-0.0.4.tgz#1594b6212e3f06e28b686f0c75c27efd4eaf2747" - integrity sha512-BSX7MKzbF/6kFahkLyvpYwj7H1Iw1Swyf8+lK+kUrcTMDZLXncRusFeopPC2xv/8HcsapLmwzs8QWt7+64UMrA== - -rollup-plugin-sourcemaps@*: - version "0.4.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.4.2.tgz#62125aa94087aadf7b83ef4dfaf629b473135e87" - integrity sha1-YhJaqUCHqt97g+9N+vYptHMTXoc= - dependencies: - rollup-pluginutils "^2.0.1" - source-map-resolve "^0.5.0" - -rollup-plugin-uglify@*: - version "6.0.2" - resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.2.tgz#681042cfdf7ea4e514971946344e1a95bc2772fe" - integrity sha512-qwz2Tryspn5QGtPUowq5oumKSxANKdrnfz7C0jm4lKxvRDsNe/hSGsB9FntUul7UeC4TsZEWKErVgE1qWSO0gw== - dependencies: - "@babel/code-frame" "^7.0.0" - jest-worker "^24.0.0" - serialize-javascript "^1.6.1" - uglify-js "^3.4.9" - -rollup-pluginutils@^2.0.1, rollup-pluginutils@^2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" - integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== - dependencies: - estree-walker "^0.6.1" - -rollup@*: - version "1.20.2" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.20.2.tgz#0e1be13cb5de244c9c463027092f7c93461558b9" - integrity sha512-pF4jFzNWMUuudIAeiTgOcSxn8XkBN2Y2/IwPR7iL/IZ8k9RwoLyp2QwNWiYT+HF537zwpmzZHTBYw345H9vq1A== - dependencies: - "@types/estree" "0.0.39" - "@types/node" "^12.7.2" - acorn "^7.0.0" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sax@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -scheduler@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.15.0.tgz#6bfcf80ff850b280fed4aeecc6513bc0b4f17f8e" - integrity sha512-xAefmSfN6jqAa7Kuq7LIJY0bwAPG3xlCj0HMEBQk1lxYiDKZscY2xJ5U/61ZTrYbmNQbXa+gc7czPkVo11tnCg== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.0.0, schema-utils@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.1.0.tgz#940363b6b1ec407800a22951bdcc23363c039393" - integrity sha512-g6SViEZAfGNrToD82ZPUjq52KUPDYc+fN5+g6Euo5mLokl/9Yx14z0Cu4RR1m55HtBXejO0sBt+qw79axN+Fiw== - dependencies: - ajv "^6.1.0" - ajv-keywords "^3.1.0" - -"semver@2 || 3 || 4 || 5", semver@^5.3.0, semver@^5.4.1, semver@^5.5, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -serialize-javascript@^1.6.1, serialize-javascript@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.8.0.tgz#9515fc687232e2321aea1ca7a529476eb34bb480" - integrity sha512-3tHgtF4OzDmeKYj6V9nSyceRS0UJ3C7VqyD2Yj28vC/z2j6jG5FmFGahOKMD9CrglxTm3tETr87jEypaYV8DUg== - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" - integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0= - -sinon-chai@*: - version "3.3.0" - resolved "https://registry.yarnpkg.com/sinon-chai/-/sinon-chai-3.3.0.tgz#8084ff99451064910fbe2c2cb8ab540c00b740ea" - integrity sha512-r2JhDY7gbbmh5z3Q62pNbrjxZdOAjpsqW/8yxAZRSqLZqowmfGZPGUZPFf3UX36NLis0cv8VEM5IJh9HgkSOAA== - -sinon@*: - version "7.4.1" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-7.4.1.tgz#bcd0c63953893e87fa0cc502f52489c32a83d4d9" - integrity sha512-7s9buHGHN/jqoy/v4bJgmt0m1XEkCEd/tqdHXumpBp0JSujaT4Ng84JU5wDdK4E85ZMq78NuDe0I3NAqXY8TFg== - dependencies: - "@sinonjs/commons" "^1.4.0" - "@sinonjs/formatio" "^3.2.1" - "@sinonjs/samsam" "^3.3.2" - diff "^3.5.0" - lolex "^4.2.0" - nise "^1.5.1" - supports-color "^5.5.0" - -sisteransi@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.3.tgz#98168d62b79e3a5e758e27ae63c4a053d748f4eb" - integrity sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-loader@*: - version "0.2.4" - resolved "https://registry.yarnpkg.com/source-map-loader/-/source-map-loader-0.2.4.tgz#c18b0dc6e23bf66f6792437557c569a11e072271" - integrity sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ== - dependencies: - async "^2.5.0" - loader-utils "^1.1.0" - -source-map-resolve@^0.5.0: - version "0.5.2" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" - integrity sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA== - dependencies: - atob "^2.1.1" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sourcemap-codec@^1.4.4: - version "1.4.6" - resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz#e30a74f0402bad09807640d39e971090a08ce1e9" - integrity sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg== - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz#2ea450aee74f2a89bfb94519c07fcd6f41322977" - integrity sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.3.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-shift@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" - integrity sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2": - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string_decoder@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -style-loader@*: - version "1.0.0" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-1.0.0.tgz#1d5296f9165e8e2c85d24eee0b7caf9ec8ca1f82" - integrity sha512-B0dOCFwv7/eY31a5PCieNwMgMhVGFe9w+rh7s/Bx8kfFkrth9zfTZquoYvdw8URgiqxObQKcpW51Ugz1HjfdZw== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.0.1" - -supports-color@6.1.0, supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^4: - version "4.4.10" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" - integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.3.5" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -terser-webpack-plugin@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.1.tgz#61b18e40eaee5be97e771cdbb10ed1280888c2b4" - integrity sha512-ZXmmfiwtCLfz8WKZyYUuuHf3dMYEjg8NrjHMb0JqHVHVOSkzp3cW2/XG1fP3tRhqEqSzMwzzRQGtAPbs4Cncxg== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^1.7.0" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2: - version "4.2.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.2.1.tgz#1052cfe17576c66e7bc70fcc7119f22b155bdac1" - integrity sha512-cGbc5utAcX4a9+2GGVX4DsenG6v0x3glnDi5hx8816X1McEAwPlPgRtXPJzSBsbpILxZ8MQMT0KvArLuE0HP5A== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -through2@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -todomvc-app-css@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/todomvc-app-css/-/todomvc-app-css-2.2.0.tgz#6f84b15d9d4e0cf186679489fb236050c822de11" - integrity sha512-H03oc3QOxiGXv+MqnotcduZIwoGX8A8QbSx9J4U2Z5R96LrK+dvQmRDTgeCc0nlkPBhd3nUL4EbfS7l0TccM5g== - -todomvc-common@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/todomvc-common/-/todomvc-common-1.0.5.tgz#8c3e799ac9f1fc1573e0c204f984510826914730" - integrity sha512-D8kEJmxVMQIWwztEdH+WeiAfXRbbSCpgXq4NkYi+gduJ2tr8CNq7sYLfJvjpQ10KD9QxJwig57rvMbV2QAESwQ== - -tough-cookie@^2.3.3, tough-cookie@^2.3.4: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@~2.4.3: - version "2.4.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" - integrity sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ== - dependencies: - psl "^1.1.24" - punycode "^1.4.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= - -ts-jest@*: - version "24.0.2" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-24.0.2.tgz#8dde6cece97c31c03e80e474c749753ffd27194d" - integrity sha512-h6ZCZiA1EQgjczxq+uGLXQlNgeg02WWJBbeT8j6nyIBRQdglqbvzDoHahTEIiS6Eor6x8mK6PfZ7brQ9Q6tzHw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - make-error "1.x" - mkdirp "0.x" - resolve "1.x" - semver "^5.5" - yargs-parser "10.x" - -tslib@^1.10.0: - version "1.11.1" - resolved "http://npm.lqx.ninja/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== - -tslib@^1.9.0, tslib@^1.9.3: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@~3.6.0: - version "3.6.5" - resolved "http://npm.lqx.ninja/typescript/-/typescript-3.6.5.tgz#dae20114a7b4ff4bd642db9c8c699f2953e8bbdb" - integrity sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ== - -uglify-js@^3.1.4, uglify-js@^3.4.9: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - -underscore@*: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.1.0.tgz#5b4b426e08d13a80365e0d657ac7a6c1ec46a277" - integrity sha512-hDTHvaBk3RmFzvSl0UVrUmC3PuW9wKVnpoUDYH0JDkSIovzw+J5viQmeYHxVSBptubnr7PbH2e0fnpDRQnQl5g== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.0.5.tgz#a9cc6cc7ce63a0a3023fc99e341b94431d405a57" - integrity sha512-L5RAqCfXqAwR3RriF8pM0lU0w4Ryf/GgzONwi6KnL1taJQa7x1TCxdJnILX59WIGOwR57IVxn7Nej0fz1Ny6fw== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -upath@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" - integrity sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q== - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util.promisify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -uuid@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.3.tgz#4568f0216e78760ee1dbf3a4d2cf53e224112866" - integrity sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ== - -v8-compile-cache@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.0.3.tgz#00f7494d2ae2b688cfe2899df6ed2c54bef91dbe" - integrity sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.0.tgz#bd76d6a23323e2ca8ffa12028dc04559c75f9019" - integrity sha512-iq+S7vZJE60yejDYM0ek6zg308+UZsdtPExWP9VZoCFCz1zkJoXFnAX7aZfd/ZwrkidzdUZL0C/ryW+JwAiIGw== - -w3c-hr-time@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.1.tgz#82ac2bff63d950ea9e3189a58a65625fedf19045" - integrity sha1-gqwr/2PZUOqeMYmlimViX+3xkEU= - dependencies: - browser-process-hrtime "^0.1.2" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - -watchpack@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" - integrity sha512-i6dHe3EyLjMmDlU1/bGQpEw25XSjkJULPuAVKCbNRefQVq48yXKUpwg538F7AZTf9kyr57zj++pQFltUa5H7yA== - dependencies: - chokidar "^2.0.2" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-cli@^3.3.6: - version "3.3.7" - resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-3.3.7.tgz#77c8580dd8e92f69d635e0238eaf9d9c15759a91" - integrity sha512-OhTUCttAsr+IZSMVwGROGRHvT+QAs8H6/mHIl4SvhAwYywjiylYjpwybGx7WQ9Hkb45FhjtsymkwiRRbGJ1SZQ== - dependencies: - chalk "2.4.2" - cross-spawn "6.0.5" - enhanced-resolve "4.1.0" - findup-sync "3.0.0" - global-modules "2.0.0" - import-local "2.0.0" - interpret "1.2.0" - loader-utils "1.2.3" - supports-color "6.1.0" - v8-compile-cache "2.0.3" - yargs "13.2.4" - -webpack-sources@^1.4.0, webpack-sources@^1.4.1: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@^4.38.0: - version "4.39.2" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.39.2.tgz#c9aa5c1776d7c309d1b3911764f0288c8c2816aa" - integrity sha512-AKgTfz3xPSsEibH00JfZ9sHXGUwIQ6eZ9tLN8+VLzachk1Cw2LVmy+4R7ZiwTa9cZZ15tzySjeMui/UnSCAZhA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.1" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.1" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@>=0.10.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" - integrity sha512-37GeVSIJ3kn1JgKyjiYNmSLP1yzbpb29jdmwBSgkD9h40/hyrR/OifpVUndji3tmwGgD8qpw7iQu3RSbCrBpsQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - integrity sha1-o9XabNXAvAAI03I0u68b7WMFkQc= - -wordwrap@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== - dependencies: - async-limiter "~1.0.0" - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.3.tgz#b4b049e314be545e3ce802236d6cd22cd91c3de9" - integrity sha512-S+Zk8DEWE6oKpV+vI3qWkaK+jSbIK86pCwe2IF/xwIpQ8jEuxpw9NyaGjmp9+BoJv5FV2piqCDcoCtStppiq2A== - -yargs-parser@10.x: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" - -yargs-parser@^13.1.0, yargs-parser@^13.1.1: - version "13.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.1.tgz#d26058532aa06d365fe091f6a1fc06b2f7e5eca0" - integrity sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@13.2.4: - version "13.2.4" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.2.4.tgz#0b562b794016eb9651b98bd37acf364aa5d6dc83" - integrity sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.0" - -yargs@^13.3.0: - version "13.3.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.0.tgz#4c657a55e07e5f2cf947f8a366567c04a0dedc83" - integrity sha512-2eehun/8ALW8TLoIl7MVaRUrg+yCnenu8B4kBlRxj3GJGDKU1Og7sMXPNm1BYyM1DOJmTZ4YeN/Nwxv+8XJsUA== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.1" +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/code-frame@npm:7.5.5" + dependencies: + "@babel/highlight": "npm:^7.0.0" + checksum: 10c0/51df747d4c05655baa633ccf6b81054098848f8bcdfa9274f8a213138a13a5bf055856cba970c27c71ec229a9b0891e0adf7e00f076dc8e4dc65b8791c640e7f + languageName: node + linkType: hard + +"@babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/code-frame@npm:7.29.7" + dependencies: + "@babel/helper-validator-identifier": "npm:^7.29.7" + js-tokens: "npm:^4.0.0" + picocolors: "npm:^1.1.1" + checksum: 10c0/169fc2080169a40c1760155eaaaf739bcb882df0bec76a83adbda5493645bc17270a3434b8848c494b1933e96fe1d147370001e3cda09a39f43ae30f08ef2069 + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/compat-data@npm:7.29.7" + checksum: 10c0/47913f05e08a45a1c9df38c02b4b49e391005085b489432647a1abe112e5d9c75e3be8ea5972b7f6da4ec5d1339922ceb9ea02b8a25d4ed1cb8636e5261f344e + languageName: node + linkType: hard + +"@babel/core@npm:*, @babel/core@npm:^7.1.0": + version: 7.5.5 + resolution: "@babel/core@npm:7.5.5" + dependencies: + "@babel/code-frame": "npm:^7.5.5" + "@babel/generator": "npm:^7.5.5" + "@babel/helpers": "npm:^7.5.5" + "@babel/parser": "npm:^7.5.5" + "@babel/template": "npm:^7.4.4" + "@babel/traverse": "npm:^7.5.5" + "@babel/types": "npm:^7.5.5" + convert-source-map: "npm:^1.1.0" + debug: "npm:^4.1.0" + json5: "npm:^2.1.0" + lodash: "npm:^4.17.13" + resolve: "npm:^1.3.2" + semver: "npm:^5.4.1" + source-map: "npm:^0.5.0" + checksum: 10c0/f9073978e32018d243afb2dd215a8bd46d6ebd28532d77cd170aaaeea9854c0db74198243ec07588109351c6b6325cd72cff07025c2b9d33685d16c9946678e3 + languageName: node + linkType: hard + +"@babel/core@npm:^7.11.6, @babel/core@npm:^7.12.3, @babel/core@npm:^7.23.9": + version: 7.29.7 + resolution: "@babel/core@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-compilation-targets": "npm:^7.29.7" + "@babel/helper-module-transforms": "npm:^7.29.7" + "@babel/helpers": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/remapping": "npm:^2.3.5" + convert-source-map: "npm:^2.0.0" + debug: "npm:^4.1.0" + gensync: "npm:^1.0.0-beta.2" + json5: "npm:^2.2.3" + semver: "npm:^6.3.1" + checksum: 10c0/112fb09c24de7a1de64d1de2c31fe65c4e6af4cb2fb6e6d99ea5373e6fc51e75b88581c0efae4c4c68f119a02a988c7106e95011a41530a2fb8ed793c7eaa07b + languageName: node + linkType: hard + +"@babel/generator@npm:^7.29.7, @babel/generator@npm:^7.7.2": + version: 7.29.7 + resolution: "@babel/generator@npm:7.29.7" + dependencies: + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + "@jridgewell/gen-mapping": "npm:^0.3.12" + "@jridgewell/trace-mapping": "npm:^0.3.28" + jsesc: "npm:^3.0.2" + checksum: 10c0/9bf72b01b5bd0ea5b1288a0e37dbd360bff2f2b1ce73342c0d40fb3db2ec3dc004ada5ffa925c5e12939a416eed59e600d562b8ecd938ce0d27dfd0eb6c6c2b7 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.4.0, @babel/generator@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/generator@npm:7.5.5" + dependencies: + "@babel/types": "npm:^7.5.5" + jsesc: "npm:^2.5.1" + lodash: "npm:^4.17.13" + source-map: "npm:^0.5.0" + trim-right: "npm:^1.0.1" + checksum: 10c0/52f2660799fe358a0b0f805ae5ed6633e1df159e762575f6f5f71ae3ca944c48c367e60a711293d37e246d269e766d3443dfa03037adcf75ec2c968be46a3bef + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-annotate-as-pure@npm:7.0.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/a0f43db4f979de6332acdc1f3b16faa7f9e18e98882d67193a9f26839af06b801563df5d5d25c1601569ff56d8dec9bc5d0433ddd5278a75ff20091ef4432265 + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.1.0" + dependencies: + "@babel/helper-explode-assignable-expression": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/ca77ba9e38777d824bd2069c78329fa1681e509303e4fdd67a315c09729b994650884d145e1c1e6e597ad603307b41ca719736ab372646578bd88adf6d6816b9 + languageName: node + linkType: hard + +"@babel/helper-builder-react-jsx@npm:^7.3.0": + version: 7.3.0 + resolution: "@babel/helper-builder-react-jsx@npm:7.3.0" + dependencies: + "@babel/types": "npm:^7.3.0" + esutils: "npm:^2.0.0" + checksum: 10c0/147c82cbbc9e58bbed7278e8d122912f97ce8e5d521d50284aedfb29921a80fd9fc5a01e7cce030041cc23e74e048d50662962a29319f58d39febf49e72fe4ce + languageName: node + linkType: hard + +"@babel/helper-call-delegate@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/helper-call-delegate@npm:7.4.4" + dependencies: + "@babel/helper-hoist-variables": "npm:^7.4.4" + "@babel/traverse": "npm:^7.4.4" + "@babel/types": "npm:^7.4.4" + checksum: 10c0/0cf894b5615d6f4408b8bbeaf041ecef24135df986f73852c5023348bff621d6cdbb5390a87d40ead7f4ebd0929c8af345932f2bb2601cc2308ea2ee7101f674 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-compilation-targets@npm:7.29.7" + dependencies: + "@babel/compat-data": "npm:^7.29.7" + "@babel/helper-validator-option": "npm:^7.29.7" + browserslist: "npm:^4.24.0" + lru-cache: "npm:^5.1.1" + semver: "npm:^6.3.1" + checksum: 10c0/4c15fd4c69a0a7047799a28a88460c19cede0a0ee8af994ea169114986f4af48b92c7393a4a3fee0456c11a656eece3448a6ed06354453d6c27cccf17195453b + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.4.4, @babel/helper-create-class-features-plugin@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helper-create-class-features-plugin@npm:7.5.5" + dependencies: + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/helper-member-expression-to-functions": "npm:^7.5.5" + "@babel/helper-optimise-call-expression": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-replace-supers": "npm:^7.5.5" + "@babel/helper-split-export-declaration": "npm:^7.4.4" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/2fd9cd11e4cb7f8c8250417e5ec9f05e52629e44fd9049005ee2a55fdbcb17767c11492f25cb366c7512b2b66dd875b0d1696f0c037fbd930eb6815c4b610814 + languageName: node + linkType: hard + +"@babel/helper-define-map@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helper-define-map@npm:7.5.5" + dependencies: + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/types": "npm:^7.5.5" + lodash: "npm:^4.17.13" + checksum: 10c0/4eecd393039a1065a4c4ea226c20ae53d1759c16981857f705720bc600ab2b0c352ef8f6cb8961316970f394d4c513f927b87db3e1227c56c6c8daf6a438d330 + languageName: node + linkType: hard + +"@babel/helper-explode-assignable-expression@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-explode-assignable-expression@npm:7.1.0" + dependencies: + "@babel/traverse": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/8aadf72e6b67846b87e1e4b5e770fa5a1a8d47c477951d42c20ff41c7678aa6d327c27a99d16547dc8f90b24f5cd6e16e2781853e90ea0a30cf73261e664d541 + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-function-name@npm:7.1.0" + dependencies: + "@babel/helper-get-function-arity": "npm:^7.0.0" + "@babel/template": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/4682382a36e96f2be143aa8df70e40e2dc0b884d2d63ed4a338f41d8699bde39167f461c51677933e796b2a423dcab3a64c8c7b65cb62da2c56b53564ab2ddb8 + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-get-function-arity@npm:7.0.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/2234b38587219f20ad9ce7a2e5e659f44737efeaddfbdaabe4bb53d58e5df8f3f0000af4500e9c26f64a911920359240ef03622fb72ef7ea7a901571656652af + languageName: node + linkType: hard + +"@babel/helper-globals@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-globals@npm:7.29.7" + checksum: 10c0/f38417c40b1129a1b2b519ca961b9040c8827d1444fd74068702286b91b77089431dc76b6b9d5c1496e5da2a4f3ad329c6946e688ba3fa0d1d0b3d2b4f34f36a + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/helper-hoist-variables@npm:7.4.4" + dependencies: + "@babel/types": "npm:^7.4.4" + checksum: 10c0/3d91da4b9ae9a21aef4d143d422c258ff19e8962f5de4adc962c7105b0dc854f51fb979cfec48a79475977889f66ccc95c0a2bbf2c92b4218d757b94ba546025 + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helper-member-expression-to-functions@npm:7.5.5" + dependencies: + "@babel/types": "npm:^7.5.5" + checksum: 10c0/48385c50518a280701cf1af5428d2fbfd8dc8eb1ea539998ea9983b815a249abb933e8e2e690f98a9fac801884f727aa799a6b6d988974536895355a9fc585aa + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-module-imports@npm:7.0.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/f771e78d682de0c32dd37f080f7f6536f14c9f391e5b6d30f5688d76237a410857e51fdc214c402e36cec8a03d8837ec4174fb44e33c4e5c7f498b101a447c2b + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-imports@npm:7.29.7" + dependencies: + "@babel/traverse": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/6adf60d97356027413342a092f818d9678c4f5caff716a33e3284b5ae14e47a9e88059d421dde4ee4894691260039a12602c0e7becadc175602194b40dfa345d + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.1.0, @babel/helper-module-transforms@npm:^7.4.4": + version: 7.5.5 + resolution: "@babel/helper-module-transforms@npm:7.5.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.0.0" + "@babel/helper-simple-access": "npm:^7.1.0" + "@babel/helper-split-export-declaration": "npm:^7.4.4" + "@babel/template": "npm:^7.4.4" + "@babel/types": "npm:^7.5.5" + lodash: "npm:^4.17.13" + checksum: 10c0/f51bcfaeb0923e5e8dc9cc72f668593289a0779f722c11c66f1c83e426a319b503a57834f4842d56a9bef200a34d399edb5ecce944cdbd15ff011ea39dc5d249 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-module-transforms@npm:7.29.7" + dependencies: + "@babel/helper-module-imports": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + "@babel/traverse": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ee5a2172c24a42be696836f4b0d947489c9729d8adf5821885cf77d1ad5333e3c447368e9a71f67df1099570490553dccf9f888ef0a92a48aa63cb086bd8c7e1 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-optimise-call-expression@npm:7.0.0" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/524ba64160de681bd3234cd54cdfab8ed750ea3a12c3041354a62fef5310a2c75fe75ef0c7caa6845d42f3007c67db2d4d1e9bb8198ef8fc475561a2d2a908bd + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/helper-plugin-utils@npm:7.0.0" + checksum: 10c0/3db48caacdec142871facaa92742cb3d9c591d4ceb098b7bb632f66f3a856f1092721b24bc2ff4b6dc45fec23798ce49f24656cc47d928a85bea991a87b72066 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.10.4, @babel/helper-plugin-utils@npm:^7.12.13, @babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.29.7, @babel/helper-plugin-utils@npm:^7.8.0": + version: 7.29.7 + resolution: "@babel/helper-plugin-utils@npm:7.29.7" + checksum: 10c0/380477a06133274a2759f9355929cb60a95e8b8fee624a1ae1fa349e1d1645b89daca456f72833f6d1062bffa12ee4271c5bf0cc5a61c0166cdc24c7591e2408 + languageName: node + linkType: hard + +"@babel/helper-regex@npm:^7.0.0, @babel/helper-regex@npm:^7.4.4": + version: 7.5.5 + resolution: "@babel/helper-regex@npm:7.5.5" + dependencies: + lodash: "npm:^4.17.13" + checksum: 10c0/a5eda6a23168ba8275a47f651cf6133d2d71ab39a722aac5a78e8b5dadc410dd9ec5e76fbaae03f1b59bf1729e6bce087500c5724a8b56e8eeb28f0e8d28800b + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-remap-async-to-generator@npm:7.1.0" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.0.0" + "@babel/helper-wrap-function": "npm:^7.1.0" + "@babel/template": "npm:^7.1.0" + "@babel/traverse": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/8f27fb56a9b0da64793a365307b6bf599a386b82154a1b833d3633169f9d033c6a5e827a7aaa5660355efb952067593fbf46ef2f69763dac56aaed0b5b825dee + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helper-replace-supers@npm:7.5.5" + dependencies: + "@babel/helper-member-expression-to-functions": "npm:^7.5.5" + "@babel/helper-optimise-call-expression": "npm:^7.0.0" + "@babel/traverse": "npm:^7.5.5" + "@babel/types": "npm:^7.5.5" + checksum: 10c0/7d00c8cf69d23c6da5081dce255337d0e8569e1320292c884878767dcfd3b0335a382f4ff0c8689b9db8766343269309ac0487e756520d8ead7fa132d2cf87ba + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.1.0": + version: 7.1.0 + resolution: "@babel/helper-simple-access@npm:7.1.0" + dependencies: + "@babel/template": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/8f176a79bf4b5d533db8d798d4f59b00ba92757ff021b6d1099441d2e06d534d9fc9b57d6fdbcfba4fe9ed0d612a9af5c22b8bfc34184baecac33979304ac93a + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/helper-split-export-declaration@npm:7.4.4" + dependencies: + "@babel/types": "npm:^7.4.4" + checksum: 10c0/bee64283927440572ad805655257358acaf8c5efeb438b578d70ab74ab7ddf84206b20d26116b269a9c8b0eff1d616103f32548c9d83fd2b188412d95562b512 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-string-parser@npm:7.29.7" + checksum: 10c0/194bc0f1716e396d5ffde56ad6119745fb9557662c98611590e5e454906783a4ccb21ce93056b8eb69a4909044834e45d96e50ac695bbe9e3221648fe033c06c + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-identifier@npm:7.29.7" + checksum: 10c0/4795354e7ae0dcafa72de1cd04ec51252dc1498517170beaf019e03effc5b7bf13c6b21a3949a77e07b8125be7f106ed1131350d8ebd4566ae874094a726d62b + languageName: node + linkType: hard + +"@babel/helper-validator-option@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helper-validator-option@npm:7.29.7" + checksum: 10c0/d2a06c6d0ac40ba4a2f219fc2cab249c7a94bacdb2686273b7f9598571c908809b48468ff588915a346e6cc7296f60b581023d1d498b747fed06f779d335c2cc + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.1.0": + version: 7.2.0 + resolution: "@babel/helper-wrap-function@npm:7.2.0" + dependencies: + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/template": "npm:^7.1.0" + "@babel/traverse": "npm:^7.1.0" + "@babel/types": "npm:^7.2.0" + checksum: 10c0/fca208aff34198550abe237c569f7d01b1915780fbd07670812141311b1c02b53fe041fe4aab8ebd68b93dca7caa0c655a63fdb2932fb54d45d464269ea79ed2 + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/helpers@npm:7.29.7" + dependencies: + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/218e8d10953647c9f44775f5a022b227a182674853b5ea8631889deb7e1a3e4bc870388aaecf59bb8bd92a87f9a96220ed3f70a35bffec6bcf9169ecb67891ac + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/helpers@npm:7.5.5" + dependencies: + "@babel/template": "npm:^7.4.4" + "@babel/traverse": "npm:^7.5.5" + "@babel/types": "npm:^7.5.5" + checksum: 10c0/983e565d98da98c7482652fc53279c3714c747fa3bf1c67b6169eb44a14557b49be17cf95a9983d56f4f09dfc5f3403ac99c8d8c8a621181afbd5574fad81493 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.0.0": + version: 7.5.0 + resolution: "@babel/highlight@npm:7.5.0" + dependencies: + chalk: "npm:^2.0.0" + esutils: "npm:^2.0.2" + js-tokens: "npm:^4.0.0" + checksum: 10c0/7661a58dfdec1f07b68dde4f422b05535ac87b134906f03ade743a890d862e8f6220daac73577ad9c739a4b5edc93433943ea24f345b4faed878d2b792d39395 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.4.3, @babel/parser@npm:^7.4.4, @babel/parser@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/parser@npm:7.5.5" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/4c11f01c6108959f1a5efda08dff9d7e70bed9be2ccf2f7b10501dbf017c80a6114f99e42e35a75ed7bd1e015d0ed66fabcedd352da66779b785f0740685480d + languageName: node + linkType: hard + +"@babel/parser@npm:^7.14.7, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.23.9, @babel/parser@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/parser@npm:7.29.7" + dependencies: + "@babel/types": "npm:^7.29.7" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/65133038f80b54a714d6027cb77cee3f9a6b5c4c6842ce674301e13947cbcbfa8055e63acaf1b84c085d34226a14425b2c2b97b829e0e226d2e8f1299942a51d + languageName: node + linkType: hard + +"@babel/plugin-proposal-async-generator-functions@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-remap-async-to-generator": "npm:^7.1.0" + "@babel/plugin-syntax-async-generators": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69a6e992b72363f9d580c6441c428eac825a7d7ab83cf8c3bf4ba772fb1f3567bcb38d9b50b75ca8e11b411bf100d906bbb27e45d63130246402816a7e0a1ea7 + languageName: node + linkType: hard + +"@babel/plugin-proposal-class-properties@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-proposal-class-properties@npm:7.5.5" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.5.5" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/35ff3e7de28c7564bd6fc62de2c638aeb52c7bbeacd75d7d8936d5b2e8d7a59c8b6ee83b6e59c174bfc8c49a8b13edf35e867e817a84920802d8890d8cbee737 + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-proposal-decorators@npm:7.4.4" + dependencies: + "@babel/helper-create-class-features-plugin": "npm:^7.4.4" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-decorators": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d7cb1c43bcb2ffabf3b35e23e72d158e7ece5b6535dc108f93259a3ca10c80bc855ad5f294445d74913f1f3608c94d368d49d42dff1f22255f0f10562326c161 + languageName: node + linkType: hard + +"@babel/plugin-proposal-dynamic-import@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-proposal-dynamic-import@npm:7.5.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-dynamic-import": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d51ef4563a1e312ca67408281fae7c92b7b74d6a0ac29f656d062f025dbe942d28d2c9c1f8cb5eb7737ef6c18445cfb74c0bb1778a963ca77e653777b883cea8 + languageName: node + linkType: hard + +"@babel/plugin-proposal-json-strings@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-proposal-json-strings@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-json-strings": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b33a788c93d556c6956d214df0bc4ca0ec26fcbbd522b883edd9a3349ef26fcb559866941447bdb24cd752f01fcef40033817b4032fc96b94aa3730554a8d65e + languageName: node + linkType: hard + +"@babel/plugin-proposal-object-rest-spread@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.5.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/00639f7b8e3835e35aa9feb47a40c11bcbe87082f23098d2334f490cd91abfad501c7d8ddf9fb7b3467c87074f9c387d2ae385326965bba922b2cde5201aed69 + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-catch-binding@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/26fc9373862ac3f4d65e32b9d7e6f03db5bce9c72aea135a8658cff9b039e2663f4d568a58d90b45b869aa096d838129f1ba949ed7855fdbe7f51dfa55125379 + languageName: node + linkType: hard + +"@babel/plugin-proposal-unicode-property-regex@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.4.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-regex": "npm:^7.4.4" + regexpu-core: "npm:^4.5.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/998421e9a19cb0aed46bfe8f5f937fc0368a0a9193cacf3f6de79565020811f6a8f88dbb8fe44c2c9a12418059db1b6a3b95bbf215b09bb5cb2f6d90fba8f852 + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-async-generators@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/24435f0295883931b6d3c7bd4845e7ce4c230f05e03543a05427ffd28f3f47b26b44b1605af99f64af6503b54bc6f07afa9b66ac97ceeacd229cb4baa4a0066c + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d13efb282838481348c71073b6be6245b35d4f2f964a8f71e4174f235009f929ef7613df25f8d2338e2d3e44bc4265a9f8638c6aaa136d7a61fe95985f9725c8 + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/686891b81af2bc74c39013655da368a480f17dd237bf9fbc32048e5865cb706d5a8f65438030da535b332b1d6b22feba336da8fa931f663b6b34e13147d12dde + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.12.13": + version: 7.12.13 + resolution: "@babel/plugin-syntax-class-properties@npm:7.12.13" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.12.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/95168fa186416195280b1264fb18afcdcdcea780b3515537b766cb90de6ce042d42dd6a204a39002f794ae5845b02afb0fd4861a3308a861204a55e68310a120 + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-static-block@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-class-static-block@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4464bf9115f4a2d02ce1454411baf9cfb665af1da53709c5c56953e5e2913745b0fcce82982a00463d6facbdd93445c691024e310b91431a1e2f024b158f6371 + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-decorators@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/cbf84e8c155be1d1cabb1dcaf380955c33c01671d99151a4c04a64e7a805477388012e4a21b488cc6e94dcb38f0bff1160c2c2362b9563c527e3db20d8e6c9d4 + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/aef5ec0e618cb1e9490141d58f4f7d7ee0c0aec250c2c4de446e89af1362e8f35d23c33487ffc7561e0e869755b7ed3bbb5880f1e2de6d9247774598165d9f89 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-attributes@npm:^7.24.7": + version: 7.29.7 + resolution: "@babel/plugin-syntax-import-attributes@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b9a47e869d8c06676297069895ae34e2bd244ec4c3bdf15002f1e69aed32eef0361044af22a43f271b8de5e23a40534fe6a74a63e7ab98e3d60a74b322444b49 + languageName: node + linkType: hard + +"@babel/plugin-syntax-import-meta@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-import-meta@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0b08b5e4c3128523d8e346f8cfc86824f0da2697b1be12d71af50a31aff7a56ceb873ed28779121051475010c28d6146a6bfea8518b150b71eeb4e46190172ee + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-json-strings@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d9db6848d9a6dc25c9508efe453379d94dc2b064eb3491906b8ee101564848a77c89b4ff6803b6ac65baa34c6a1b7647e0f49297e370c95ca7c25a9ad4f7cd16 + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e98f31b2ec406c57757d115aac81d0336e8434101c224edd9a5c93cefa53faf63eacc69f3138960c8b25401315af03df37f68d316c151c4b933136716ed6906e + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-jsx@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/68fee3c40ca93dfe5e3c83881e76c537d1146e060a2eeb031a0e7d1ab4d81459ee3557fb948bb2c44f7a6596e4ce37b1cc9dce1d7ce628896f7c8c80aae6c69d + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.7.2": + version: 7.29.7 + resolution: "@babel/plugin-syntax-jsx@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/1736000de183538ba8eef34520105508860e48b0c763254ba9158af5e814ed8bbceeedbb4281fbda33de787ae5b3870e92f60c6ae7131e7d322e451d57387896 + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2594cfbe29411ad5bc2ad4058de7b2f6a8c5b86eda525a993959438615479e59c012c14aec979e538d60a584a1a799b60d1b8942c3b18468cb9d99b8fd34cd0b + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2024fbb1162899094cfc81152449b12bd0cc7053c6d4bda8ac2852545c87d0a851b1b72ed9560673cbf3ef6248257262c3c04aabf73117215c1b9cc7dd2542ce + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.10.4": + version: 7.10.4 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.10.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.10.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c55a82b3113480942c6aa2fcbe976ff9caa74b7b1109ff4369641dfbc88d1da348aceb3c31b6ed311c84d1e7c479440b961906c735d0ab494f688bf2fd5b9bb9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.0.0, @babel/plugin-syntax-object-rest-spread@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/48e003e02f3668547705b560bfae849bcaf9ed251c12883fd46eb0be2318f670ad3b8167797bda626054a1a766d628a0af2efb771f1f337b22c82734b534b62f + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ee1eab52ea6437e3101a0a7018b0da698545230015fc8ab129d292980ec6dff94d265e9e90070e8ae5fed42f08f1622c14c94552c77bcac784b37f503a82ff26 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/38d6a36e096ec926c83055c281c82fcb5ba045f574f9f6391fb392b84c758e71e2e43a707467aa24c92b6bbbb21e6552cd695e4f3eae18e98304e052bed9dd36 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/27e2493ab67a8ea6d693af1287f7e9acec206d1213ff107a928e85e173741e1d594196f99fec50e9dde404b09164f39dec5864c767212154ffe1caa6af0bc5af + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.8.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/46edddf2faa6ebf94147b8e8540dfc60a5ab718e2de4d01b2c0bdf250a4d642c2bd47cbcbb739febcb2bf75514dbcefad3c52208787994b8d0f8822490f55e81 + languageName: node + linkType: hard + +"@babel/plugin-syntax-private-property-in-object@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-private-property-in-object@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/69822772561706c87f0a65bc92d0772cea74d6bc0911537904a676d5ff496a6d3ac4e05a166d8125fce4a16605bace141afc3611074e170a994e66e5397787f3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.14.5": + version: 7.14.5 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.14.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/14bf6e65d5bc1231ffa9def5f0ef30b19b51c218fcecaa78cd1bdf7939dfdf23f90336080b7f5196916368e399934ce5d581492d8292b46a2fb569d8b2da106f + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.7.2": + version: 7.29.7 + resolution: "@babel/plugin-syntax-typescript@npm:7.29.7" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.29.7" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c49883b0327e8683b770dc823205af5c697da216e590dcf5bf53f3f031e7e381de450b164f8f99853f0837a3de5cb793298e2be6697a0f6e452bb9dd34b5165e + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ea51565be13b995cc8e9e03f5fdb84c45ebb6e6560743b0435d29d1a4cd5a94edd7cfdfe0266736d17136d6be57850542244e725e3635cbd8f30e6d46eb3b6df + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.5.0" + dependencies: + "@babel/helper-module-imports": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-remap-async-to-generator": "npm:^7.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c382d62a4222e6d589b986025becbc6d939efaa13468a861a6f904966d4969c54be02611b862016a432a973216408df1333155800028666c62d035df3005000e + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5d85aa0f1cd52e652fc085ba5d5f890280a88f5c95d4cde19474c5891cdd040d7c9b1becdf161302ee1a7139c1c8dd332f90d9c19908aa7fc0786bd71e9799e6 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-transform-block-scoping@npm:7.5.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + lodash: "npm:^4.17.13" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0000e00cde2b36a6f604f11fd0934407fbb9abc618578b438bc10b5f17d9ab27962d7738caa10eff29b6f661bc570b3317cdbb8fd7aa8c64df093772d5315c90 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-transform-classes@npm:7.5.5" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.0.0" + "@babel/helper-define-map": "npm:^7.5.5" + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/helper-optimise-call-expression": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-replace-supers": "npm:^7.5.5" + "@babel/helper-split-export-declaration": "npm:^7.4.4" + globals: "npm:^11.1.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/5cb28a8b3e9243db4a4ded1abcb7a0f795874b34d25cd5d41b108ca88e2950a0f9116d21d1d0309ba76e34cba1a67fd313360b5c89179d73a95eb8c7851d03fc + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-computed-properties@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/58f456e76033e84d39f0ebab0ea1394fa78f9931e6a08b88cf726867e9283c40dd878f4b12fd72550e49260082e78a9b3dec06be3336735a51a7804fb5a67201 + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-destructuring@npm:7.5.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/b700d4aa0d4e6078d11ff69043cd4ddb0c1e053b818348fa7600319ffd321cae1c0367fef3694c0abbf91c1ab2914a2fe991f5785c3e8a214fa7e83a0f1a8e49 + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.4.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-regex": "npm:^7.4.4" + regexpu-core: "npm:^4.5.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/76120df7f3abb8c6f34793e9c16cbfc1ae553dd1f9da9c6ced0bb501481eb34e940fd5fc28787132ebc3c66630aa77cbd3d98d9a099f21cefd51aabacd089029 + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.5.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/52c329d04d1c846c2480388353b37077d702bfcd7f1cb225da3660f5b080e024726154e6ebcb54f490ebdf6b2f33be383a778fbbfc4f27dfb89d5b8e37b95bae + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.2.0" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": "npm:^7.1.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/12e0c5abfcdf4677b5d4fa4f0ea00a963759db97955311d9956ad60ff90a888b5b186a44d2b95b0b4c2311ab9a70b1555e5b6ce6c9c05ff4f56c94b4a5635e48 + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-for-of@npm:7.4.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d8020d48fd8c3911044a79fb588ee190f2906d8019218f8a9a9d0e521846e23c049ddf1be6d872ab7af547e0328793c5ba909c5334d2b21ceeefa86ff51f482b + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-function-name@npm:7.4.4" + dependencies: + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6c3ad5037c5a4a6e39c1400ade6f8b208ebcaef950d56a95cbf55e2a0397d418d4c3497b4a1bc630a3e0f35da34b1d5bb3f045133f3ef10a34689cf14e1a7cbc + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-literals@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/253f509b83a172c1d486e8f757759781582e213e66d11138a413ae4ea513898674f6c99f9740acf418f8f548d27ae456fa35aaf79624e5d3346748a88ccb3641 + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/f13bc3f9a0b32fae16504f24adb170c675b79b023a2a6f887c7bcdff3e2216f7657d3d13521dad28c5139baace8d92b271683ffe124b8aee8ac0d8f86f3b15ba + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-modules-amd@npm:7.5.0" + dependencies: + "@babel/helper-module-transforms": "npm:^7.1.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + babel-plugin-dynamic-import-node: "npm:^2.3.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/dc7ea2f3c96215fbe4ef4e10f725bcf49b1cf6d57ae1fe8a97c125dcf20679ab2a9589d064d9759251300b35779944bb6beb05cfb355cb138ef3b54707e54e02 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.5.0" + dependencies: + "@babel/helper-module-transforms": "npm:^7.4.4" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-simple-access": "npm:^7.1.0" + babel-plugin-dynamic-import-node: "npm:^2.3.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/a946d97813e8d9a977289dc0c786fc2adae94d13f0ca958aba794fbd9d023a7543ed2df8e152ee6dd3c24183a3a17ae459c77f59aa831fa5c62bf61f6687046b + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.5.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.5.0" + dependencies: + "@babel/helper-hoist-variables": "npm:^7.4.4" + "@babel/helper-plugin-utils": "npm:^7.0.0" + babel-plugin-dynamic-import-node: "npm:^2.3.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4cb4bba7717d72f78d778b5d86cb974cccbebad1f7a1dad8af545324ba655305aa2b04ec10d32c3e0321dbe8da7035d5049539bdb4d3b6d30690dcf62d4ba142 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-modules-umd@npm:7.2.0" + dependencies: + "@babel/helper-module-transforms": "npm:^7.1.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/592394ed64280afd97003dfd4b3307f2b11027c64230379e746b9134320afcd5e437617345ff1e36c579644ea51839fffeed1f9e3e35d604c23f996bbf107ba6 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.4.5": + version: 7.4.5 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.4.5" + dependencies: + regexp-tree: "npm:^0.1.6" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/c6ab65b271a90f7f45ba06392e1fe8fc9e71f676939272e7ba2e5d376df7f3d1bc249e8a108f10f901713d103176f27d1a24dc097fd9c7a1c8c1e34793bd5be4 + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-new-target@npm:7.4.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bed4d5f08f5fbe9c3800d1497876c6ef921fcda73ca48bec579819bf18bd33017ad3afcaab62c21676a1249b52d23fc73f4dbc913853e9464148534949607ac8 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-transform-object-super@npm:7.5.5" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-replace-supers": "npm:^7.5.5" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/c197239dbd9eaa8ed2953b8baa48d2feaa03023fe2e001f22403a8c2eab650fe11f15ad808e28aa8b0618003174a3f551d63e1d83b480bd4e8783e09a78ab23f + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-parameters@npm:7.4.4" + dependencies: + "@babel/helper-call-delegate": "npm:^7.4.4" + "@babel/helper-get-function-arity": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/3c269a406f9ca7ef63ae7fe41286e7907eecde97d4ff3fb2fc4916d4a9afdc2f48b3290aed7e0d9da8467eb33b74d3953918b45c13fede7313ddf09d6ef9e7e4 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-property-literals@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/015a3c649a7148a96044aa6be4735571c2d82f6383490f2f37caee8b312995b2739813c7214f88d5ef4f3477dbec7ca5cdb08f9ca88b5404e9b1a1c8bc682974 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:^7.0.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-react-display-name@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/4b8710f08257eb96167451f2acdb6470d6f170f25ee7a2218840d008ab1554313b03310c01783037257d045f5db3ab5dd0f610c885899a50cc6cb680c9d4c061 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.0.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-jsx": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/26c0d915f6a9282b3986b7018ddd981bd7e92d0519b77b4c75650322590434a832dfbd3e829d901dcc18c4cd0521b282eab88e3bae9bb2fedb2de9c3d8f43680 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.0.0": + version: 7.5.0 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.5.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-jsx": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/6c25ddf678b1966c416ed33eb2e11c0ef4d65916526fd5d1834ea83529479e6b5a8361ce19c184c1b8a93d1d9b6a9070808c1c830b027bb521dbef3ac7dbcdf5 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.0.0": + version: 7.3.0 + resolution: "@babel/plugin-transform-react-jsx@npm:7.3.0" + dependencies: + "@babel/helper-builder-react-jsx": "npm:^7.3.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-syntax-jsx": "npm:^7.2.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/75f1f949b84b3da7ae8f9493d2a19a2fc7a14ef771eb8c82513409c3f02d27a43865b97ce40a649777c7f7ea7e7dba78869fb205a978e8d3bed791adb6b0a2b6 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.4.5": + version: 7.4.5 + resolution: "@babel/plugin-transform-regenerator@npm:7.4.5" + dependencies: + regenerator-transform: "npm:^0.14.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/98f6553b4447c8653198b5cedf579cb396a5f0e0460fdfa04ea9bc038b31e21d9be7f99df70d1dcae7022b326bfec5a24bef70d95285bba4a887fe913ba79e26 + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-reserved-words@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/0025fccde665547b141b8ed6da0940fe5cd7e09f3f882c93a6b061fda2f5b5d9a814a759e9840b049d66f5b3aebdf441a4041404a3c5aac96610fd0d03137b4b + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/plugin-transform-runtime@npm:7.5.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + resolve: "npm:^1.8.1" + semver: "npm:^5.5.1" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/bca4985a85257d14be3c15d27fd97f1425aaaab72a21fb8746a5b07ffc7c280caa8ec3a658e7218ec8a98d1de17f6e0a6b1700323fbe2332acfe09e14676ab97 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/e25ee63c33fbc3c4ad29f91c27af3cd45e048a22039ebcfed095e0db53712eb75a7bae41ea6e59cdc48fafa2ee803064a4b4568abba37a25c52ff04260407f5e + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.2.0": + version: 7.2.2 + resolution: "@babel/plugin-transform-spread@npm:7.2.2" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/9c3a3c461be6bb42d2b306166a909ce6ddefdd968581dd56734f9a6943342d8a07fa94e9cb9080113a1d077765af07478d423ccc66233b89aaff765edf1b3390 + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-regex": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/555653923be58b6cff494c1431f7cdd5c78731a530b693531d624dbc0490e893e8b51222b57c341a28f9731407f2d92efe475f91392b853e951637b9dca2dae8 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-template-literals@npm:7.4.4" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/d3a15eaa70067728b0879e4589324aedff0669c9e2460f873c3e232de93c58539078ac37eb477d8c01c6bb22ce2a890d7b8167c87ef38db5c3c64fb4658dc02c + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.2.0": + version: 7.2.0 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/2f0069d5c58872e643d13246607538f46773e607f5852a062e84ed6d9a72a49f15d030423c76a0833e89f1f7fabc734610420428577d0c0b17b082bb3b3dbfd1 + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.4.4" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/helper-regex": "npm:^7.4.4" + regexpu-core: "npm:^4.5.4" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/8861b18d7a03026251dcddde236628d12c3addb4a0a240d40fe5c96d08bd13db2cff19f5e49cba67dec145fbf07df4d828bb90ade2eebb8dd243d0e0f05372ea + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/preset-env@npm:7.5.5" + dependencies: + "@babel/helper-module-imports": "npm:^7.0.0" + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-proposal-async-generator-functions": "npm:^7.2.0" + "@babel/plugin-proposal-dynamic-import": "npm:^7.5.0" + "@babel/plugin-proposal-json-strings": "npm:^7.2.0" + "@babel/plugin-proposal-object-rest-spread": "npm:^7.5.5" + "@babel/plugin-proposal-optional-catch-binding": "npm:^7.2.0" + "@babel/plugin-proposal-unicode-property-regex": "npm:^7.4.4" + "@babel/plugin-syntax-async-generators": "npm:^7.2.0" + "@babel/plugin-syntax-dynamic-import": "npm:^7.2.0" + "@babel/plugin-syntax-json-strings": "npm:^7.2.0" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.2.0" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.2.0" + "@babel/plugin-transform-arrow-functions": "npm:^7.2.0" + "@babel/plugin-transform-async-to-generator": "npm:^7.5.0" + "@babel/plugin-transform-block-scoped-functions": "npm:^7.2.0" + "@babel/plugin-transform-block-scoping": "npm:^7.5.5" + "@babel/plugin-transform-classes": "npm:^7.5.5" + "@babel/plugin-transform-computed-properties": "npm:^7.2.0" + "@babel/plugin-transform-destructuring": "npm:^7.5.0" + "@babel/plugin-transform-dotall-regex": "npm:^7.4.4" + "@babel/plugin-transform-duplicate-keys": "npm:^7.5.0" + "@babel/plugin-transform-exponentiation-operator": "npm:^7.2.0" + "@babel/plugin-transform-for-of": "npm:^7.4.4" + "@babel/plugin-transform-function-name": "npm:^7.4.4" + "@babel/plugin-transform-literals": "npm:^7.2.0" + "@babel/plugin-transform-member-expression-literals": "npm:^7.2.0" + "@babel/plugin-transform-modules-amd": "npm:^7.5.0" + "@babel/plugin-transform-modules-commonjs": "npm:^7.5.0" + "@babel/plugin-transform-modules-systemjs": "npm:^7.5.0" + "@babel/plugin-transform-modules-umd": "npm:^7.2.0" + "@babel/plugin-transform-named-capturing-groups-regex": "npm:^7.4.5" + "@babel/plugin-transform-new-target": "npm:^7.4.4" + "@babel/plugin-transform-object-super": "npm:^7.5.5" + "@babel/plugin-transform-parameters": "npm:^7.4.4" + "@babel/plugin-transform-property-literals": "npm:^7.2.0" + "@babel/plugin-transform-regenerator": "npm:^7.4.5" + "@babel/plugin-transform-reserved-words": "npm:^7.2.0" + "@babel/plugin-transform-shorthand-properties": "npm:^7.2.0" + "@babel/plugin-transform-spread": "npm:^7.2.0" + "@babel/plugin-transform-sticky-regex": "npm:^7.2.0" + "@babel/plugin-transform-template-literals": "npm:^7.4.4" + "@babel/plugin-transform-typeof-symbol": "npm:^7.2.0" + "@babel/plugin-transform-unicode-regex": "npm:^7.4.4" + "@babel/types": "npm:^7.5.5" + browserslist: "npm:^4.6.0" + core-js-compat: "npm:^3.1.1" + invariant: "npm:^2.2.2" + js-levenshtein: "npm:^1.1.3" + semver: "npm:^5.5.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/ae9dc496017989ffb8afe6a076594fb8511291efc601ea2df0076cb3a684bd1d91b2a2c4602f5b9672ce9e4f446411a9f0eee83a86184c36b26f44b9adbde43a + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.0.0": + version: 7.0.0 + resolution: "@babel/preset-react@npm:7.0.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@babel/plugin-transform-react-display-name": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.0.0" + "@babel/plugin-transform-react-jsx-source": "npm:^7.0.0" + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 10c0/61c26fbe862e79521149ec8c410381ac2aee1089573d9248bacd616f62f4cadc1f253dc9f99f57f4c0592dbf241b5e00698ebfaf1a19321001c5d41ea1929d15 + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/runtime@npm:7.5.5" + dependencies: + regenerator-runtime: "npm:^0.13.2" + checksum: 10c0/ee5789200681462dc668ce4a0720914b16b872b4f71b79931a343fd4114154a3ec64e7e93ec38f634b7e3f54767005883402af86d60eb5172e897cae275ef8da + languageName: node + linkType: hard + +"@babel/template@npm:^7.1.0, @babel/template@npm:^7.4.0, @babel/template@npm:^7.4.4": + version: 7.4.4 + resolution: "@babel/template@npm:7.4.4" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + "@babel/parser": "npm:^7.4.4" + "@babel/types": "npm:^7.4.4" + checksum: 10c0/58231354ad3122e75582818674dc6c3fa7c63d6004c5eecf869872781132931c68ce54fba56f703d235c240ca26093331df2fe43997ce08c6d50fab8d9783636 + languageName: node + linkType: hard + +"@babel/template@npm:^7.29.7, @babel/template@npm:^7.3.3": + version: 7.29.7 + resolution: "@babel/template@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + checksum: 10c0/8bb7f900dcab0e9e1c5ffbc33ca10e0d26b7b2e2ca804becb73ee771b9c4ed6e2908a4ae4a14c08560febb45d2b6b9a173955e42ad404d05f8b04840a14d9c58 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.4.4, @babel/traverse@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/traverse@npm:7.5.5" + dependencies: + "@babel/code-frame": "npm:^7.5.5" + "@babel/generator": "npm:^7.5.5" + "@babel/helper-function-name": "npm:^7.1.0" + "@babel/helper-split-export-declaration": "npm:^7.4.4" + "@babel/parser": "npm:^7.5.5" + "@babel/types": "npm:^7.5.5" + debug: "npm:^4.1.0" + globals: "npm:^11.1.0" + lodash: "npm:^4.17.13" + checksum: 10c0/9f90795af038af9036aafc84c4bdf646a8bdd779168e1bace02ac673daf944da14a40071d9825d8760b133591b1336cd3f4e08d9d58a982231c7bbb18c4f3ef6 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.29.7": + version: 7.29.7 + resolution: "@babel/traverse@npm:7.29.7" + dependencies: + "@babel/code-frame": "npm:^7.29.7" + "@babel/generator": "npm:^7.29.7" + "@babel/helper-globals": "npm:^7.29.7" + "@babel/parser": "npm:^7.29.7" + "@babel/template": "npm:^7.29.7" + "@babel/types": "npm:^7.29.7" + debug: "npm:^4.3.1" + checksum: 10c0/e256a1fbdb956555b76f3c285b1e453f6bedec8b3afb61751d99d933efd11c7d79caf5ddf2493570058a9f7deaa1b48324380d7c1aa1443fd9508becbf56331a + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.2.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.4.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.5.5": + version: 7.5.5 + resolution: "@babel/types@npm:7.5.5" + dependencies: + esutils: "npm:^2.0.2" + lodash: "npm:^4.17.13" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/11e125f7cb56081c076edb2da3d1457e199bd86dfc7af9d3be4f4a535896875cc638c6755032198c23c3eb84012ab80780bfcccdaedd73d765ac56defb04b9ef + languageName: node + linkType: hard + +"@babel/types@npm:^7.20.7, @babel/types@npm:^7.29.7, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": + version: 7.29.7 + resolution: "@babel/types@npm:7.29.7" + dependencies: + "@babel/helper-string-parser": "npm:^7.29.7" + "@babel/helper-validator-identifier": "npm:^7.29.7" + checksum: 10c0/b6623994c69717fa27294f5fa46d59140338e2d86c6c1c13085c84ef7d53086ee357fbf4fe9abe3dd3da75734dc77c4c0df2f90fb29e667558bb3b3fb705e88f + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.3 + resolution: "@cnakazawa/watch@npm:1.0.3" + dependencies: + exec-sh: "npm:^0.3.2" + minimist: "npm:^1.2.0" + bin: + watch: ./cli.js + checksum: 10c0/276c5fff0e4d7240229ab5753db5c929b76602a150238565ad611da256693e8d17677c03b1e78fddd53368015825990c139dc9eadeeac07129a529bd18a11341 + languageName: node + linkType: hard + +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.1.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" + dependencies: + camelcase: "npm:^5.3.1" + find-up: "npm:^4.1.0" + get-package-type: "npm:^0.1.0" + js-yaml: "npm:^3.13.1" + resolve-from: "npm:^5.0.0" + checksum: 10c0/dd2a8b094887da5a1a2339543a4933d06db2e63cbbc2e288eb6431bd832065df0c099d091b6a67436e71b7d6bf85f01ce7c15f9253b4cbebcc3b9a496165ba42 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": + version: 0.1.6 + resolution: "@istanbuljs/schema@npm:0.1.6" + checksum: 10c0/bb0d370bf3dd454d2f37f1bccb8921e2da99adacef2da56ef47850e25d7a4de69cf639ead8c189755aef38921369024b4afea3535a5c2ac9082b3e1171bcbc3a + languageName: node + linkType: hard + +"@jest/console@npm:^24.7.1, @jest/console@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/console@npm:24.9.0" + dependencies: + "@jest/source-map": "npm:^24.9.0" + chalk: "npm:^2.0.1" + slash: "npm:^2.0.0" + checksum: 10c0/7fffdd61898c1ecc9d05023a28fdcb5447a87ee78bdd0a8e4e9b8e6a8f770a1093ff46e2816fe5e1321cc0f07623cc46ea937890de5a746f59d18588aa82bd91 + languageName: node + linkType: hard + +"@jest/console@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/console@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/7be408781d0a6f657e969cbec13b540c329671819c2f57acfad0dae9dbfe2c9be859f38fe99b35dba9ff1536937dc6ddc69fdcd2794812fa3c647a1619797f6c + languageName: node + linkType: hard + +"@jest/core@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/core@npm:24.9.0" + dependencies: + "@jest/console": "npm:^24.7.1" + "@jest/reporters": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/transform": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + ansi-escapes: "npm:^3.0.0" + chalk: "npm:^2.0.1" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.1.15" + jest-changed-files: "npm:^24.9.0" + jest-config: "npm:^24.9.0" + jest-haste-map: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-regex-util: "npm:^24.3.0" + jest-resolve: "npm:^24.9.0" + jest-resolve-dependencies: "npm:^24.9.0" + jest-runner: "npm:^24.9.0" + jest-runtime: "npm:^24.9.0" + jest-snapshot: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-validate: "npm:^24.9.0" + jest-watcher: "npm:^24.9.0" + micromatch: "npm:^3.1.10" + p-each-series: "npm:^1.0.0" + realpath-native: "npm:^1.1.0" + rimraf: "npm:^2.5.4" + slash: "npm:^2.0.0" + strip-ansi: "npm:^5.0.0" + checksum: 10c0/a4f11c66498c39bbf765464fcb6f3369403e67ce619d1758b438b8052f28c7b3cb6d4e463e6f3d37bbdb243a15809a8fdb2892823a0da5f27406a72bc5cf45ea + languageName: node + linkType: hard + +"@jest/core@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/core@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/reporters": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-changed-files: "npm:^29.7.0" + jest-config: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-resolve-dependencies: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-ansi: "npm:^6.0.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/934f7bf73190f029ac0f96662c85cd276ec460d407baf6b0dbaec2872e157db4d55a7ee0b1c43b18874602f662b37cb973dda469a4e6d88b4e4845b521adeeb2 + languageName: node + linkType: hard + +"@jest/environment@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/environment@npm:24.9.0" + dependencies: + "@jest/fake-timers": "npm:^24.9.0" + "@jest/transform": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + jest-mock: "npm:^24.9.0" + checksum: 10c0/267128ede9193374bfd1f1c9e4df8c0b31c17dcf853401b591639c39187ea3552c2ff2f3e8a75191b2dcb1e55a6c499fce2713edaa64d81fa6674ca27895e0ba + languageName: node + linkType: hard + +"@jest/environment@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/environment@npm:29.7.0" + dependencies: + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + checksum: 10c0/c7b1b40c618f8baf4d00609022d2afa086d9c6acc706f303a70bb4b67275868f620ad2e1a9efc5edd418906157337cce50589a627a6400bbdf117d351b91ef86 + languageName: node + linkType: hard + +"@jest/expect-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect-utils@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + checksum: 10c0/60b79d23a5358dc50d9510d726443316253ecda3a7fb8072e1526b3e0d3b14f066ee112db95699b7a43ad3f0b61b750c72e28a5a1cac361d7a2bb34747fa938a + languageName: node + linkType: hard + +"@jest/expect@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/expect@npm:29.7.0" + dependencies: + expect: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b41f193fb697d3ced134349250aed6ccea075e48c4f803159db102b826a4e473397c68c31118259868fd69a5cba70e97e1c26d2c2ff716ca39dc73a2ccec037e + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/fake-timers@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-mock: "npm:^24.9.0" + checksum: 10c0/ce0d8146bfd2e2822eb45aaf6965a858bd4e6a490fd30f0f3bc5941edd2fca33942e1a37bba3d85d3dbc275c18cb362e8c4f0805a2e246ec09bbeb6b4c8b1364 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/fake-timers@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@sinonjs/fake-timers": "npm:^10.0.2" + "@types/node": "npm:*" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/cf0a8bcda801b28dc2e2b2ba36302200ee8104a45ad7a21e6c234148932f826cb3bc57c8df3b7b815aeea0861d7b6ca6f0d4778f93b9219398ef28749e03595c + languageName: node + linkType: hard + +"@jest/globals@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/globals@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + jest-mock: "npm:^29.7.0" + checksum: 10c0/a385c99396878fe6e4460c43bd7bb0a5cc52befb462cc6e7f2a3810f9e7bcce7cdeb51908fd530391ee452dc856c98baa2c5f5fa8a5b30b071d31ef7f6955cea + languageName: node + linkType: hard + +"@jest/reporters@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/reporters@npm:24.9.0" + dependencies: + "@jest/environment": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/transform": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.0.1" + exit: "npm:^0.1.2" + glob: "npm:^7.1.2" + istanbul-lib-coverage: "npm:^2.0.2" + istanbul-lib-instrument: "npm:^3.0.1" + istanbul-lib-report: "npm:^2.0.4" + istanbul-lib-source-maps: "npm:^3.0.1" + istanbul-reports: "npm:^2.2.6" + jest-haste-map: "npm:^24.9.0" + jest-resolve: "npm:^24.9.0" + jest-runtime: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-worker: "npm:^24.6.0" + node-notifier: "npm:^5.4.2" + slash: "npm:^2.0.0" + source-map: "npm:^0.6.0" + string-length: "npm:^2.0.0" + checksum: 10c0/63812a0fae943db56f0531bef117bf8e82da8bff7a074c15bb4cc1a1563f086704d663d4d8cc4ddf4dc458dd9749fb82d135c097090e7bb6b27dfe7cc3c29928 + languageName: node + linkType: hard + +"@jest/reporters@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/reporters@npm:29.7.0" + dependencies: + "@bcoe/v8-coverage": "npm:^0.2.3" + "@jest/console": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + collect-v8-coverage: "npm:^1.0.0" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + istanbul-lib-coverage: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^6.0.0" + istanbul-lib-report: "npm:^3.0.0" + istanbul-lib-source-maps: "npm:^4.0.0" + istanbul-reports: "npm:^3.1.3" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + slash: "npm:^3.0.0" + string-length: "npm:^4.0.1" + strip-ansi: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.0.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: 10c0/a754402a799541c6e5aff2c8160562525e2a47e7d568f01ebfc4da66522de39cbb809bbb0a841c7052e4270d79214e70aec3c169e4eae42a03bc1a8a20cb9fa2 + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jest/source-map@npm:^24.3.0, @jest/source-map@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/source-map@npm:24.9.0" + dependencies: + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.1.15" + source-map: "npm:^0.6.0" + checksum: 10c0/3c897d605a5ca36cff02aac53bbb7d47fc4c50d7565b678d8d3353979933297260b5baf74cc4140809447b9e0700262385ba77f64f76068abad3ba66481dcdf4 + languageName: node + linkType: hard + +"@jest/source-map@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/source-map@npm:29.6.3" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.18" + callsites: "npm:^3.0.0" + graceful-fs: "npm:^4.2.9" + checksum: 10c0/a2f177081830a2e8ad3f2e29e20b63bd40bade294880b595acf2fc09ec74b6a9dd98f126a2baa2bf4941acd89b13a4ade5351b3885c224107083a0059b60a219 + languageName: node + linkType: hard + +"@jest/test-result@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-result@npm:24.9.0" + dependencies: + "@jest/console": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + checksum: 10c0/450d068a39ace6219883d820c9fa17d9e455bd5c03b03f0a5d3924d860cdd2e36234cc15367bc42f18421ac42365c33fbe6077d860b7659b719d4d39de9d1331 + languageName: node + linkType: hard + +"@jest/test-result@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-result@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + collect-v8-coverage: "npm:^1.0.0" + checksum: 10c0/7de54090e54a674ca173470b55dc1afdee994f2d70d185c80236003efd3fa2b753fff51ffcdda8e2890244c411fd2267529d42c4a50a8303755041ee493e6a04 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-sequencer@npm:24.9.0" + dependencies: + "@jest/test-result": "npm:^24.9.0" + jest-haste-map: "npm:^24.9.0" + jest-runner: "npm:^24.9.0" + jest-runtime: "npm:^24.9.0" + checksum: 10c0/6b04488ece3bbb1f1fa934db275bd27c3cb67630deb725895898b0bb96f75ef6b5299c9b33e2b398894bbc691ced514ff279af655f7b4fd8b51c9afa9da77458 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/test-sequencer@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + slash: "npm:^3.0.0" + checksum: 10c0/593a8c4272797bb5628984486080cbf57aed09c7cfdc0a634e8c06c38c6bef329c46c0016e84555ee55d1cd1f381518cf1890990ff845524c1123720c8c1481b + languageName: node + linkType: hard + +"@jest/transform@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/transform@npm:24.9.0" + dependencies: + "@babel/core": "npm:^7.1.0" + "@jest/types": "npm:^24.9.0" + babel-plugin-istanbul: "npm:^5.1.0" + chalk: "npm:^2.0.1" + convert-source-map: "npm:^1.4.0" + fast-json-stable-stringify: "npm:^2.0.0" + graceful-fs: "npm:^4.1.15" + jest-haste-map: "npm:^24.9.0" + jest-regex-util: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + micromatch: "npm:^3.1.10" + pirates: "npm:^4.0.1" + realpath-native: "npm:^1.1.0" + slash: "npm:^2.0.0" + source-map: "npm:^0.6.1" + write-file-atomic: "npm:2.4.1" + checksum: 10c0/3def8fce5a23ddd29984e0d31a8924e12a3d9ce96c9ca0cd20412232511656931dee54833f71897566c99ee1c975b53d2ef3dc69ce62191eb78d2f7e1414cb9e + languageName: node + linkType: hard + +"@jest/transform@npm:^29.7.0": + version: 29.7.0 + resolution: "@jest/transform@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/types": "npm:^29.6.3" + "@jridgewell/trace-mapping": "npm:^0.3.18" + babel-plugin-istanbul: "npm:^6.1.1" + chalk: "npm:^4.0.0" + convert-source-map: "npm:^2.0.0" + fast-json-stable-stringify: "npm:^2.1.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + pirates: "npm:^4.0.4" + slash: "npm:^3.0.0" + write-file-atomic: "npm:^4.0.2" + checksum: 10c0/7f4a7f73dcf45dfdf280c7aa283cbac7b6e5a904813c3a93ead7e55873761fc20d5c4f0191d2019004fac6f55f061c82eb3249c2901164ad80e362e7a7ede5a6 + languageName: node + linkType: hard + +"@jest/types@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/types@npm:24.9.0" + dependencies: + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^1.1.1" + "@types/yargs": "npm:^13.0.0" + checksum: 10c0/990b03f5e27de292a7fea6b12cd87256dd281263afe37020cad5dceb0b775945a528bafdbc2e41bf8a29c346f94a7aa5580517c5c65a2b33f245f43d3b9b4694 + languageName: node + linkType: hard + +"@jest/types@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/types@npm:29.6.3" + dependencies: + "@jest/schemas": "npm:^29.6.3" + "@types/istanbul-lib-coverage": "npm:^2.0.0" + "@types/istanbul-reports": "npm:^3.0.0" + "@types/node": "npm:*" + "@types/yargs": "npm:^17.0.8" + chalk: "npm:^4.0.0" + checksum: 10c0/ea4e493dd3fb47933b8ccab201ae573dcc451f951dc44ed2a86123cd8541b82aa9d2b1031caf9b1080d6673c517e2dcc25a44b2dc4f3fbc37bfc965d444888c0 + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.12, @jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.13 + resolution: "@jridgewell/gen-mapping@npm:0.3.13" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.5.0" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/9a7d65fb13bd9aec1fbab74cda08496839b7e2ceb31f5ab922b323e94d7c481ce0fc4fd7e12e2610915ed8af51178bdc61e168e92a8c8b8303b030b03489b13b + languageName: node + linkType: hard + +"@jridgewell/remapping@npm:^2.3.5": + version: 2.3.5 + resolution: "@jridgewell/remapping@npm:2.3.5" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.5" + "@jridgewell/trace-mapping": "npm:^0.3.24" + checksum: 10c0/3de494219ffeb2c5c38711d0d7bb128097edf91893090a2dbc8ee0b55d092bb7347b1fd0f478486c5eab010e855c73927b1666f2107516d472d24a73017d1194 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.2 + resolution: "@jridgewell/resolve-uri@npm:3.1.2" + checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.5.0": + version: 1.5.5 + resolution: "@jridgewell/sourcemap-codec@npm:1.5.5" + checksum: 10c0/f9e538f302b63c0ebc06eecb1dd9918dd4289ed36147a0ddce35d6ea4d7ebbda243cda7b2213b6a5e1d8087a298d5cf630fb2bd39329cdecb82017023f6081a0 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.28": + version: 0.3.31 + resolution: "@jridgewell/trace-mapping@npm:0.3.31" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/4b30ec8cd56c5fd9a661f088230af01e0c1a3888d11ffb6b47639700f71225be21d1f7e168048d6d4f9449207b978a235c07c8f15c07705685d16dc06280e9d9 + languageName: node + linkType: hard + +"@linked/react@npm:^3.1.2": + version: 3.1.2 + resolution: "@linked/react@npm:3.1.2" + dependencies: + "@linked/value": "npm:^3.1.0" + react: "npm:*" + tslib: "npm:^1.9.3" + checksum: 10c0/d6e16927417882a7cfd80791df495868687bf3e5794b1b5b13d6c46b56f323bb8fb185344414b952eb6d0f698ef94adf83c4af8c3c8dbf7c8e45adbf19f1736f + languageName: node + linkType: hard + +"@linked/value@npm:^3.1.0, @linked/value@npm:^3.1.3": + version: 3.1.3 + resolution: "@linked/value@npm:3.1.3" + dependencies: + tslib: "npm:^1.9.3" + checksum: 10c0/672e387dfa648c8ad659ec3176c77845a28755fb115a9ddb33b4c62aa9030f602f54df7cc006c12b8781595317f5a1198702b22e8f60679766179cbd00fd2ab0 + languageName: node + linkType: hard + +"@mswjs/interceptors@npm:^0.41.0": + version: 0.41.9 + resolution: "@mswjs/interceptors@npm:0.41.9" + dependencies: + "@open-draft/deferred-promise": "npm:^2.2.0" + "@open-draft/logger": "npm:^0.3.0" + "@open-draft/until": "npm:^2.0.0" + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.3" + strict-event-emitter: "npm:^0.5.1" + checksum: 10c0/2efff40877e07ce29846be76c2683177308a72a3ccfe4c096b496412a279acd92b5b9cdad40ad71c36b149a4a7d9e9b4e7d295893a8ba9661b43334f5784ecd8 + languageName: node + linkType: hard + +"@open-draft/deferred-promise@npm:^2.2.0": + version: 2.2.0 + resolution: "@open-draft/deferred-promise@npm:2.2.0" + checksum: 10c0/eafc1b1d0fc8edb5e1c753c5e0f3293410b40dde2f92688211a54806d4136887051f39b98c1950370be258483deac9dfd17cf8b96557553765198ef2547e4549 + languageName: node + linkType: hard + +"@open-draft/logger@npm:^0.3.0": + version: 0.3.0 + resolution: "@open-draft/logger@npm:0.3.0" + dependencies: + is-node-process: "npm:^1.2.0" + outvariant: "npm:^1.4.0" + checksum: 10c0/90010647b22e9693c16258f4f9adb034824d1771d3baa313057b9a37797f571181005bc50415a934eaf7c891d90ff71dcd7a9d5048b0b6bb438f31bef2c7c5c1 + languageName: node + linkType: hard + +"@open-draft/until@npm:^2.0.0": + version: 2.1.0 + resolution: "@open-draft/until@npm:2.1.0" + checksum: 10c0/61d3f99718dd86bb393fee2d7a785f961dcaf12f2055f0c693b27f4d0cd5f7a03d498a6d9289773b117590d794a43cd129366fd8e99222e4832f67b1653d54cf + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.10 + resolution: "@sinclair/typebox@npm:0.27.10" + checksum: 10c0/ca42a02817656dbdae464ed4bb8aca6ad4718d7618e270760fea84a834ad0ecc1a22eba51421f09e5047174571131356ff3b5d80d609ced775d631df7b404b0d + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1, @sinonjs/commons@npm:^1.3.0, @sinonjs/commons@npm:^1.4.0": + version: 1.6.0 + resolution: "@sinonjs/commons@npm:1.6.0" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/24c8dd77c378785a3c568adb4f6e49e8db9553804f3d53c29b948f36c4a249d5536aff8449485d845222d252adaf4d696e8857b4c0e5e5ab970beb3be17f2ef6 + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^3.0.0": + version: 3.0.1 + resolution: "@sinonjs/commons@npm:3.0.1" + dependencies: + type-detect: "npm:4.0.8" + checksum: 10c0/1227a7b5bd6c6f9584274db996d7f8cee2c8c350534b9d0141fc662eaf1f292ea0ae3ed19e5e5271c8fd390d27e492ca2803acd31a1978be2cdc6be0da711403 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^10.0.2": + version: 10.3.0 + resolution: "@sinonjs/fake-timers@npm:10.3.0" + dependencies: + "@sinonjs/commons": "npm:^3.0.0" + checksum: 10c0/2e2fb6cc57f227912814085b7b01fede050cd4746ea8d49a1e44d5a0e56a804663b0340ae2f11af7559ea9bf4d087a11f2f646197a660ea3cb04e19efc04aa63 + languageName: node + linkType: hard + +"@sinonjs/formatio@npm:^3.2.1": + version: 3.2.1 + resolution: "@sinonjs/formatio@npm:3.2.1" + dependencies: + "@sinonjs/commons": "npm:^1" + "@sinonjs/samsam": "npm:^3.1.0" + checksum: 10c0/543ebb528e97f8ebf8c9c29fbaa6543999e563303860aaa4d70d8ad4f3231b54b1ca238dd346b6dcd325328b2b29c48da967c637eb184635677b5e4278c0c164 + languageName: node + linkType: hard + +"@sinonjs/samsam@npm:^3.1.0, @sinonjs/samsam@npm:^3.3.2": + version: 3.3.3 + resolution: "@sinonjs/samsam@npm:3.3.3" + dependencies: + "@sinonjs/commons": "npm:^1.3.0" + array-from: "npm:^2.1.1" + lodash: "npm:^4.17.15" + checksum: 10c0/01b0f1eb28fa54dca2c544153f0ac2e8790a89e5031b8437d27524944f8cc1013d1cb77390533eaefb528e6349936ff96adc30886147ccbdd7daa24d907e83e0 + languageName: node + linkType: hard + +"@sinonjs/text-encoding@npm:^0.7.1": + version: 0.7.1 + resolution: "@sinonjs/text-encoding@npm:0.7.1" + checksum: 10c0/a55d2aa35f30efcafc8ca57841ee9a6c963e969be3ace0a9576f772790fedd36c22be5687df0ad55e1c5ce1961e05c496f2981f5ad3491802bd9212d91ca03e2 + languageName: node + linkType: hard + +"@type-r/docs@workspace:docs": + version: 0.0.0-use.local + resolution: "@type-r/docs@workspace:docs" + dependencies: + handlebars: "npm:*" + highlight.js: "npm:*" + jest: "npm:*" + marked: "npm:^0.3.0" + languageName: unknown + linkType: soft + +"@type-r/endpoints@workspace:endpoints": + version: 0.0.0-use.local + resolution: "@type-r/endpoints@workspace:endpoints" + dependencies: + "@type-r/models": "npm:^4.1.0" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + tslib: "npm:^1.10.0" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/ext-types@npm:^4.0.0, @type-r/ext-types@workspace:ext-types": + version: 0.0.0-use.local + resolution: "@type-r/ext-types@workspace:ext-types" + dependencies: + "@type-r/models": "npm:^4.0.0" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + tslib: "npm:^1.10.0" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/globals@workspace:globals": + version: 0.0.0-use.local + resolution: "@type-r/globals@workspace:globals" + dependencies: + "@type-r/ext-types": "npm:^4.0.0" + "@type-r/models": "npm:^4.0.0" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + tslib: "npm:^1.10.0" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/mixture@npm:^4.0.7, @type-r/mixture@workspace:mixture": + version: 0.0.0-use.local + resolution: "@type-r/mixture@workspace:mixture" + dependencies: + rimraf: "npm:^2.6.3" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + tslib: "npm:^1.10.0" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/models@npm:^4.0.0, @type-r/models@npm:^4.1.0, @type-r/models@workspace:models": + version: 0.0.0-use.local + resolution: "@type-r/models@workspace:models" + dependencies: + "@linked/value": "npm:^3.1.3" + "@type-r/mixture": "npm:^4.0.7" + rimraf: "npm:^2.6.3" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + tslib: "npm:^1.10.0" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/react@npm:^4.1.0, @type-r/react@workspace:react": + version: 0.0.0-use.local + resolution: "@type-r/react@workspace:react" + dependencies: + "@linked/react": "npm:^3.1.2" + "@type-r/models": "npm:^4.1.0" + "@types/react": "npm:^16.8.23" + react: "npm:^16.8.6" + rimraf: "npm:^2.6.3" + rollup: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"@type-r/tests@workspace:tests": + version: 0.0.0-use.local + resolution: "@type-r/tests@workspace:tests" + dependencies: + "@type-r/models": "npm:^4.1.0" + "@types/jest": "npm:^29.5.14" + chai: "npm:*" + isomorphic-fetch: "npm:*" + jest: "npm:^29.7.0" + jest-cli: "npm:^29.7.0" + nock: "npm:^14.0.16" + qunit: "npm:*" + reflect-metadata: "npm:*" + sinon: "npm:*" + sinon-chai: "npm:*" + ts-jest: "npm:^29.4.11" + typescript: "npm:6.0.3" + underscore: "npm:*" + languageName: unknown + linkType: soft + +"@types/babel__core@npm:^7.1.0": + version: 7.1.2 + resolution: "@types/babel__core@npm:7.1.2" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/2ff7a34283542abfd37896a1b4e8696f945fd1c6cdbc0174213b67766fd1521f29814e49107d53a4ce616e79ef3318f92d849508af9dd639934f88e95254af65 + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.14": + version: 7.20.5 + resolution: "@types/babel__core@npm:7.20.5" + dependencies: + "@babel/parser": "npm:^7.20.7" + "@babel/types": "npm:^7.20.7" + "@types/babel__generator": "npm:*" + "@types/babel__template": "npm:*" + "@types/babel__traverse": "npm:*" + checksum: 10c0/bdee3bb69951e833a4b811b8ee9356b69a61ed5b7a23e1a081ec9249769117fa83aaaf023bb06562a038eb5845155ff663e2d5c75dd95c1d5ccc91db012868ff + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.0.2 + resolution: "@types/babel__generator@npm:7.0.2" + dependencies: + "@babel/types": "npm:^7.0.0" + checksum: 10c0/367401db2a42f19b1ebcdfbffacf29699d3a2f1fc029eef271de40a07e42aa6a7fb32c43f8689d5bc28580446dfebf165ae332d05246193dfe69d40729aad262 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.0.2 + resolution: "@types/babel__template@npm:7.0.2" + dependencies: + "@babel/parser": "npm:^7.1.0" + "@babel/types": "npm:^7.0.0" + checksum: 10c0/8da8d45b97eb420976811a168d3ace44ffa0d98fea8ec204c8502331ce94f2b05b7be15357b741cffe2ef8bbfa419e841af9faafe07dc5049b3a6f71efd6a41e + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.0.7 + resolution: "@types/babel__traverse@npm:7.0.7" + dependencies: + "@babel/types": "npm:^7.3.0" + checksum: 10c0/a2c25fa00a9c9a11bfca10a669c7463d733da7bebc356bc53b194adf74eb30af418f283eaae6decd25f4407cee0e10cb87f886082c49f97696bd6ea5acb7c1c3 + languageName: node + linkType: hard + +"@types/estree@npm:0.0.39": + version: 0.0.39 + resolution: "@types/estree@npm:0.0.39" + checksum: 10c0/f0af6c95ac1988c4827964bd9d3b51d24da442e2188943f6dfcb1e1559103d5d024d564b2e9d3f84c53714a02a0a7435c7441138eb63d9af5de4dfc66cdc0d92 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.3": + version: 4.1.9 + resolution: "@types/graceful-fs@npm:4.1.9" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/235d2fc69741448e853333b7c3d1180a966dd2b8972c8cbcd6b2a0c6cd7f8d582ab2b8e58219dbc62cce8f1b40aa317ff78ea2201cdd8249da5025adebed6f0b + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0": + version: 2.0.1 + resolution: "@types/istanbul-lib-coverage@npm:2.0.1" + checksum: 10c0/2486204ab68c869928d96abd9ba4913050977b3fb26da1113156a7e6d2f203fec53d51ed9b9db3199a5eb75e69049ab600da953efd55fd9329e2c1482abb493e + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 1.1.1 + resolution: "@types/istanbul-lib-report@npm:1.1.1" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + checksum: 10c0/b773aa6adb92cef94b0985fa49d9d8c06f30117b7607426b99a2ab06c0019fcd27844f5ca787956a80c10dccae3f8a3062c818c90bebc299f06dac290d9d367f + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/istanbul-reports@npm:1.1.1" + dependencies: + "@types/istanbul-lib-coverage": "npm:*" + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/a91dccd7399231a1871f730d6d933cb8a6d3f5aa4532670348b7aae261104d5306a6add81f734fa03a629ed8d806d287a40413a19e95489676b08ede21d220fc + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^3.0.0": + version: 3.0.4 + resolution: "@types/istanbul-reports@npm:3.0.4" + dependencies: + "@types/istanbul-lib-report": "npm:*" + checksum: 10c0/1647fd402aced5b6edac87274af14ebd6b3a85447ef9ad11853a70fd92a98d35f81a5d3ea9fcb5dbb5834e800c6e35b64475e33fcae6bfa9acc70d61497c54ee + languageName: node + linkType: hard + +"@types/jest@npm:^29.5.14": + version: 29.5.14 + resolution: "@types/jest@npm:29.5.14" + dependencies: + expect: "npm:^29.0.0" + pretty-format: "npm:^29.0.0" + checksum: 10c0/18e0712d818890db8a8dab3d91e9ea9f7f19e3f83c2e50b312f557017dc81466207a71f3ed79cf4428e813ba939954fa26ffa0a9a7f153181ba174581b1c2aed + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:^12.7.2": + version: 12.7.2 + resolution: "@types/node@npm:12.7.2" + checksum: 10c0/37f11eae65299a265063d084cb26468c95a820a6c5a64be6eeae8a912ee43e8aec3bb4e42c851da49c06caa786eb4f0520fdc25948e2a1e67bcd7684d8b89760 + languageName: node + linkType: hard + +"@types/prop-types@npm:*": + version: 15.7.1 + resolution: "@types/prop-types@npm:15.7.1" + checksum: 10c0/48c51af3995607372d30495f11e32fe5c81ae0ab0254163a4c7d7b53d2ca548ff797d53560fd64a67bd4455ff28580f2fffa283b6ac2a9b0761a4babb6faa1a2 + languageName: node + linkType: hard + +"@types/react@npm:^16.8.23": + version: 16.9.2 + resolution: "@types/react@npm:16.9.2" + dependencies: + "@types/prop-types": "npm:*" + csstype: "npm:^2.2.0" + checksum: 10c0/0441fa6b95f4ffcaa6376b735c4d3b449c7d382e40914194feb34235e41c9051add8b41d9840943422dc39bef3767defff0e9b32da1c791ed5adabe19a578d1a + languageName: node + linkType: hard + +"@types/resolve@npm:0.0.8": + version: 0.0.8 + resolution: "@types/resolve@npm:0.0.8" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/ead6902f01e7240918e6f6dabf0e2bc37035492b1da16f605bbd1e153c17d0639df77981b2ec042480361be76c9e967543287d9b312cd668ed9123524994c344 + languageName: node + linkType: hard + +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 10c0/4c4a8c48ba556bbe5fad2232cd9598b7f5f3e110451a3ad5cdf7e42204abf3d1abd30a9e6679d576e8e901e1f6b38e744af1f75f384e697c89bee53e5443b8c9 + languageName: node + linkType: hard + +"@types/stack-utils@npm:^2.0.0": + version: 2.0.3 + resolution: "@types/stack-utils@npm:2.0.3" + checksum: 10c0/1f4658385ae936330581bcb8aa3a066df03867d90281cdf89cc356d404bd6579be0f11902304e1f775d92df22c6dd761d4451c804b0a4fba973e06211e9bd77c + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 13.0.0 + resolution: "@types/yargs-parser@npm:13.0.0" + checksum: 10c0/a33cf28e27bccbe9a67ae20113c222ba1d56bdc375f30cc6bc6ff4c6a2d78d88bd25d9ce5feaf8a32d34a4d7e25201e662182468157f7f6ec740346080e0847e + languageName: node + linkType: hard + +"@types/yargs@npm:^13.0.0": + version: 13.0.2 + resolution: "@types/yargs@npm:13.0.2" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/428d8ef6fadaf798951ebc7c9e17ad8129ed6d91e4548fef22347fbcf5da749f6f06bd14efab9bef457f0bee1d319ec197268a1bd902aa6c18ec372a174554ed + languageName: node + linkType: hard + +"@types/yargs@npm:^17.0.8": + version: 17.0.35 + resolution: "@types/yargs@npm:17.0.35" + dependencies: + "@types/yargs-parser": "npm:*" + checksum: 10c0/609557826a6b85e73ccf587923f6429850d6dc70e420b455bab4601b670bfadf684b09ae288bccedab042c48ba65f1666133cf375814204b544009f57d6eef63 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/ast@npm:1.8.5" + dependencies: + "@webassemblyjs/helper-module-context": "npm:1.8.5" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.8.5" + "@webassemblyjs/wast-parser": "npm:1.8.5" + checksum: 10c0/fc3920cd5a41c6128da60c6bc677128701e513afea743f0bdc1a06abf94d71d0dd6cc5117f82c0572dec8c056d32f0e852bbf9c5500db54df024b1d67da3aa97 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.8.5" + checksum: 10c0/08befd01cccb0f3c8a2e2f9ed1afbf12eed2bc22f7ac21e530161702a8a1430778378eef6687eb84281adaa10be45e5b55a6ee0a3f71be156c75943984f0baa4 + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-api-error@npm:1.8.5" + checksum: 10c0/5e8f6f841c46236fe5236df9ab448066dd78d7d65ea7c277903444c59d86314db20e8bcabc08021cc1e7fcd7c7c559e014cf32d962aee57e377ac974d7145170 + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-buffer@npm:1.8.5" + checksum: 10c0/6c418249a0af23b140ff490201f65e3c5d1ea1d8f341fc978a04c1016eb19580bb47f6b47ba00d30c7044237c011f14bf5cfa6bd3d3d254409378c3a8b9366f3 + languageName: node + linkType: hard + +"@webassemblyjs/helper-code-frame@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-code-frame@npm:1.8.5" + dependencies: + "@webassemblyjs/wast-printer": "npm:1.8.5" + checksum: 10c0/4a7d028584000c8b0866611d44011a27f1d9b5feb3f5c4db8b68aa530bffaf11de67f86bdcf1fb86103fb5c65a42138d51c834f0649f3f2b99dff5cf92d26bab + languageName: node + linkType: hard + +"@webassemblyjs/helper-fsm@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-fsm@npm:1.8.5" + checksum: 10c0/80029ea160795e6725599945123b032af1bf73168f1250bc97d6413055b63a9dcf43f48ecda1f7638cf83fb4b78763af19ca23c4ebadd0967d5c280d3552dd4d + languageName: node + linkType: hard + +"@webassemblyjs/helper-module-context@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-module-context@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + mamacro: "npm:^0.0.3" + checksum: 10c0/82c03af018b1660d340b779756b56db856a26b02ad5e1b16b24bda339e6a1542d0f7e78da6dec463f3961964f19d7326e67b2506d401c0686af252f282be68d5 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.8.5" + checksum: 10c0/e8924333a86e124c53a89dd3082abbeb7ccbc710ecad2d9d3a4484fcd0372b9bee22dc58e3673b2a035f71a49e542b5fe30b5d03f7bfb0940a95abe10d69f837 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-buffer": "npm:1.8.5" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.8.5" + "@webassemblyjs/wasm-gen": "npm:1.8.5" + checksum: 10c0/d3e466e821b8e50b40137659f5e6c270abb9e178fbdd73bf1b8a0583288d2dd7d97e99a902df70d07c30a0b72f90f779a600fceacf946b3926ba9cfb7e7c1b36 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/ieee754@npm:1.8.5" + dependencies: + "@xtuc/ieee754": "npm:^1.2.0" + checksum: 10c0/b16d4d0a5a9b76d7e152dd4f69be9aad56e9808471715cbbec8b8af313d33b53bb77660b3afd7b916e47d823820024baaf0c81522e356f0521ecc7fb0b78d2fe + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/leb128@npm:1.8.5" + dependencies: + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/b8300708cd5b2222ff96dc99c4aa82b70906cdfd21634fa1e5890b151198ae3017aa8c6d65b6fa1d98784419c7bfb97afa0772d2f841f9a8cf4ce987424eca2e + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/utf8@npm:1.8.5" + checksum: 10c0/92628c3b5a64a0cdd99892c7c8d6cf0b9cd116649b066e8b405c841c172e04db9ef9655385741364c8efff4daac4f2010b4cac9486f90a24acb53390b475bbd5 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-edit@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-buffer": "npm:1.8.5" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.8.5" + "@webassemblyjs/helper-wasm-section": "npm:1.8.5" + "@webassemblyjs/wasm-gen": "npm:1.8.5" + "@webassemblyjs/wasm-opt": "npm:1.8.5" + "@webassemblyjs/wasm-parser": "npm:1.8.5" + "@webassemblyjs/wast-printer": "npm:1.8.5" + checksum: 10c0/b5a0e798267fd131855924ae706d445bd1607526fce8685a3839d71a15f51cfa4fc77ddadd1e9f0b0084042be47c00f4ec3482548a98e50ac5c9d4ec2235f3d1 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-gen@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.8.5" + "@webassemblyjs/ieee754": "npm:1.8.5" + "@webassemblyjs/leb128": "npm:1.8.5" + "@webassemblyjs/utf8": "npm:1.8.5" + checksum: 10c0/fd52646be01e48cd1af162935208c81d906ed224deab0a69c0309e0836f66ad08e5e0b1ca2708ebc4d42086aa4a9ba3fc2c592d13314244b87e7232523fae0b7 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-opt@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-buffer": "npm:1.8.5" + "@webassemblyjs/wasm-gen": "npm:1.8.5" + "@webassemblyjs/wasm-parser": "npm:1.8.5" + checksum: 10c0/7125cc8e09c3ec6072bd4bf7c8b43c0a1d1b164f0f5c1afa33ff1a10b2fad9ec60c01a1374f511b966384c596e16aa3250f9551ba1335ffa116708d0032fb49d + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-parser@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-api-error": "npm:1.8.5" + "@webassemblyjs/helper-wasm-bytecode": "npm:1.8.5" + "@webassemblyjs/ieee754": "npm:1.8.5" + "@webassemblyjs/leb128": "npm:1.8.5" + "@webassemblyjs/utf8": "npm:1.8.5" + checksum: 10c0/05c840470b326695ea71a35712619d8f766f2c5478ce533a8a0838e5e7b92788480a32724f034bd486ebd0dd3776a22013b47aba338fde1a2c0f1217a7c4c863 + languageName: node + linkType: hard + +"@webassemblyjs/wast-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wast-parser@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/floating-point-hex-parser": "npm:1.8.5" + "@webassemblyjs/helper-api-error": "npm:1.8.5" + "@webassemblyjs/helper-code-frame": "npm:1.8.5" + "@webassemblyjs/helper-fsm": "npm:1.8.5" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/57b0f4a6b38a47f39bcf55a4bec3a34f8a83e28c822378ed6fcfefbb1cac93ba04b0aaf3885f0ebf18c84ea8933a1df6ca1b0aaadd2b13795e5997a1b0611d89 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wast-printer@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/wast-parser": "npm:1.8.5" + "@xtuc/long": "npm:4.2.2" + checksum: 10c0/7dcee4736c4f324459231ea2ae1c1106be028401b1ff7d5f364dacc12ad70696c9ff1c7bf98860078a7268d9e992560f446227ffa22d4b9b726d6a4e7dc496b9 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 10c0/a8565d29d135039bd99ae4b2220d3e167d22cf53f867e491ed479b3f84f895742d0097f935b19aab90265a23d5d46711e4204f14c479ae3637fbf06c4666882f + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 10c0/8582cbc69c79ad2d31568c412129bf23d2b1210a1dfb60c82d5a1df93334da4ee51f3057051658569e2c196d8dc33bc05ae6b974a711d0d16e801e1d0647ccd1 + languageName: node + linkType: hard + +"abab@npm:^2.0.0": + version: 2.0.0 + resolution: "abab@npm:2.0.0" + checksum: 10c0/479db4c8609120191dbdf468ba64c02f6726c08ca3afd1bb3cc1e7ea6d124e2d3ebd43c60b9f382b03bd1847f566b7c0fe30ea2b138e16ea2226a937b2442d74 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^5.0.0": + version: 5.0.0 + resolution: "abbrev@npm:5.0.0" + checksum: 10c0/8e88f5c798ea4562d28c5a3e9ad69e3879890bc5d695d8f2dffb8609be4c890aacc8f80ef4553fdd2c6a62d70c2ce8bc57b38074e383beb7487bdafa9ed42ea5 + languageName: node + linkType: hard + +"acorn-globals@npm:^4.1.0": + version: 4.3.3 + resolution: "acorn-globals@npm:4.3.3" + dependencies: + acorn: "npm:^6.0.1" + acorn-walk: "npm:^6.0.1" + checksum: 10c0/1177c50b6d547ff1ed1ead05bb1f1bc753b91c6d1a100ce562c37859dd73a74e69811be72069104a39cca9585f4c3f716e20de2625ccc830fa0bd4e892db4466 + languageName: node + linkType: hard + +"acorn-walk@npm:^6.0.1": + version: 6.2.0 + resolution: "acorn-walk@npm:6.2.0" + checksum: 10c0/748c2b5f2c5dedc1455c5d1685d31c744b6850d478824862e7f517688369e4ddb1c169ef4eec533ed328ef5139d786defa30f57a8a71f5d0a164f43619a2e8f9 + languageName: node + linkType: hard + +"acorn@npm:^5.5.3": + version: 5.7.3 + resolution: "acorn@npm:5.7.3" + bin: + acorn: ./bin/acorn + checksum: 10c0/224c42d92ec6bca30a58c60b38541b2ef818c4d1a458e126da301dea1150da7db4609b7aef41e46f1015c05761820f0c3fef60287aaba9b655cfd94ad15e8b2f + languageName: node + linkType: hard + +"acorn@npm:^6.0.1, acorn@npm:^6.2.1": + version: 6.3.0 + resolution: "acorn@npm:6.3.0" + bin: + acorn: ./bin/acorn + checksum: 10c0/59b70f8eb9527b73eb1f467779d76293ccbd02fb22329fc8e390d04841ea73ef4f42ab2df808a9d10aa556c534bb22b17f51d424c6fd99ceaa5d986d7a2d70a3 + languageName: node + linkType: hard + +"acorn@npm:^7.0.0": + version: 7.0.0 + resolution: "acorn@npm:7.0.0" + bin: + acorn: ./bin/acorn + checksum: 10c0/ac1416bc293c644f96a8c4c722450a30e99dc2fc8e96a8b403ac89191272f5c41428e79b673bebdd8433be9d5ed016b3edf25003b008d1a1a8898352ae3282de + languageName: node + linkType: hard + +"acorn@npm:^8.5.0": + version: 8.17.0 + resolution: "acorn@npm:8.17.0" + bin: + acorn: bin/acorn + checksum: 10c0/5dcefea5f8f023b6cc24cbe71fb5a8112b601d36c4fa07d14e4e6ffc2ee47383332c46b36c766d9437725aa6660156eae50efa0c838719823b50d7c327c4ed42 + languageName: node + linkType: hard + +"ajv-errors@npm:^1.0.0": + version: 1.0.1 + resolution: "ajv-errors@npm:1.0.1" + peerDependencies: + ajv: ">=5.0.0" + checksum: 10c0/de2d6e8100c8707ea063ee4785d53adf599b457c0d4f72c3592244d67ad16448a6d35f7ce45f12bdd2819939447c876e8ef2f1c0800896d7f2aa25c3838acdf1 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1": + version: 3.4.1 + resolution: "ajv-keywords@npm:3.4.1" + peerDependencies: + ajv: ^6.9.1 + checksum: 10c0/2176e0addabe66f03ad2a06307149a122e4fb2759aee96bcac3ac43f293e11f1450109530bd61d05c9eddc5eca7460636bcedf3b65da2a4082e2dfe042e8d154 + languageName: node + linkType: hard + +"ajv@npm:^6.1.0, ajv@npm:^6.10.2, ajv@npm:^6.5.5": + version: 6.10.2 + resolution: "ajv@npm:6.10.2" + dependencies: + fast-deep-equal: "npm:^2.0.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/4d8cabbdf424ce9b6980acbd3ae30b8ce0ac380682e0cd42a73d134d3ac70bd287b071458da5611a42cf5fd2775fd9eb94b8712a1c20e26f22cbfb0ff11508be + languageName: node + linkType: hard + +"ansi-escapes@npm:^3.0.0": + version: 3.2.0 + resolution: "ansi-escapes@npm:3.2.0" + checksum: 10c0/084e1ce38139ad2406f18a8e7efe2b850ddd06ce3c00f633392d1ce67756dab44fe290e573d09ef3c9a0cb13c12881e0e35a8f77a017d39a0a4ab85ae2fae04f + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.2 + resolution: "ansi-escapes@npm:4.3.2" + dependencies: + type-fest: "npm:^0.21.3" + checksum: 10c0/da917be01871525a3dfcf925ae2977bc59e8c513d4423368645634bf5d4ceba5401574eb705c1e92b79f7292af5a656f78c5725a4b0e1cec97c4b413705c1d50 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 10c0/c6a2b226d009965decc65d330b953290039f0f2b31d200516a9a79b6010f5f8f9d6acbaa0917d925c578df0c0feaddcb56569aad05776f99e2918116d4233121 + languageName: node + linkType: hard + +"ansi-regex@npm:^4.0.0, ansi-regex@npm:^4.1.0": + version: 4.1.0 + resolution: "ansi-regex@npm:4.1.0" + checksum: 10c0/a10376bc12035b0b40f036d3e544d92f9e6a525bc7cd65f71e108c0965d74f777e0eef47a6d0bfbdec1d835df1edf0410516a39525d2d89ce9547eb47644d681 + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: "npm:^1.9.0" + checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: "npm:^3.1.4" + normalize-path: "npm:^2.1.1" + checksum: 10c0/a0d745e52f0233048724b9c9d7b1d8a650f7a50151a0f1d2cce1857b09fd096052d334f8c570cc88596edef8249ae778f767db94025cd00f81e154a37bb7e34e + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3": + version: 3.1.3 + resolution: "anymatch@npm:3.1.3" + dependencies: + normalize-path: "npm:^3.0.0" + picomatch: "npm:^2.0.4" + checksum: 10c0/57b06ae984bc32a0d22592c87384cd88fe4511b1dd7581497831c56d41939c8a001b28e7b853e1450f2bf61992dfcaa8ae2d0d161a0a90c4fb631ef07098fbac + languageName: node + linkType: hard + +"aproba@npm:^1.0.3, aproba@npm:^1.1.1": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: 10c0/2d34f008c9edfa991f42fe4b667d541d38a474a39ae0e24805350486d76744cd91ee45313283c1d39a055b14026dd0fc4d0cbfc13f210855d59d7e8b5a61dc51 + languageName: node + linkType: hard + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^2.0.6" + checksum: 10c0/56234fa447056b6acc70419a4434db0aff5a17dba4fa034561d4c83882abd690bf5a6face9d0160dee2e20035c10a7b31d3562726512321ef49db41cc04c8dd8 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: 10c0/67b80067137f70c89953b95f5c6279ad379c3ee39f7143578e13bd51580a40066ee2a55da066e22d498dce10f68c2d70056d7823f972fab99dfbf4c78d0bc0f7 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 10c0/bef53be02ed3bc58f202b3861a5b1eb6e1ae4fecf39c3ad4d15b1e0433f941077d16e019a33312d820844b0661777322acbb7d0c447b04d9bdf7d6f9c532548a + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: 10c0/7d5aa05894e54aa93c77c5726c1dd5d8e8d3afe4f77983c0aa8a14a8a5cbe8b18f0cf4ecaa4ac8c908ef5f744d2cbbdaa83fd6e96724d15fea56cfa7f5efdd51 + languageName: node + linkType: hard + +"array-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "array-equal@npm:1.0.0" + checksum: 10c0/5841f0b823e6806d147d40e262a0f66cb7d3272b9f9ffa8dedb868fc7799cb410ae262a32f6f358baa6c3ee7d6271eeab86b516cdfd8f9a8fa12b4f15a18e119 + languageName: node + linkType: hard + +"array-from@npm:^2.1.1": + version: 2.1.1 + resolution: "array-from@npm:2.1.1" + checksum: 10c0/565fe078a3fb8be3d1b17d1b1a6b514d14d7f6c7349fb1de0b0f4cb7e0e4ffb6d35e03ff234ac978cffb67fc8f1e93e477271b70fe2f9e0ef76d10b0402d4d26 + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: 10c0/dbf4462cdba8a4b85577be07705210b3d35be4b765822a3f52962d907186617638ce15e0603a4fefdcf82f4cbbc9d433f8cbbd6855148a68872fa041b6474121 + languageName: node + linkType: hard + +"asn1.js@npm:^4.0.0": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" + dependencies: + bn.js: "npm:^4.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/afa7f3ab9e31566c80175a75b182e5dba50589dcc738aa485be42bdd787e2a07246a4b034d481861123cbe646a7656f318f4f1cad2e9e5e808a210d5d6feaa88 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.4 + resolution: "asn1@npm:0.2.4" + dependencies: + safer-buffer: "npm:~2.1.0" + checksum: 10c0/cdd85010a393ec7b88b127c879a0a580f65ea5f919605e5264bc70cefaa295e9ecb1cfe045fbd76f3dbbea9ee6ab4acd750ae81b39994c61a7e80645b0cbdc42 + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 10c0/b194b9d50c3a8f872ee85ab110784911e696a4d49f7ee6fc5fb63216dedbefd2c55999c70cb2eaeb4cf4a0e0338b44e9ace3627117b5bf0d42460e9132f21b91 + languageName: node + linkType: hard + +"assert@npm:^1.1.1": + version: 1.5.0 + resolution: "assert@npm:1.5.0" + dependencies: + object-assign: "npm:^4.1.1" + util: "npm:0.10.3" + checksum: 10c0/188da37d63be479a3b14657c01080db90cdf7fa004e346af916cf8beebcaffb11359c596d0c9c3cd8174c9125a6225796ef1ce533487edc97f8ce3b18c1ab590 + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: 10c0/29a654b8a6da6889a190d0d0efef4b1bfb5948fa06cbc245054aef05139f889f2f7c75b989917e3fde853fc4093b88048e4de8578a73a76f113d41bfd66e5775 + languageName: node + linkType: hard + +"astral-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "astral-regex@npm:1.0.0" + checksum: 10c0/ca460207a19d84c65671e1a85940101522d42f31a450cdb8f93b3464e6daeaf4b58a362826a6c11c57e6cd1976403d197abb0447cfc2087993a29b35c6d63b63 + languageName: node + linkType: hard + +"async-each@npm:^1.0.1": + version: 1.0.3 + resolution: "async-each@npm:1.0.3" + checksum: 10c0/d5f0ed24792d04b747f667fdcc92c7e6972da1252525a942119f468e629adba1e235df8b8a8e75776e6c7b18ef04d68db7295350bfa1a958457b34faa9a3bd65 + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 10c0/0693d378cfe86842a70d4c849595a0bb50dc44c11649640ca982fa90cbfc74e3cc4753b5a0847e51933f2e9c65ce8e05576e75e5e1fd963a086e673735b35969 + languageName: node + linkType: hard + +"async@npm:^2.5.0": + version: 2.6.3 + resolution: "async@npm:2.6.3" + dependencies: + lodash: "npm:^4.17.14" + checksum: 10c0/06c917c74a55f9036ff79dedfc51dfc9c52c2dee2f80866b600495d2fd3037251dbcfde6592f23fc47398c44d844174004e0ee532f94c32a888bb89fd1cf0f25 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 10c0/d73e2ddf20c4eb9337e1b3df1a0f6159481050a5de457c55b14ea2e5cb6d90bb69e004c9af54737a5ee0917fcf2c9e25de67777bbe58261847846066ba75bc9d + languageName: node + linkType: hard + +"atob@npm:^2.1.1": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: 10c0/ada635b519dc0c576bb0b3ca63a73b50eefacf390abb3f062558342a8d68f2db91d0c8db54ce81b0d89de3b0f000de71f3ae7d761fd7d8cc624278fe443d6c7e + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 10c0/021d2cc5547d4d9ef1633e0332e746a6f447997758b8b68d6fb33f290986872d2bff5f0c37d5832f41a7229361f093cd81c40898d96ed153493c0fb5cd8575d2 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.8.0 + resolution: "aws4@npm:1.8.0" + checksum: 10c0/56997cf26f6dfeccf9a7d0ba47b0829b149281476f493ee509125499ce2043c08ad06883f694664c7911d38028dc07444995ee52b40e585cf50d86ff488e2b74 + languageName: node + linkType: hard + +"babel-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-jest@npm:24.9.0" + dependencies: + "@jest/transform": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + "@types/babel__core": "npm:^7.1.0" + babel-plugin-istanbul: "npm:^5.1.0" + babel-preset-jest: "npm:^24.9.0" + chalk: "npm:^2.4.2" + slash: "npm:^2.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/18b7032614386287b35aef061232337c99610bf745d71009a180da5dc478db1fb110cbf6656dd3a425e3359d6c93651da3fda7346e4270879401411e238db4ab + languageName: node + linkType: hard + +"babel-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "babel-jest@npm:29.7.0" + dependencies: + "@jest/transform": "npm:^29.7.0" + "@types/babel__core": "npm:^7.1.14" + babel-plugin-istanbul: "npm:^6.1.1" + babel-preset-jest: "npm:^29.6.3" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + slash: "npm:^3.0.0" + peerDependencies: + "@babel/core": ^7.8.0 + checksum: 10c0/2eda9c1391e51936ca573dd1aedfee07b14c59b33dbe16ef347873ddd777bcf6e2fc739681e9e9661ab54ef84a3109a03725be2ac32cd2124c07ea4401cbe8c1 + languageName: node + linkType: hard + +"babel-loader@npm:*": + version: 8.0.6 + resolution: "babel-loader@npm:8.0.6" + dependencies: + find-cache-dir: "npm:^2.0.0" + loader-utils: "npm:^1.0.2" + mkdirp: "npm:^0.5.1" + pify: "npm:^4.0.1" + peerDependencies: + "@babel/core": ^7.0.0 + webpack: ">=2" + checksum: 10c0/2bd88b9764dc8df66290bd7b6f21d2f403f3978ab689a8bf3d3bd716ebe655e9b3eb1c2f827cc8f25a6f843c67d0000ba7456a023e9989c99c9ebb7614fb05d9 + languageName: node + linkType: hard + +"babel-plugin-dynamic-import-node@npm:^2.3.0": + version: 2.3.0 + resolution: "babel-plugin-dynamic-import-node@npm:2.3.0" + dependencies: + object.assign: "npm:^4.1.0" + checksum: 10c0/72f2420fc56a5218ae25857726cfb4b0da4d4f8a488a1001db438f7c45e586e44b6bbc435cf5ea22845cb7cd13bdb644b6596128e8f05631bbf5fa6a37a70bb8 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^5.1.0": + version: 5.2.0 + resolution: "babel-plugin-istanbul@npm:5.2.0" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + find-up: "npm:^3.0.0" + istanbul-lib-instrument: "npm:^3.3.0" + test-exclude: "npm:^5.2.3" + checksum: 10c0/0691eda883872913c01be6c0afa209c868fa538f12cafd2cd6b9271edbbbe9842ece42bbf51c55864f67b19aae294a69cfdd175b1a52a5f998bfe32d8859ec74 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" + dependencies: + "@babel/helper-plugin-utils": "npm:^7.0.0" + "@istanbuljs/load-nyc-config": "npm:^1.0.0" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-instrument: "npm:^5.0.4" + test-exclude: "npm:^6.0.0" + checksum: 10c0/1075657feb705e00fd9463b329921856d3775d9867c5054b449317d39153f8fbcebd3e02ebf00432824e647faff3683a9ca0a941325ef1afe9b3c4dd51b24beb + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-plugin-jest-hoist@npm:24.9.0" + dependencies: + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10c0/10f4a534d726c0471552f2df49b531f2d04e1503ed3d748707b1aac79aa709aa8c9d49129afc2d22ed75034046b783707872482f09e72a17cbc56e803ef45bde + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-plugin-jest-hoist@npm:29.6.3" + dependencies: + "@babel/template": "npm:^7.3.3" + "@babel/types": "npm:^7.3.3" + "@types/babel__core": "npm:^7.1.14" + "@types/babel__traverse": "npm:^7.0.6" + checksum: 10c0/7e6451caaf7dce33d010b8aafb970e62f1b0c0b57f4978c37b0d457bbcf0874d75a395a102daf0bae0bd14eafb9f6e9a165ee5e899c0a4f1f3bb2e07b304ed2e + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^1.0.0": + version: 1.2.0 + resolution: "babel-preset-current-node-syntax@npm:1.2.0" + dependencies: + "@babel/plugin-syntax-async-generators": "npm:^7.8.4" + "@babel/plugin-syntax-bigint": "npm:^7.8.3" + "@babel/plugin-syntax-class-properties": "npm:^7.12.13" + "@babel/plugin-syntax-class-static-block": "npm:^7.14.5" + "@babel/plugin-syntax-import-attributes": "npm:^7.24.7" + "@babel/plugin-syntax-import-meta": "npm:^7.10.4" + "@babel/plugin-syntax-json-strings": "npm:^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators": "npm:^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator": "npm:^7.8.3" + "@babel/plugin-syntax-numeric-separator": "npm:^7.10.4" + "@babel/plugin-syntax-object-rest-spread": "npm:^7.8.3" + "@babel/plugin-syntax-optional-catch-binding": "npm:^7.8.3" + "@babel/plugin-syntax-optional-chaining": "npm:^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "npm:^7.14.5" + "@babel/plugin-syntax-top-level-await": "npm:^7.14.5" + peerDependencies: + "@babel/core": ^7.0.0 || ^8.0.0-0 + checksum: 10c0/94a4f81cddf9b051045d08489e4fff7336292016301664c138cfa3d9ffe3fe2ba10a24ad6ae589fd95af1ac72ba0216e1653555c187e694d7b17be0c002bea10 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-preset-jest@npm:24.9.0" + dependencies: + "@babel/plugin-syntax-object-rest-spread": "npm:^7.0.0" + babel-plugin-jest-hoist: "npm:^24.9.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/b7c91e90d2a0a14cf93c756fce020c3dfecba940d7db3c0dbb3f6a14fe9cca1e2d8031f0cac1db3edc60dfcc40dda0dff009870609cb4ff31117f32332a5232d + languageName: node + linkType: hard + +"babel-preset-jest@npm:^29.6.3": + version: 29.6.3 + resolution: "babel-preset-jest@npm:29.6.3" + dependencies: + babel-plugin-jest-hoist: "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 10c0/ec5fd0276b5630b05f0c14bb97cc3815c6b31600c683ebb51372e54dcb776cff790bdeeabd5b8d01ede375a040337ccbf6a3ccd68d3a34219125945e167ad943 + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.0 + resolution: "balanced-match@npm:1.0.0" + checksum: 10c0/d45f1aeec59d87562cd65415e2890b9fd6ab7fa89941a46fb2eb505e2165158680ee1be7110586cf86f3a9599f1b88ec4a7fcf57594560ca37814a560ab95f41 + languageName: node + linkType: hard + +"base64-js@npm:^1.0.2": + version: 1.3.1 + resolution: "base64-js@npm:1.3.1" + checksum: 10c0/f111a2c2b105eb9ee3818c30154e047fb00370699a03c2130d0944f10914697677ceb5faec64ea851e00710b80539afb03e9aa098e19c183a5e7a1cdc18abb29 + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: "npm:^1.0.1" + class-utils: "npm:^0.3.5" + component-emitter: "npm:^1.2.1" + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.1" + mixin-deep: "npm:^1.2.0" + pascalcase: "npm:^0.1.1" + checksum: 10c0/30a2c0675eb52136b05ef496feb41574d9f0bb2d6d677761da579c00a841523fccf07f1dbabec2337b5f5750f428683b8ca60d89e56a1052c4ae1c0cd05de64d + languageName: node + linkType: hard + +"baseline-browser-mapping@npm:^2.10.38": + version: 2.10.42 + resolution: "baseline-browser-mapping@npm:2.10.42" + bin: + baseline-browser-mapping: dist/cli.cjs + checksum: 10c0/4a9f54818d17d8dbee69096563b2cd5e2175f66752c479f1c10d31e072c1c2b7241a9bdaee78d5236178c581ca2735e75fbb0d0877d6492958eed9f6e46e03f3 + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: "npm:^0.14.3" + checksum: 10c0/ddfe85230b32df25aeebfdccfbc61d3bc493ace49c884c9c68575de1f5dcf733a5d7de9def3b0f318b786616b8d85bad50a28b1da1750c43e0012c93badcc148 + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: 10c0/230520f1ff920b2d2ce3e372d77a33faa4fa60d802fe01ca4ffbc321ee06023fe9a741ac02793ee778040a16b7e497f7d60c504d1c402b8fdab6f03bb785a25f + languageName: node + linkType: hard + +"binary-extensions@npm:^1.0.0": + version: 1.13.1 + resolution: "binary-extensions@npm:1.13.1" + checksum: 10c0/2d616938ac23d828ec3fbe0dea429b566fd2c137ddc38f166f16561ccd58029deac3fa9fddb489ab13d679c8fb5f1bd0e82824041299e5e39d8dd3cc68fbb9f9 + languageName: node + linkType: hard + +"bluebird@npm:^3.5.5": + version: 3.5.5 + resolution: "bluebird@npm:3.5.5" + checksum: 10c0/8f93d9b0db2ab6f6042dc1c20c944487877f415ff78d557e499f8cb165220e06f20d9f396a9cd3191b1ef967debb459c25d703be9a080053b28540c96eff07a9 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.1.1, bn.js@npm:^4.4.0": + version: 4.11.8 + resolution: "bn.js@npm:4.11.8" + checksum: 10c0/d1bd5f8721c9c101c5e5bb3077d8689b3116f618506c6dd009fee5701b8b116da373b35c60d437549c8c720b6b62a161ab070d6a8266a164ef4503a1582b634e + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"braces@npm:^2.3.1, braces@npm:^2.3.2": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: "npm:^1.1.0" + array-unique: "npm:^0.3.2" + extend-shallow: "npm:^2.0.1" + fill-range: "npm:^4.0.0" + isobject: "npm:^3.0.1" + repeat-element: "npm:^1.1.2" + snapdragon: "npm:^0.8.1" + snapdragon-node: "npm:^2.0.1" + split-string: "npm:^3.0.2" + to-regex: "npm:^3.0.1" + checksum: 10c0/72b27ea3ea2718f061c29e70fd6e17606e37c65f5801abddcf0b0052db1de7d60f3bf92cfc220ab57b44bd0083a5f69f9d03b3461d2816cfe9f9398207acc728 + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"brorand@npm:^1.0.1": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 10c0/6f366d7c4990f82c366e3878492ba9a372a73163c09871e80d82fb4ae0d23f9f8924cb8a662330308206e6b3b76ba1d528b4601c9ef73c2166b440b2ea3b7571 + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^0.1.2": + version: 0.1.3 + resolution: "browser-process-hrtime@npm:0.1.3" + checksum: 10c0/57026beaa1b438f520c0ca593fc21f5a11f574f3876d74611a604eafd54ea274ba02c01bcd000dcfc90ef83c057fddc1a4252d81992d96651fd9fcb14e566c53 + languageName: node + linkType: hard + +"browser-resolve@npm:^1.11.3": + version: 1.11.3 + resolution: "browser-resolve@npm:1.11.3" + dependencies: + resolve: "npm:1.1.7" + checksum: 10c0/610e951be85f76b3090edbfcd6cf654d50361278c95d0afbb767abd9a2758b01ee1c3d3927dc6c0142ededcd4dae71b06a1a6ccf97375f1b17de224c03298a64 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + dependencies: + buffer-xor: "npm:^1.0.3" + cipher-base: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.3" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/967f2ae60d610b7b252a4cbb55a7a3331c78293c94b4dd9c264d384ca93354c089b3af9c0dd023534efdc74ffbc82510f7ad4399cf82bc37bc07052eea485f18 + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.0": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: "npm:^1.0.4" + browserify-des: "npm:^1.0.0" + evp_bytestokey: "npm:^1.0.0" + checksum: 10c0/aa256dcb42bc53a67168bbc94ab85d243b0a3b56109dee3b51230b7d010d9b78985ffc1fb36e145c6e4db151f888076c1cfc207baf1525d3e375cbe8187fe27d + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: "npm:^1.0.1" + des.js: "npm:^1.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/943eb5d4045eff80a6cde5be4e5fbb1f2d5002126b5a4789c3c1aae3cdddb1eb92b00fb92277f512288e5c6af330730b1dbabcf7ce0923e749e151fcee5a074d + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0": + version: 4.0.1 + resolution: "browserify-rsa@npm:4.0.1" + dependencies: + bn.js: "npm:^4.1.0" + randombytes: "npm:^2.0.1" + checksum: 10c0/e5b25e076c7c04bd70a9e1b0bd10705a037bf9de9792f0c00aa30272aab4135a962e408f60f78608391c3bd632810ce1c4024e41fcc8ffbda57b9bf4e30173ac + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.0.4 + resolution: "browserify-sign@npm:4.0.4" + dependencies: + bn.js: "npm:^4.1.1" + browserify-rsa: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + create-hmac: "npm:^1.1.2" + elliptic: "npm:^6.0.0" + inherits: "npm:^2.0.1" + parse-asn1: "npm:^5.0.0" + checksum: 10c0/6cd73ea1421920fd500800e4dec37908e940c409b3d7a13dffb61543eb11b2498819cd05867368fb3a0a87e495bf02885e8ba86816ee902153475638a4e329e2 + languageName: node + linkType: hard + +"browserify-zlib@npm:^0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: "npm:~1.0.5" + checksum: 10c0/9ab10b6dc732c6c5ec8ebcbe5cb7fe1467f97402c9b2140113f47b5f187b9438f93a8e065d8baf8b929323c18324fbf1105af479ee86d9d36cab7d7ef3424ad9 + languageName: node + linkType: hard + +"browserslist@npm:^4.24.0": + version: 4.28.4 + resolution: "browserslist@npm:4.28.4" + dependencies: + baseline-browser-mapping: "npm:^2.10.38" + caniuse-lite: "npm:^1.0.30001799" + electron-to-chromium: "npm:^1.5.376" + node-releases: "npm:^2.0.48" + update-browserslist-db: "npm:^1.2.3" + bin: + browserslist: cli.js + checksum: 10c0/d86f7319c0e3243ca5122335a98b9de8e007fb10fb5643e5f3ed69428fe81ee8646cf1a7663bcfb65bdfddbe505d39406da7ce30052e65c99df9d02336635a7c + languageName: node + linkType: hard + +"browserslist@npm:^4.6.0, browserslist@npm:^4.6.6": + version: 4.6.6 + resolution: "browserslist@npm:4.6.6" + dependencies: + caniuse-lite: "npm:^1.0.30000984" + electron-to-chromium: "npm:^1.3.191" + node-releases: "npm:^1.1.25" + bin: + browserslist: ./cli.js + checksum: 10c0/5e8e20077cf1bbe22c1296fedf5ef5af1292001e735356d227cbdd8f6754fa17d56e402f0b3e6b86842599da96daf313c738ee0a4d73fda5e4916453ae98addf + languageName: node + linkType: hard + +"bs-logger@npm:^0.2.6": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: "npm:2.x" + checksum: 10c0/80e89aaaed4b68e3374ce936f2eb097456a0dddbf11f75238dbd53140b1e39259f0d248a5089ed456f1158984f22191c3658d54a713982f676709fbe1a6fa5a0 + languageName: node + linkType: hard + +"bser@npm:^2.0.0": + version: 2.1.0 + resolution: "bser@npm:2.1.0" + dependencies: + node-int64: "npm:^0.4.0" + checksum: 10c0/88f194be505c7e3be6b055ee68a2c2d43094824401d886781ac4814bf2be8c9155bb828bd40672ea3989c90d8e3a61e4e0ea6ad0ff4bc47ac87605df6eb8cd29 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: 10c0/a8c5057c985d8071e7a64988ad72f313e08eb3001eda76bead78b1f9afc7a07d20be9677eed0b5791727baeecd56360fe541bc5dd74feb40efe202a74584d533 + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 10c0/fd269d0e0bf71ecac3146187cfc79edc9dbb054e2ee69b4d97dfb857c6d997c33de391696d04bdd669272751fa48e7872a22f3a6c7b07d6c0bc31dbe02a4075c + languageName: node + linkType: hard + +"buffer@npm:^4.3.0": + version: 4.9.1 + resolution: "buffer@npm:4.9.1" + dependencies: + base64-js: "npm:^1.0.2" + ieee754: "npm:^1.1.4" + isarray: "npm:^1.0.0" + checksum: 10c0/201a4af5f7dba4501e1d52254abed087c306b4279b36d7cf2076ae40293e21fe19d3123a1be26d2e4fe5dff97d68b31ca82113356eca722ed4c44a3fda6479ff + languageName: node + linkType: hard + +"builtin-modules@npm:^3.1.0": + version: 3.1.0 + resolution: "builtin-modules@npm:3.1.0" + checksum: 10c0/e81ebedafd94bca9ee8aac68aa616e4f91a539b9f320de4bfb5694483ea012c86e0438f77f49e343ae47901b5a5ae400c1142b18d438c852b675bd4e93b65ebf + languageName: node + linkType: hard + +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 10c0/c37bbba11a34c4431e56bd681b175512e99147defbe2358318d8152b3a01df7bf25e0305873947e5b350073d5ef41a364a22b37e48f1fb6d2fe6d5286a0f348c + languageName: node + linkType: hard + +"cacache@npm:^12.0.2": + version: 12.0.3 + resolution: "cacache@npm:12.0.3" + dependencies: + bluebird: "npm:^3.5.5" + chownr: "npm:^1.1.1" + figgy-pudding: "npm:^3.5.1" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.1.15" + infer-owner: "npm:^1.0.3" + lru-cache: "npm:^5.1.1" + mississippi: "npm:^3.0.0" + mkdirp: "npm:^0.5.1" + move-concurrently: "npm:^1.0.1" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^2.6.3" + ssri: "npm:^6.0.1" + unique-filename: "npm:^1.1.1" + y18n: "npm:^4.0.0" + checksum: 10c0/b64291e39962aa8cb7f53c7a2a1d5f943f27228f30a0b24989eba4de2a7bb403ce36184e6797fc667b4127a644cc05896325260ea8c5f20dc099a6a5a123bdd6 + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: "npm:^1.0.0" + component-emitter: "npm:^1.2.1" + get-value: "npm:^2.0.6" + has-value: "npm:^1.0.0" + isobject: "npm:^3.0.1" + set-value: "npm:^2.0.0" + to-object-path: "npm:^0.3.0" + union-value: "npm:^1.0.0" + unset-value: "npm:^1.0.0" + checksum: 10c0/a7142e25c73f767fa520957dcd179b900b86eac63b8cfeaa3b2a35e18c9ca5968aa4e2d2bed7a3e7efd10f13be404344cfab3a4156217e71f9bdb95940bb9c8c + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 10c0/92ff9b443bfe8abb15f2b1513ca182d16126359ad4f955ebc83dc4ddcc4ef3fdd2c078bc223f2673dc223488e75c99b16cc4d056624374b799e6a1555cf61b23 + languageName: node + linkType: hard + +"camelcase@npm:^6.2.0": + version: 6.3.0 + resolution: "camelcase@npm:6.3.0" + checksum: 10c0/0d701658219bd3116d12da3eab31acddb3f9440790c0792e0d398f0a520a6a4058018e546862b6fba89d7ae990efaeb97da71e1913e9ebf5a8b5621a3d55c710 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30000984": + version: 1.0.30000989 + resolution: "caniuse-lite@npm:1.0.30000989" + checksum: 10c0/c7526e80612237f686f55a3a8a6458eac8c30c1afd2142872c2aab1f2d9b77a21562442cbf08653dc725c0e4b02268792df0871ff51b4a47b40129c678e6b680 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.30001799": + version: 1.0.30001800 + resolution: "caniuse-lite@npm:1.0.30001800" + checksum: 10c0/107ad692b89ce3b6c060f39159a19577b6b171c678a9174fbe827a6f3b2c3c9cd67f1e46076aa4731cefbd21ba2da754ca2300c6a448c7a05bdda078f73fa3b0 + languageName: node + linkType: hard + +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: "npm:^4.8.4" + checksum: 10c0/d68df1e15937809501644a49c0267ef323b5b6a0cae5c08bbdceafd718aa08241844798bfdd762cf6756bc2becd83122aabc25b5222192f18093113bec670617 + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 10c0/ccf64bcb6c0232cdc5b7bd91ddd06e23a4b541f138336d4725233ac538041fb2f29c2e86c3c4a7a61ef990b665348db23a047060b9414c3a6603e9fa61ad4626 + languageName: node + linkType: hard + +"chai@npm:*": + version: 4.2.0 + resolution: "chai@npm:4.2.0" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.2" + deep-eql: "npm:^3.0.1" + get-func-name: "npm:^2.0.0" + pathval: "npm:^1.1.0" + type-detect: "npm:^4.0.5" + checksum: 10c0/cf076c9160ec4ab05b18e5c5c7c777f84963055902e32f5a70d9639267eaecf16f652d5a91b996a0d96b6d45d8e2ce1b152c6c2dbcf872f3b8fbb8411b0307f4 + languageName: node + linkType: hard + +"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: "npm:^3.2.1" + escape-string-regexp: "npm:^1.0.5" + supports-color: "npm:^5.3.0" + checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 10c0/57a09a86371331e0be35d9083ba429e86c4f4648ecbe27455dbfb343037c16ee6fdc7f6b61f433a57cc5ded5561d71c56a150e018f40c2ffb7bc93a26dae341e + languageName: node + linkType: hard + +"check-error@npm:^1.0.2": + version: 1.0.2 + resolution: "check-error@npm:1.0.2" + checksum: 10c0/c58ac4d6a92203209a61d025568198c073f101691eb6247f999266e1d1e3ab3af2bbe0a41af5008c1f1b95446ec7831e6ba91f03816177f2da852f316ad7921d + languageName: node + linkType: hard + +"checklist-tree@workspace:examples/checklistTree": + version: 0.0.0-use.local + resolution: "checklist-tree@workspace:examples/checklistTree" + dependencies: + "@babel/core": "npm:*" + "@babel/plugin-proposal-class-properties": "npm:^7.5.5" + "@babel/plugin-proposal-decorators": "npm:^7.4.4" + "@babel/plugin-transform-runtime": "npm:^7.5.5" + "@babel/preset-env": "npm:^7.5.5" + "@babel/preset-react": "npm:^7.0.0" + "@babel/runtime": "npm:^7.5.5" + "@type-r/models": "npm:^4.1.0" + "@type-r/react": "npm:^4.1.0" + babel-loader: "npm:*" + css-loader: "npm:*" + react: "npm:^16.1.1" + react-dom: "npm:^16.1.1" + source-map-loader: "npm:*" + style-loader: "npm:*" + webpack: "npm:^4.38.0" + webpack-cli: "npm:^3.3.6" + languageName: unknown + linkType: soft + +"chokidar@npm:^2.0.2": + version: 2.1.8 + resolution: "chokidar@npm:2.1.8" + dependencies: + anymatch: "npm:^2.0.0" + async-each: "npm:^1.0.1" + braces: "npm:^2.3.2" + fsevents: "npm:^1.2.7" + glob-parent: "npm:^3.1.0" + inherits: "npm:^2.0.3" + is-binary-path: "npm:^1.0.0" + is-glob: "npm:^4.0.0" + normalize-path: "npm:^3.0.0" + path-is-absolute: "npm:^1.0.0" + readdirp: "npm:^2.2.1" + upath: "npm:^1.1.1" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/5631cc00080224f9482cf5418dcbea111aec02fa8d81a8cfe37e47b9cf36089e071de52d503647e3a821a01426a40adc926ba899f657af86a51b8f8d4eef12a7 + languageName: node + linkType: hard + +"chownr@npm:^1.1.1": + version: 1.1.2 + resolution: "chownr@npm:1.1.2" + checksum: 10c0/34184dd9b0648ff2919d49016892e066cc91d3e864475e8a8f02bd4a394d38486458278708d21ac4b4f51f2beeb50726fba734bf17f8cc2185b00b93430688b9 + languageName: node + linkType: hard + +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.2 + resolution: "chrome-trace-event@npm:1.0.2" + dependencies: + tslib: "npm:^1.9.0" + checksum: 10c0/dcdf63a8a3f2f51faaff9c66bf86bb3d6a5634cbd9c2466f07963965243497bb814ea093332da3153197f7e0ca77255b6b3f46b72ccd5d80fa3fa6e5f8564cfe + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 10c0/8c5fa3830a2bcee2b53c2e5018226f0141db9ec9f7b1e27a5c57db5512332cde8a0beb769bcbaf0d8775a78afbf2bb841928feca4ea6219638a5b088f9884b46 + languageName: node + linkType: hard + +"ci-info@npm:^3.2.0": + version: 3.9.0 + resolution: "ci-info@npm:3.9.0" + checksum: 10c0/6f0109e36e111684291d46123d491bc4e7b7a1934c3a20dea28cba89f1d4a03acd892f5f6a81ed3855c38647e285a150e3c9ba062e38943bef57fee6c1554c3a + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/d8d005f8b64d8a77b3d3ce531301ae7b45902c9cab4ec8b66bdbd2bf2a1d9fceb9a2133c293eb3c060b2d964da0f14c47fb740366081338aa3795dd1faa8984b + languageName: node + linkType: hard + +"cjs-module-lexer@npm:^1.0.0": + version: 1.4.3 + resolution: "cjs-module-lexer@npm:1.4.3" + checksum: 10c0/076b3af85adc4d65dbdab1b5b240fe5b45d44fcf0ef9d429044dd94d19be5589376805c44fb2d4b3e684e5fe6a9b7cf3e426476a6507c45283c5fc6ff95240be + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: "npm:^3.1.0" + define-property: "npm:^0.2.5" + isobject: "npm:^3.0.0" + static-extend: "npm:^0.1.1" + checksum: 10c0/d44f4afc7a3e48dba4c2d3fada5f781a1adeeff371b875c3b578bc33815c6c29d5d06483c2abfd43a32d35b104b27b67bfa39c2e8a422fa858068bd756cfbd42 + languageName: node + linkType: hard + +"classnames@npm:^2.2.6": + version: 2.2.6 + resolution: "classnames@npm:2.2.6" + checksum: 10c0/04fe84deb40e4f4fcee688494ced342b048a6992506cd3da81efb773b03f6d8120f9b893e6eb8a0bc7c6fb38edd66b4751e413ab4672ed93b2c59a4e2bd1068a + languageName: node + linkType: hard + +"cliui@npm:^5.0.0": + version: 5.0.0 + resolution: "cliui@npm:5.0.0" + dependencies: + string-width: "npm:^3.1.0" + strip-ansi: "npm:^5.2.0" + wrap-ansi: "npm:^5.1.0" + checksum: 10c0/76142bf306965850a71efd10c9755bd7f447c7c20dd652e1c1ce27d987f862a3facb3cceb2909cef6f0cb363646ee7a1735e3dfdd49f29ed16d733d33e15e2f8 + languageName: node + linkType: hard + +"cliui@npm:^8.0.1": + version: 8.0.1 + resolution: "cliui@npm:8.0.1" + dependencies: + string-width: "npm:^4.2.0" + strip-ansi: "npm:^6.0.1" + wrap-ansi: "npm:^7.0.0" + checksum: 10c0/4bda0f09c340cbb6dfdc1ed508b3ca080f12992c18d68c6be4d9cf51756033d5266e61ec57529e610dacbf4da1c634423b0c1b11037709cc6b09045cbd815df5 + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 10c0/c0e85ea0ca8bf0a50cbdca82efc5af0301240ca88ebe3644a6ffb8ffe911f34d40f8fbcf8f1d52c5ddd66706abd4d3bfcd64259f1e8e2371d4f47573b0dc8c28 + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 10c0/33f6b234084e46e6e369b6f0b07949392651b4dde70fc6a592a8d3dafa08d5bb32e3981a02f31f6fc323a26bc03a4c063a9d56834848695bda7611c2417ea2e6 + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.3 + resolution: "collect-v8-coverage@npm:1.0.3" + checksum: 10c0/bc62ba251bcce5e3354a8f88fa6442bee56e3e612fec08d4dfcf66179b41ea0bf544b0f78c4ebc0f8050871220af95bb5c5578a6aef346feea155640582f09dc + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: "npm:^1.0.0" + object-visit: "npm:^1.0.0" + checksum: 10c0/add72a8d1c37cb90e53b1aaa2c31bf1989bfb733f0b02ce82c9fa6828c7a14358dba2e4f8e698c02f69e424aeccae1ffb39acdeaf872ade2f41369e84a2fcf8a + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: "npm:1.1.3" + checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: "npm:~1.0.0" + checksum: 10c0/0dbb829577e1b1e839fa82b40c07ffaf7de8a09b935cadd355a73652ae70a88b4320db322f6634a4ad93424292fa80973ac6480986247f1734a1137debf271d5 + languageName: node + linkType: hard + +"commander@npm:2.12.2": + version: 2.12.2 + resolution: "commander@npm:2.12.2" + checksum: 10c0/eb91a1af8ce0bf3db7a0aeec46a7ed7a33848f618606c0bb470367ab3a4e1723de5493995f1246e60ed264d59c04474f92247fc39d19a02c07a5cf540ac7718e + languageName: node + linkType: hard + +"commander@npm:^2.20.0, commander@npm:~2.20.0": + version: 2.20.0 + resolution: "commander@npm:2.20.0" + checksum: 10c0/c037420cdf8c8bbadf37749fe129298eda5b5c004e81805057d87ff508f9dbfb680d30aebe1bbcdfc54b579eaf6182dd90077e506add74d6b26ef52c7e22d41d + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 10c0/33a124960e471c25ee19280c9ce31ccc19574b566dc514fe4f4ca4c34fa8b0b57cf437671f5de380e11353ea9426213fca17687dd2ef03134fea2dbc53809fd6 + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: 10c0/68774a0a3754fb6c0ba53c2e88886dfbd0c773931066abb1d7fd1b0c893b2a838d8f088ab4dca1f18cc1a4fc2e6932019eba3ded2d931b5ba2241ce40e93a24f + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^1.5.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.2.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/2e9864e18282946dabbccb212c5c7cec0702745e3671679eb8291812ca7fd12023f7d8cb36493942a62f770ac96a7f90009dc5c82ad69893438371720fa92617 + languageName: node + linkType: hard + +"console-browserify@npm:^1.1.0": + version: 1.1.0 + resolution: "console-browserify@npm:1.1.0" + dependencies: + date-now: "npm:^0.1.4" + checksum: 10c0/5d130bcb251bba45d50a857348a63356e9d0d0f268210b65928e0c8420b4d7442a87b547d6bd3d71e7439fe04902e9e211f77eac48795635f767350568b383f5 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"constants-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: 10c0/ab49b1d59a433ed77c964d90d19e08b2f77213fb823da4729c0baead55e3c597f8f97ebccfdfc47bd896d43854a117d114c849a6f659d9986420e97da0f83ac5 + languageName: node + linkType: hard + +"convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.4.0": + version: 1.6.0 + resolution: "convert-source-map@npm:1.6.0" + dependencies: + safe-buffer: "npm:~5.1.1" + checksum: 10c0/49a016cdfb0093c236d4b0846213a0e15f8942373183fc64406b17f09aebf11bac1871d12b4b7e40a6ac9fed0670e65761c6f24b164a456ae42b1499ed05b140 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"copy-concurrently@npm:^1.0.0": + version: 1.0.5 + resolution: "copy-concurrently@npm:1.0.5" + dependencies: + aproba: "npm:^1.1.1" + fs-write-stream-atomic: "npm:^1.0.8" + iferr: "npm:^0.1.5" + mkdirp: "npm:^0.5.1" + rimraf: "npm:^2.5.4" + run-queue: "npm:^1.0.0" + checksum: 10c0/c2ce213cb27ee3df584d16eb6c9bfe99cfb531585007533c3e4c752521b4fbf0b2f7f90807d79c496683330808ecd9fdbd9ab9ddfa0913150b7f5097423348ce + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: 10c0/161f6760b7348c941007a83df180588fe2f1283e0867cc027182734e0f26134e6cc02de09aa24a95dc267b2e2025b55659eef76c8019df27bc2d883033690181 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.1.1": + version: 3.2.1 + resolution: "core-js-compat@npm:3.2.1" + dependencies: + browserslist: "npm:^4.6.6" + semver: "npm:^6.3.0" + checksum: 10c0/b600b7c9beba6295c680202c6cdd50550bbe4af2685fc70eec5a9fc4d11617b4e342ffe1cf4019da2e5b236b835d9d5d4c59fbf10583631e0b7097d943d23968 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 10c0/980a37a93956d0de8a828ce508f9b9e3317039d68922ca79995421944146700e4aaf490a6dbfebcb1c5292a7184600c7710b957d724be1e37b8254c6bc0fe246 + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.0": + version: 4.0.3 + resolution: "create-ecdh@npm:4.0.3" + dependencies: + bn.js: "npm:^4.1.0" + elliptic: "npm:^6.0.0" + checksum: 10c0/1a8543fa892149530896a7452466fe4ecf5f1f91d5165623cea12b821fcbbf40a02435a1604f31870a39ae21085eb8610f969022c235b39ff3aecde7dca7f1bb + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: "npm:^1.0.1" + inherits: "npm:^2.0.1" + md5.js: "npm:^1.3.4" + ripemd160: "npm:^2.0.1" + sha.js: "npm:^2.4.0" + checksum: 10c0/d402e60e65e70e5083cb57af96d89567954d0669e90550d7cec58b56d49c4b193d35c43cec8338bc72358198b8cbf2f0cac14775b651e99238e1cf411490f915 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.2, create-hmac@npm:^1.1.4": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + dependencies: + cipher-base: "npm:^1.0.3" + create-hash: "npm:^1.1.0" + inherits: "npm:^2.0.1" + ripemd160: "npm:^2.0.0" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/24332bab51011652a9a0a6d160eed1e8caa091b802335324ae056b0dcb5acbc9fcf173cf10d128eba8548c3ce98dfa4eadaa01bd02f44a34414baee26b651835 + languageName: node + linkType: hard + +"create-jest@npm:^29.7.0": + version: 29.7.0 + resolution: "create-jest@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.2.9" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + prompts: "npm:^2.0.1" + bin: + create-jest: bin/create-jest.js + checksum: 10c0/e7e54c280692470d3398f62a6238fd396327e01c6a0757002833f06d00afc62dd7bfe04ff2b9cd145264460e6b4d1eb8386f2925b7e567f97939843b7b0e812f + languageName: node + linkType: hard + +"cross-spawn@npm:6.0.5, cross-spawn@npm:^6.0.0": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: "npm:^1.0.4" + path-key: "npm:^2.0.1" + semver: "npm:^5.5.0" + shebang-command: "npm:^1.2.0" + which: "npm:^1.2.9" + checksum: 10c0/e05544722e9d7189b4292c66e42b7abeb21db0d07c91b785f4ae5fefceb1f89e626da2703744657b287e86dcd4af57b54567cef75159957ff7a8a761d9055012 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"crypto-browserify@npm:^3.11.0": + version: 3.12.0 + resolution: "crypto-browserify@npm:3.12.0" + dependencies: + browserify-cipher: "npm:^1.0.0" + browserify-sign: "npm:^4.0.0" + create-ecdh: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + create-hmac: "npm:^1.1.0" + diffie-hellman: "npm:^5.0.0" + inherits: "npm:^2.0.1" + pbkdf2: "npm:^3.0.3" + public-encrypt: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + randomfill: "npm:^1.0.3" + checksum: 10c0/0c20198886576050a6aa5ba6ae42f2b82778bfba1753d80c5e7a090836890dc372bdc780986b2568b4fb8ed2a91c958e61db1f0b6b1cc96af4bd03ffc298ba92 + languageName: node + linkType: hard + +"css-loader@npm:*": + version: 3.2.0 + resolution: "css-loader@npm:3.2.0" + dependencies: + camelcase: "npm:^5.3.1" + cssesc: "npm:^3.0.0" + icss-utils: "npm:^4.1.1" + loader-utils: "npm:^1.2.3" + normalize-path: "npm:^3.0.0" + postcss: "npm:^7.0.17" + postcss-modules-extract-imports: "npm:^2.0.0" + postcss-modules-local-by-default: "npm:^3.0.2" + postcss-modules-scope: "npm:^2.1.0" + postcss-modules-values: "npm:^3.0.0" + postcss-value-parser: "npm:^4.0.0" + schema-utils: "npm:^2.0.0" + peerDependencies: + webpack: ^4.0.0 + checksum: 10c0/b70dcab7317bdf669fb4aca8aa2b435a2aac3125151d51216a7bd6a3f96eb5078e7bb45b16775f24e4a65b2ba2598e91fc7781a245d481b3a8827101de9e1869 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 10c0/6bcfd898662671be15ae7827120472c5667afb3d7429f1f917737f3bf84c4176003228131b643ae74543f17a394446247df090c597bb9a728cce298606ed0aa7 + languageName: node + linkType: hard + +"cssom@npm:0.3.x, cssom@npm:>= 0.3.2 < 0.4.0": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 10c0/d74017b209440822f9e24d8782d6d2e808a8fdd58fa626a783337222fe1c87a518ba944d4c88499031b4786e68772c99dfae616638d71906fe9f203aeaf14411 + languageName: node + linkType: hard + +"cssstyle@npm:^1.0.0": + version: 1.4.0 + resolution: "cssstyle@npm:1.4.0" + dependencies: + cssom: "npm:0.3.x" + checksum: 10c0/213df71e2f78d43608aca51d5eeb2dbcb6224fb7bb222e9f5d4c8b0d6abdca0681774642e4c35304a74d447178ca6b4f492685984491260cd286743b4fd88f27 + languageName: node + linkType: hard + +"csstype@npm:^2.2.0": + version: 2.6.6 + resolution: "csstype@npm:2.6.6" + checksum: 10c0/fde3d5112f46f180fbaca81b25f47eede5a3e21bda041c4780c802264061bacc07ff8b2e08a2709fb8512d66a30308b31676d36d685fb4337ff2b10e935cf39f + languageName: node + linkType: hard + +"cyclist@npm:~0.2.2": + version: 0.2.2 + resolution: "cyclist@npm:0.2.2" + checksum: 10c0/b8a447abf0b337f896bab936c31b9c4c62cfd1bda5875759d6562e9b0a77465c20d95febdaf675b619228e2806fae34a5454929126e7fe179ec1c0e1a477a7ae + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/64589a15c5bd01fa41ff7007e0f2c6552c5ef2028075daa16b188a3721f4ba001841bf306dfc2eee6e2e6e7f76b38f5f17fb21fa847504192290ffa9e150118a + languageName: node + linkType: hard + +"data-urls@npm:^1.0.0": + version: 1.1.0 + resolution: "data-urls@npm:1.1.0" + dependencies: + abab: "npm:^2.0.0" + whatwg-mimetype: "npm:^2.2.0" + whatwg-url: "npm:^7.0.0" + checksum: 10c0/e52a315db00b85200c6b99f06af9d04c818347a6ab56055db4f40a86d901e4c0ed8e3a76f2a8e8a4ad13526208a5977cedf6bd787a21a5964a90b90b4244e51c + languageName: node + linkType: hard + +"date-now@npm:^0.1.4": + version: 0.1.4 + resolution: "date-now@npm:0.1.4" + checksum: 10c0/0e0a04d91deac395dfabc6f279b1bb7fbc66816552104b8dc5a7a5c32340a79eb2e2a27c83a20b6a46c0737dd2c55bf92aa44321911ba1f03adad413ad70ee3e + languageName: node + linkType: hard + +"debug@npm:^2.2.0, debug@npm:^2.3.3": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10c0/121908fb839f7801180b69a7e218a40b5a0b718813b886b7d6bdb82001b931c938e2941d1e4450f33a1b1df1da653f5f7a0440c197f29fbf8a6e9d45ff6ef589 + languageName: node + linkType: hard + +"debug@npm:^3.2.6": + version: 3.2.6 + resolution: "debug@npm:3.2.6" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/406ae034424c5570c83bb7f7baf6a2321ace5b94d6f0032ec796c686e277a55bbb575712bb9e6f204e044b1a8c31981ba97fab725a09fcdc7f85cd89daf4de30 + languageName: node + linkType: hard + +"debug@npm:^4.1.0, debug@npm:^4.1.1": + version: 4.1.1 + resolution: "debug@npm:4.1.1" + dependencies: + ms: "npm:^2.1.1" + checksum: 10c0/399e98c779ba4e71537497f10caf6390646b69330ff8a455427acce04f1ce8d8cd018e1804fdcca772177666fdcd888dd3672bb8f9986c1d785a6c2b9805f370 + languageName: node + linkType: hard + +"debug@npm:^4.3.1": + version: 4.4.3 + resolution: "debug@npm:4.4.3" + dependencies: + ms: "npm:^2.1.3" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/d79136ec6c83ecbefd0f6a5593da6a9c91ec4d7ddc4b54c883d6e71ec9accb5f67a1a5e96d00a328196b5b5c86d365e98d8a3a70856aaf16b4e7b1985e67f5a6 + languageName: node + linkType: hard + +"decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 10c0/85c39fe8fbf0482d4a1e224ef0119db5c1897f8503bcef8b826adff7a1b11414972f6fef2d7dec2ee0b4be3863cf64ac1439137ae9e6af23a3d8dcbe26a5b4b2 + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: 10c0/dbc3c72e4a740703f76fb3f51e35bb81546aa3e8c7897e015b8bc289813d3044ad6eaa6048fbb43f6b7b34ef005527b7511da50399caa78b91ee39266a341822 + languageName: node + linkType: hard + +"dedent@npm:^1.0.0": + version: 1.7.2 + resolution: "dedent@npm:1.7.2" + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + checksum: 10c0/acaff07cac355b93f17b1b17ebbb84d3cc55af6ab4b7814c3f505e061903e168bc6bf9ddce331552d64dee1525f0b4c549c9ade46aebfac6f69caaed74e90751 + languageName: node + linkType: hard + +"deep-eql@npm:^3.0.1": + version: 3.0.1 + resolution: "deep-eql@npm:3.0.1" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/80b33c1c7713b3d5db89e6b5e9b22050f39c8a88e12a015616da8391e013988790d045a5c612b0c6dc43cc4bec51eadbe0fcf6075cc9717f8f56efdb305b6e6f + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deep-is@npm:~0.1.3": + version: 0.1.3 + resolution: "deep-is@npm:0.1.3" + checksum: 10c0/f4e21bf6fbb51bca0214e04f079deadfc5a0df3d7822f4b5e45e78960ae1e9a379b93d650377b80ccd0fc6bd7cd995a0aeabbcc7496b8c2dd16ec57aece82d74 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + +"define-properties@npm:^1.1.2": + version: 1.1.3 + resolution: "define-properties@npm:1.1.3" + dependencies: + object-keys: "npm:^1.0.12" + checksum: 10c0/a2fa03d97ee44bb7c679bac7c3b3e63431a2efd83c12c0d61c7f5adf4fa1cf0a669c77afd274babbc5400926bdc2befb25679e4bf687140b078c0fe14f782e4f + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: "npm:^0.1.0" + checksum: 10c0/9986915c0893818dedc9ca23eaf41370667762fd83ad8aa4bf026a28563120dbaacebdfbfbf2b18d3b929026b9c6ee972df1dbf22de8fafb5fe6ef18361e4750 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: "npm:^1.0.0" + checksum: 10c0/d7cf09db10d55df305f541694ed51dafc776ad9bb8a24428899c9f2d36b11ab38dce5527a81458d1b5e7c389f8cbe803b4abad6e91a0037a329d153b84fc975e + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: "npm:^1.0.2" + isobject: "npm:^3.0.1" + checksum: 10c0/f91a08ad008fa764172a2c072adc7312f10217ade89ddaea23018321c6d71b2b68b8c229141ed2064179404e345c537f1a2457c379824813695b51a6ad3e4969 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 10c0/d758899da03392e6712f042bec80aa293bbe9e9ff1b2634baae6a360113e708b91326594c8a486d475c69d6259afb7efacdc3537bfcda1c6c648e390ce601b19 + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.0.0 + resolution: "des.js@npm:1.0.0" + dependencies: + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + checksum: 10c0/65b364546c894975a0ef48017db803b14ed699883b50d871c21d42ea284f562153da4adf8aefba4d4bddb4bb4228f389b4c8262ce19f01924603da4a80c6f068 + languageName: node + linkType: hard + +"detect-file@npm:^1.0.0": + version: 1.0.0 + resolution: "detect-file@npm:1.0.0" + checksum: 10c0/c782a5f992047944c39d337c82f5d1d21d65d1378986d46c354df9d9ec6d5f356bca0182969c11b08b9b8a7af8727b3c2d5a9fad0b022be4a3bf4c216f63ed07 + languageName: node + linkType: hard + +"detect-libc@npm:^1.0.2": + version: 1.0.3 + resolution: "detect-libc@npm:1.0.3" + bin: + detect-libc: ./bin/detect-libc.js + checksum: 10c0/4da0deae9f69e13bc37a0902d78bf7169480004b1fed3c19722d56cff578d16f0e11633b7fbf5fb6249181236c72e90024cbd68f0b9558ae06e281f47326d50d + languageName: node + linkType: hard + +"detect-newline@npm:^2.1.0": + version: 2.1.0 + resolution: "detect-newline@npm:2.1.0" + checksum: 10c0/cb75c36c59da87115f49fe4aa22507f6c5271bac94c63a056af5d9dea2919208de57b6f0fb4543d6cf635965d10b42729d443589caa302cc76e1fa9f48e55f05 + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 10c0/c38cfc8eeb9fda09febb44bcd85e467c970d4e3bf526095394e5a4f18bc26dd0cf6b22c69c1fa9969261521c593836db335c2795218f6d781a512aea2fb8209d + languageName: node + linkType: hard + +"diff-sequences@npm:^24.9.0": + version: 24.9.0 + resolution: "diff-sequences@npm:24.9.0" + checksum: 10c0/c7c6cec09502e8266fa499e5b1f359349529b4019135b6a6ae4441a7f48bd518b286d33255376a47e9e970c78527355d0ca3f58d01d6513f6b565283d56600b9 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^3.5.0": + version: 3.5.0 + resolution: "diff@npm:3.5.0" + checksum: 10c0/fc62d5ba9f6d1b8b5833380969037007913d4886997838c247c54ec6934f09ae5a07e17ae28b1f016018149d81df8ad89306f52eac1afa899e0bed49015a64d1 + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.0": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: "npm:^4.1.0" + miller-rabin: "npm:^4.0.0" + randombytes: "npm:^2.0.0" + checksum: 10c0/ce53ccafa9ca544b7fc29b08a626e23a9b6562efc2a98559a0c97b4718937cebaa9b5d7d0a05032cc9c1435e9b3c1532b9e9bf2e0ede868525922807ad6e1ecf + languageName: node + linkType: hard + +"domain-browser@npm:^1.1.1": + version: 1.2.0 + resolution: "domain-browser@npm:1.2.0" + checksum: 10c0/a955f482f4b4710fbd77c12a33e77548d63603c30c80f61a80519f27e3db1ba8530b914584cc9e9365d2038753d6b5bd1f4e6c81e432b007b0ec95b8b5e69b1b + languageName: node + linkType: hard + +"domexception@npm:^1.0.1": + version: 1.0.1 + resolution: "domexception@npm:1.0.1" + dependencies: + webidl-conversions: "npm:^4.0.2" + checksum: 10c0/2c8bae933ce9ebd03dd29a37ef4d5fc9e1bb2aebd987e016067f6f803def7b5a898ad9e414cf3a05caf3a685803bf63103230a9cda9b3f8b2e58dd7aff660726 + languageName: node + linkType: hard + +"duplexify@npm:^3.4.2, duplexify@npm:^3.6.0": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: "npm:^1.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + stream-shift: "npm:^1.0.0" + checksum: 10c0/59d1440c1b4e3a4db35ae96933392703ce83518db1828d06b9b6322920d6cbbf0b7159e88be120385fe459e77f1eb0c7622f26e9ec1f47c9ff05c2b35747dbd3 + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.1.0" + checksum: 10c0/6cf168bae1e2dad2e46561d9af9cbabfbf5ff592176ad4e9f0f41eaaf5fe5e10bb58147fe0a804de62b1ee9dad42c28810c88d652b21b6013c47ba8efa274ca1 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.3.191": + version: 1.3.241 + resolution: "electron-to-chromium@npm:1.3.241" + checksum: 10c0/e88636510b312999678dcd07cce8b1cb79830ff82ae9c4842dadd2b5d928c95862c50803701e476f8f6c35dd0f27ce4e531104f64aab80314377cd98d735e313 + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.5.376": + version: 1.5.387 + resolution: "electron-to-chromium@npm:1.5.387" + checksum: 10c0/49ac2f2431f48da75fbd30e4daee2304927d208adcdf4847b84ecc196785e94b1f6f873c093b59e61d14e928873518d294dc94803f4f8707ad7113aafe8dadd4 + languageName: node + linkType: hard + +"elliptic@npm:^6.0.0": + version: 6.5.0 + resolution: "elliptic@npm:6.5.0" + dependencies: + bn.js: "npm:^4.4.0" + brorand: "npm:^1.0.1" + hash.js: "npm:^1.0.0" + hmac-drbg: "npm:^1.0.0" + inherits: "npm:^2.0.1" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.0" + checksum: 10c0/ee891c3a564baccf8066de6d8926c97ef1c58c3807e359cedcef5dff7ce30dcdcc398d936218d6a80f038b26ed3f03981f97f4c4a164cd3764f9a3a997145092 + languageName: node + linkType: hard + +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 + languageName: node + linkType: hard + +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 10c0/a8917d695c3a3384e4b7230a6a06fd2de6b3db3709116792e8b7b36ddbb3db4deb28ad3e983e70d4f2a1f9063b5dab9025e4e26e9ca08278da4fbb73e213743f + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emojis-list@npm:^2.0.0": + version: 2.1.0 + resolution: "emojis-list@npm:2.1.0" + checksum: 10c0/bbb941223bfb3e38054cb52ed1b3098a8dac0a90fdd2699eb8a3af3b2172cdc4af0932e05c3edd52e814997c8f45cf1d7f5e86e9ecdcd4e2390a0f27e6914db5 + languageName: node + linkType: hard + +"encoding@npm:^0.1.11": + version: 0.1.12 + resolution: "encoding@npm:0.1.12" + dependencies: + iconv-lite: "npm:~0.4.13" + checksum: 10c0/1d0daefb259fb0c97b90baa7f98ea9bb3916a1aef39e21c2888a1602fb616fcd422db6e6281839dc7ff32c1db7448bcd258954d37d4f0e5f1503357db0793ee6 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0": + version: 1.4.1 + resolution: "end-of-stream@npm:1.4.1" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/ae228780ef83a74152ff7bbca85e25216ac5fe98bd7c865dece47b03137297f747d7a7f6a00e1440e18315e9f572edf42fda839c3a51f7f15931577420a7610b + languageName: node + linkType: hard + +"enhanced-resolve@npm:4.1.0, enhanced-resolve@npm:^4.1.0": + version: 4.1.0 + resolution: "enhanced-resolve@npm:4.1.0" + dependencies: + graceful-fs: "npm:^4.1.2" + memory-fs: "npm:^0.4.0" + tapable: "npm:^1.0.0" + checksum: 10c0/446e9115d3c89b0021997ae817982cb861a72fb6d092bf3384b8384e339e9878236c7cf798298be9d25203a3daee55d0cb2d1101a71f64feb14eaf19dec7c763 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"errno@npm:^0.1.3, errno@npm:~0.1.7": + version: 0.1.7 + resolution: "errno@npm:0.1.7" + dependencies: + prr: "npm:~1.0.1" + bin: + errno: ./cli.js + checksum: 10c0/184fac1d706e074cb88d8e7ff62617a91c9839e9edf9e9c1ba0a315820c7e05c2299fd71c20c8f20017872debd86f7a2d4c48f72a5d33c4f0f9d9d9892d222da + languageName: node + linkType: hard + +"error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: "npm:^0.2.1" + checksum: 10c0/ba827f89369b4c93382cfca5a264d059dfefdaa56ecc5e338ffa58a6471f5ed93b71a20add1d52290a4873d92381174382658c885ac1a2305f7baca363ce9cce + languageName: node + linkType: hard + +"es-abstract@npm:^1.5.1": + version: 1.13.0 + resolution: "es-abstract@npm:1.13.0" + dependencies: + es-to-primitive: "npm:^1.2.0" + function-bind: "npm:^1.1.1" + has: "npm:^1.0.3" + is-callable: "npm:^1.1.4" + is-regex: "npm:^1.0.4" + object-keys: "npm:^1.0.12" + checksum: 10c0/60f8d151093c556373f55e2d63d59f79e3628ac007c395bc331ec865701b31e14de26932e8676eb84595198bc9dbdf4d7a21a16fb73973e49f3f80aba4b01655 + languageName: node + linkType: hard + +"es-errors@npm:^1.3.0": + version: 1.3.0 + resolution: "es-errors@npm:1.3.0" + checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.0": + version: 1.2.0 + resolution: "es-to-primitive@npm:1.2.0" + dependencies: + is-callable: "npm:^1.1.4" + is-date-object: "npm:^1.0.1" + is-symbol: "npm:^1.0.2" + checksum: 10c0/c239e109b3ae1f679e9024e291beb2c67673d37922f4497932fb812ec1390c905301fc4246f6973846400815673dc487aa5655630ae7c0435aed9e63463fdaac + languageName: node + linkType: hard + +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": + version: 3.2.0 + resolution: "escalade@npm:3.2.0" + checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escodegen@npm:^1.9.1": + version: 1.12.0 + resolution: "escodegen@npm:1.12.0" + dependencies: + esprima: "npm:^3.1.3" + estraverse: "npm:^4.2.0" + esutils: "npm:^2.0.2" + optionator: "npm:^0.8.1" + source-map: "npm:~0.6.1" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: ./bin/escodegen.js + esgenerate: ./bin/esgenerate.js + checksum: 10c0/c08d78bc6b4f0acf1f8bb9cd3c706d5dd4d2d1601f38fb57d5e3bf65a8a90d1d90ca04e62e8018e638a8d47446aad00390cf3d118d3a2a4cb4a77ffdea12ff66 + languageName: node + linkType: hard + +"eslint-scope@npm:^4.0.3": + version: 4.0.3 + resolution: "eslint-scope@npm:4.0.3" + dependencies: + esrecurse: "npm:^4.1.0" + estraverse: "npm:^4.1.1" + checksum: 10c0/a2a3fe5845938ce7cfd2e658c309a9bb27a7f9ce94f0cc447ed5f9fa95b16451556d7e1db4c8e5d2aaa02d02850f5346d23091bbe94f7097412ce846504b4dcc + languageName: node + linkType: hard + +"esprima@npm:^3.1.3": + version: 3.1.3 + resolution: "esprima@npm:3.1.3" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/1fb9e3e419301aa070803c940ba30e9918cce3690e2f44939097e6094ce91e9833e42206fbf0a33e389d6664d13695e47e92974534da2a3f21dd1ff1bf3c88e3 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0": + version: 4.2.1 + resolution: "esrecurse@npm:4.2.1" + dependencies: + estraverse: "npm:^4.1.0" + checksum: 10c0/a3969d9ac37b61d4407f86584b07e7b8d9aae9cacb5a8bc44dc793c5d0b994aaa1a9127659490431a6b9e161ae5b1fb44fa3d0b6005e580a23320c08b4417650 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.0, estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 10c0/9cb46463ef8a8a4905d3708a652d60122a0c20bb58dec7e0e12ab0e7235123d74214fc0141d743c381813e1b992767e2708194f6f6e0f9fd00c1b4e0887b8b6d + languageName: node + linkType: hard + +"estree-walker@npm:^0.6.1": + version: 0.6.1 + resolution: "estree-walker@npm:0.6.1" + checksum: 10c0/6dabc855faa04a1ffb17b6a9121b6008ba75ab5a163ad9dc3d7fca05cfda374c5f5e91418d783496620ca75e99a73c40874d8b75f23b4117508cc8bde78e7b41 + languageName: node + linkType: hard + +"esutils@npm:^2.0.0, esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.0.0 + resolution: "events@npm:3.0.0" + checksum: 10c0/cf9ac27a36c89bc0ce7ad329835c576e502a3ca52528bce053fc488166bc02470ff37257f1d163a0f2c5334acda198dc10bc2881650d979ee73bb46b03547f9e + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: "npm:^1.3.4" + node-gyp: "npm:latest" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/77fbe2d94a902a80e9b8f5a73dcd695d9c14899c5e82967a61b1fc6cbbb28c46552d9b127cff47c45fcf684748bdbcfa0a50410349109de87ceb4b199ef6ee99 + languageName: node + linkType: hard + +"exec-sh@npm:^0.3.2": + version: 0.3.2 + resolution: "exec-sh@npm:0.3.2" + checksum: 10c0/b61a130113c57c61aa7baffc76e676735f3a8f105091795bdb3ef12435f058b94f8cb4353715c9768c2d2b3e9c67f8792ffbe29ca796844c8710e23953f72d45 + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: "npm:^6.0.0" + get-stream: "npm:^4.0.0" + is-stream: "npm:^1.1.0" + npm-run-path: "npm:^2.0.0" + p-finally: "npm:^1.0.0" + signal-exit: "npm:^3.0.0" + strip-eof: "npm:^1.0.0" + checksum: 10c0/cc71707c9aa4a2552346893ee63198bf70a04b5a1bc4f8a0ef40f1d03c319eae80932c59191f037990d7d102193e83a38ec72115fff814ec2fb3099f3661a590 + languageName: node + linkType: hard + +"execa@npm:^5.0.0": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"exenv@npm:^1.2.0": + version: 1.2.2 + resolution: "exenv@npm:1.2.2" + checksum: 10c0/4e96b355a6b9b9547237288ca779dd673b2e698458b409e88b50df09feb7c85ef94c07354b6b87bc3ed0193a94009a6f7a3c71956da12f45911c0d0f5aa3caa0 + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: 10c0/71d2ad9b36bc25bb8b104b17e830b40a08989be7f7d100b13269aaae7c3784c3e6e1e88a797e9e87523993a25ba27c8958959a554535370672cfb4d824af8989 + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: "npm:^2.3.3" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + posix-character-classes: "npm:^0.1.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/3e2fb95d2d7d7231486493fd65db913927b656b6fcdfcce41e139c0991a72204af619ad4acb1be75ed994ca49edb7995ef241dbf8cf44dc3c03d211328428a87 + languageName: node + linkType: hard + +"expand-tilde@npm:^2.0.0, expand-tilde@npm:^2.0.2": + version: 2.0.2 + resolution: "expand-tilde@npm:2.0.2" + dependencies: + homedir-polyfill: "npm:^1.0.1" + checksum: 10c0/205a60497422746d1c3acbc1d65bd609b945066f239a2b785e69a7a651ac4cbeb4e08555b1ea0023abbe855e6fcb5bbf27d0b371367fdccd303d4fb2b4d66845 + languageName: node + linkType: hard + +"expect@npm:^24.9.0": + version: 24.9.0 + resolution: "expect@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + ansi-styles: "npm:^3.2.0" + jest-get-type: "npm:^24.9.0" + jest-matcher-utils: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-regex-util: "npm:^24.9.0" + checksum: 10c0/1844c4d94a3e3c97518596959ed2c43d680fdd9593d4a1c44216281925db3dcd2663ce26c012d66341d37c93a77cd8a18a636ca59970589a42cd345df7cc9151 + languageName: node + linkType: hard + +"expect@npm:^29.0.0, expect@npm:^29.7.0": + version: 29.7.0 + resolution: "expect@npm:29.7.0" + dependencies: + "@jest/expect-utils": "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/2eddeace66e68b8d8ee5f7be57f3014b19770caaf6815c7a08d131821da527fb8c8cb7b3dcd7c883d2d3d8d184206a4268984618032d1e4b16dc8d6596475d41 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.3 + resolution: "exponential-backoff@npm:3.1.3" + checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267 + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: "npm:^0.1.0" + checksum: 10c0/ee1cb0a18c9faddb42d791b2d64867bd6cfd0f3affb711782eb6e894dd193e2934a7f529426aac7c8ddb31ac5d38000a00aa2caf08aa3dfc3e1c8ff6ba340bd9 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: "npm:^1.0.0" + is-extendable: "npm:^1.0.1" + checksum: 10c0/f39581b8f98e3ad94995e33214fff725b0297cf09f2725b6f624551cfb71e0764accfd0af80becc0182af5014d2a57b31b85ec999f9eb8a6c45af81752feac9a + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10c0/73bf6e27406e80aa3e85b0d1c4fd987261e628064e170ca781125c0b635a3dabad5e05adbf07595ea0cf1e6c5396cacb214af933da7cbaf24fe75ff14818e8f9 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: "npm:^0.3.2" + define-property: "npm:^1.0.0" + expand-brackets: "npm:^2.1.4" + extend-shallow: "npm:^2.0.1" + fragment-cache: "npm:^0.2.1" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/e1a891342e2010d046143016c6c03d58455c2c96c30bf5570ea07929984ee7d48fad86b363aee08f7a8a638f5c3a66906429b21ecb19bc8e90df56a001cd282c + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 10c0/f75114a8388f0cbce68e277b6495dc3930db4dde1611072e4a140c24e204affd77320d004b947a132e9a3b97b8253017b2b62dce661975fb0adced707abf1ab5 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.0 + resolution: "extsprintf@npm:1.4.0" + checksum: 10c0/c2164f9143198650253e3bccc711cc634896e04af85c5bf3e71b2cc23b5ab7e9757a7f0dc7150f50d69871d03aef1eb9c5b8ea9d5dd2a6cf47e88fbe145fefef + languageName: node + linkType: hard + +"fast-deep-equal@npm:^2.0.1": + version: 2.0.1 + resolution: "fast-deep-equal@npm:2.0.1" + checksum: 10c0/1602e0d6ed63493c865cc6b03f9070d6d3926e8cd086a123060b58f80a295f3f08b1ecfb479ae7c45b7fd45535202aea7cf5b49bc31bffb81c20b1502300be84 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.0.0 + resolution: "fast-json-stable-stringify@npm:2.0.0" + checksum: 10c0/42eb0fd98caf87d0c0c7e418cd18906b7573420736cbe14e536af573da03ab421b4f03956272e42f962b3ceacac2765ac0c1a909ffcea0b0c2799b6c145a7026 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.1.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-levenshtein@npm:~2.0.4": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.0 + resolution: "fb-watchman@npm:2.0.0" + dependencies: + bser: "npm:^2.0.0" + checksum: 10c0/507f6b48a45d80475f37e7c2ac873934318b44ddcb599470567c9a49682d4d5f6faf5cf14d22fd671165264f0c126ca09189e936c306fd0df1d9d8744908e281 + languageName: node + linkType: hard + +"fdir@npm:^6.5.0": + version: 6.5.0 + resolution: "fdir@npm:6.5.0" + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + checksum: 10c0/e345083c4306b3aed6cb8ec551e26c36bab5c511e99ea4576a16750ddc8d3240e63826cc624f5ae17ad4dc82e68a253213b60d556c11bfad064b7607847ed07f + languageName: node + linkType: hard + +"figgy-pudding@npm:^3.5.1": + version: 3.5.1 + resolution: "figgy-pudding@npm:3.5.1" + checksum: 10c0/0b75bc998fe010e456655662f0a4e1340f8fa1df86edd12ee399faf5f2a4527ea7d22bc537362ee1c96105c1bb4b5038389f4e35226d3571a2891bbe51ac206b + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: "npm:^2.0.1" + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + to-regex-range: "npm:^2.1.0" + checksum: 10c0/ccd57b7c43d7e28a1f8a60adfa3c401629c08e2f121565eece95e2386ebc64dedc7128d8c3448342aabf19db0c55a34f425f148400c7a7be9a606ba48749e089 + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.0.0, find-cache-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: "npm:^1.0.1" + make-dir: "npm:^2.0.0" + pkg-dir: "npm:^3.0.0" + checksum: 10c0/556117fd0af14eb88fb69250f4bba9e905e7c355c6136dff0e161b9cbd1f5285f761b778565a278da73a130f42eccc723d7ad4c002ae547ed1d698d39779dabb + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: "npm:^3.0.0" + checksum: 10c0/2c2e7d0a26db858e2f624f39038c74739e38306dee42b45f404f770db357947be9d0d587f1cac72d20c114deb38aa57316e879eb0a78b17b46da7dab0a3bd6e3 + languageName: node + linkType: hard + +"find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: "npm:^5.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/0406ee89ebeefa2d507feb07ec366bebd8a6167ae74aa4e34fb4c4abd06cf782a3ce26ae4194d70706f72182841733f00551c209fe575cb00bd92104056e78c1 + languageName: node + linkType: hard + +"findup-sync@npm:3.0.0": + version: 3.0.0 + resolution: "findup-sync@npm:3.0.0" + dependencies: + detect-file: "npm:^1.0.0" + is-glob: "npm:^4.0.0" + micromatch: "npm:^3.0.4" + resolve-dir: "npm:^1.0.1" + checksum: 10c0/ff6f37328a7629775db2abf0fcd40e7c117baf37f23006f206c18bcd9ca0ce99d8c24ae86df540370ec76c1080ab59fe82cb71d2c7c1ad819ccccee726af7e92 + languageName: node + linkType: hard + +"flush-write-stream@npm:^1.0.0": + version: 1.1.1 + resolution: "flush-write-stream@npm:1.1.1" + dependencies: + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.3.6" + checksum: 10c0/2cd4f65b728d5f388197a03dafabc6a5e4f0c2ed1a2d912e288f7aa1c2996dd90875e55b50cf32c78dca55ad2e2dfae5d3db09b223838388033d87cf5920dd87 + languageName: node + linkType: hard + +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 10c0/42bb609d564b1dc340e1996868b67961257fd03a48d7fdafd4f5119530b87f962be6b4d5b7e3a3fc84c9854d149494b1d358e0b0ce9837e64c4c6603a49451d6 + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 10c0/364f7f5f7d93ab661455351ce116a67877b66f59aca199559a999bd39e3cfadbfbfacc10415a915255e2210b30c23febe9aec3ca16bf2d1ff11c935a1000e24c + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.6" + mime-types: "npm:^2.1.12" + checksum: 10c0/706ef1e5649286b6a61e5bb87993a9842807fd8f149cd2548ee807ea4fb882247bdf7f6e64ac4720029c0cd5c80343de0e22eee1dc9e9882e12db9cc7bc016a4 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: "npm:^0.2.2" + checksum: 10c0/5891d1c1d1d5e1a7fb3ccf28515c06731476fa88f7a50f4ede8a0d8d239a338448e7f7cc8b73db48da19c229fa30066104fe6489862065a4f1ed591c42fbeabf + languageName: node + linkType: hard + +"from2@npm:^2.1.0": + version: 2.3.0 + resolution: "from2@npm:2.3.0" + dependencies: + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.0.0" + checksum: 10c0/f87f7a2e4513244d551454a7f8324ef1f7837864a8701c536417286ec19ff4915606b1dfa8909a21b7591ebd8440ffde3642f7c303690b9a4d7c832d62248aa1 + languageName: node + linkType: hard + +"fs-minipass@npm:^1.2.5": + version: 1.2.6 + resolution: "fs-minipass@npm:1.2.6" + dependencies: + minipass: "npm:^2.2.1" + checksum: 10c0/4ce4fcafe3deb63712e512ddde755abecf9d7f394c0383f3da3503339b9adb11b694ab8a11537e556672c504df09d7ad0182fdeb4a9ecd3baf3b89adce6a5350 + languageName: node + linkType: hard + +"fs-write-stream-atomic@npm:^1.0.8": + version: 1.0.10 + resolution: "fs-write-stream-atomic@npm:1.0.10" + dependencies: + graceful-fs: "npm:^4.1.2" + iferr: "npm:^0.1.5" + imurmurhash: "npm:^0.1.4" + readable-stream: "npm:1 || 2" + checksum: 10c0/293b2b4ed346d35a28f8637a20cb2aef31be86503da501c42c2eda8fefed328bac16ce0e5daa7019f9329d73930c58031eaea2ce0c70f1680943fbfb7cff808b + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:^1.2.7": + version: 1.2.9 + resolution: "fsevents@npm:1.2.9" + dependencies: + nan: "npm:^2.12.1" + node-pre-gyp: "npm:^0.12.0" + checksum: 10c0/2991be05731809662fedb0349eee3ffe78be808fd07c8b43ac971d26dfca4850dbab176e50e5968c37acd1f17bef68126e886585ec2aa174730ab440d2480dd4 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@npm:^2.3.2": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^1.2.7#optional!builtin": + version: 1.2.9 + resolution: "fsevents@patch:fsevents@npm%3A1.2.9#optional!builtin::version=1.2.9&hash=d11327" + dependencies: + nan: "npm:^2.12.1" + node-pre-gyp: "npm:^0.12.0" + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A^2.3.2#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: 10c0/60b74b2407e1942e1ed7f8c284f8ef714d0689dcfce5319985a5b7da3fc727f40b4a59ec72dc55aa83365ad7b8fa4fac3a30d93c850a2b452f29ae03dbc10a1e + languageName: node + linkType: hard + +"function-bind@npm:^1.1.2": + version: 1.1.2 + resolution: "function-bind@npm:1.1.2" + checksum: 10c0/d8680ee1e5fcd4c197e4ac33b2b4dce03c71f4d91717292785703db200f5c21f977c568d28061226f9b5900cbcd2c84463646134fd5337e7925e0942bc3f46d5 + languageName: node + linkType: hard + +"gauge@npm:~2.7.3": + version: 2.7.4 + resolution: "gauge@npm:2.7.4" + dependencies: + aproba: "npm:^1.0.3" + console-control-strings: "npm:^1.0.0" + has-unicode: "npm:^2.0.0" + object-assign: "npm:^4.1.0" + signal-exit: "npm:^3.0.0" + string-width: "npm:^1.0.1" + strip-ansi: "npm:^3.0.1" + wide-align: "npm:^1.1.0" + checksum: 10c0/d606346e2e47829e0bc855d0becb36c4ce492feabd61ae92884b89e07812dd8a67a860ca30ece3a4c2e9f2c73bd68ba2b8e558ed362432ffd86de83c08847f84 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "gensync@npm:1.0.0-beta.2" + checksum: 10c0/782aba6cba65b1bb5af3b095d96249d20edbe8df32dbf4696fd49be2583faf676173bf4809386588828e4dd76a3354fcbeb577bab1c833ccd9fc4577f26103f8 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 10c0/c6c7b60271931fa752aeb92f2b47e355eac1af3a2673f47c9589e8f8a41adc74d45551c1bc57b5e66a80609f10ffb72b6f575e4370d61cc3f7f3aaff01757cde + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.0": + version: 2.0.0 + resolution: "get-func-name@npm:2.0.0" + checksum: 10c0/ed8791f7ba92cfd747259dff7ec8b6cc42734cebd031fb58c99a6e71d24d3532d84b46ad7806cafad6ad21784dd04ae1808a002d2b21001425e21f5f394c34e7 + languageName: node + linkType: hard + +"get-package-type@npm:^0.1.0": + version: 0.1.0 + resolution: "get-package-type@npm:0.1.0" + checksum: 10c0/e34cdf447fdf1902a1f6d5af737eaadf606d2ee3518287abde8910e04159368c268568174b2e71102b87b26c2020486f126bfca9c4fb1ceb986ff99b52ecd1be + languageName: node + linkType: hard + +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10c0/294d876f667694a5ca23f0ca2156de67da950433b6fb53024833733975d32582896dbc7f257842d331809979efccf04d5e0b6b75ad4d45744c45f193fd497539 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 10c0/f069c132791b357c8fc4adfe9e2929b0a2c6e95f98ca7bc6fcbc27f8a302e552f86b4ae61ec56d9e9ac2544b93b6a39743d479866a37b43fcc104088ba74f0d9 + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10c0/c13f8530ecf16fc509f3fa5cd8dd2129ffa5d0c7ccdf5728b6022d52954c2d24be3706b4cdf15333eec52f1fbb43feb70a01dabc639d1d10071e371da8aaa52f + languageName: node + linkType: hard + +"glob-parent@npm:^3.1.0": + version: 3.1.0 + resolution: "glob-parent@npm:3.1.0" + dependencies: + is-glob: "npm:^3.1.0" + path-dirname: "npm:^1.0.0" + checksum: 10c0/bfa89ce5ae1dfea4c2ece7b61d2ea230d87fcbec7472915cfdb3f4caf688a91ecb0dc86ae39b1e17505adce7e64cae3b971d64dc66091f3a0131169fd631b00d + languageName: node + linkType: hard + +"glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.1.4 + resolution: "glob@npm:7.1.4" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.0.4" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/7f6fcbf600eb2298cce34c65f6d8bbe6933ddd4f88aa5b38a9c6feec82b615bb33b63b120725303e89c4b50284413c21d2ff883414717a5c7d0c9f7cd7a0e5fe + languageName: node + linkType: hard + +"global-modules@npm:2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: "npm:^3.0.0" + checksum: 10c0/43b770fe24aa6028f4b9770ea583a47f39750be15cf6e2578f851e4ccc9e4fa674b8541928c0b09c21461ca0763f0d36e4068cec86c914b07fd6e388e66ba5b9 + languageName: node + linkType: hard + +"global-modules@npm:^1.0.0": + version: 1.0.0 + resolution: "global-modules@npm:1.0.0" + dependencies: + global-prefix: "npm:^1.0.1" + is-windows: "npm:^1.0.1" + resolve-dir: "npm:^1.0.0" + checksum: 10c0/7d91ecf78d4fcbc966b2d89c1400df273afea795bc8cadf39857ee1684e442065621fd79413ff5fcd9e90c6f1b2dc0123e644fa0b7811f987fd54c6b9afad858 + languageName: node + linkType: hard + +"global-prefix@npm:^1.0.1": + version: 1.0.2 + resolution: "global-prefix@npm:1.0.2" + dependencies: + expand-tilde: "npm:^2.0.2" + homedir-polyfill: "npm:^1.0.1" + ini: "npm:^1.3.4" + is-windows: "npm:^1.0.1" + which: "npm:^1.2.14" + checksum: 10c0/d8037e300f1dc04d5d410d16afa662e71bfad22dcceba6c9727bb55cc273b8988ca940b3402f62e5392fd261dd9924a9a73a865ef2000219461f31f3fc86be06 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: "npm:^1.3.5" + kind-of: "npm:^6.0.2" + which: "npm:^1.3.1" + checksum: 10c0/510f489fb68d1cc7060f276541709a0ee6d41356ef852de48f7906c648ac223082a1cc8fce86725ca6c0e032bcdc1189ae77b4744a624b29c34a9d0ece498269 + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 10c0/758f9f258e7b19226bd8d4af5d3b0dcf7038780fb23d82e6f98932c44e239f884847f1766e8fa9cc5635ccb3204f7fa7314d4408dd4002a5e8ea827b4018f0a1 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2": + version: 4.2.2 + resolution: "graceful-fs@npm:4.2.2" + checksum: 10c0/a438a7a9a8369d2f4fb3eb467b742fe68fc5434eab559bd17d7b7f778eda83860512d2007555d0a0d8b2d4c59ca949ba15964f1a1e3a8b6b66c992378deda3ab + languageName: node + linkType: hard + +"graceful-fs@npm:^4.2.6, graceful-fs@npm:^4.2.9": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"growly@npm:^1.3.0": + version: 1.3.0 + resolution: "growly@npm:1.3.0" + checksum: 10c0/3043bd5c064e87f89e8c9b66894ed09fd882c7fa645621a543b45b72f040c7241e25061207a858ab191be2fbdac34795ff57c2a40962b154a6b2908a5e509252 + languageName: node + linkType: hard + +"handlebars@npm:*, handlebars@npm:^4.1.2": + version: 4.1.2 + resolution: "handlebars@npm:4.1.2" + dependencies: + neo-async: "npm:^2.6.0" + optimist: "npm:^0.6.1" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/329f616542a58141ac56aaa254b7cd209761d8fcf0195078600b242187a728e8f3cd6b3fc5df6cd6e54313594ce15439815a0c21cd701bf76f1dcbdc9d232051 + languageName: node + linkType: hard + +"handlebars@npm:^4.7.9": + version: 4.7.9 + resolution: "handlebars@npm:4.7.9" + dependencies: + minimist: "npm:^1.2.5" + neo-async: "npm:^2.6.2" + source-map: "npm:^0.6.1" + uglify-js: "npm:^3.1.4" + wordwrap: "npm:^1.0.0" + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 10c0/22f8105a7e68e81aff2662bb434edf05f757d21d850731d71cec886d69c10cd33d3c43e34b2892968ec62de8241611851d3d0674c8ef324ea3e01dc66262faa9 + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: 10c0/3856cb76152658e0002b9c2b45b4360bb26b3e832c823caed8fcf39a01096030bf09fa5685c0f7b0f2cb3ecba6e9dce17edaf28b64a423d6201092e6be56e592 + languageName: node + linkType: hard + +"har-validator@npm:~5.1.0": + version: 5.1.3 + resolution: "har-validator@npm:5.1.3" + dependencies: + ajv: "npm:^6.5.5" + har-schema: "npm:^2.0.0" + checksum: 10c0/0f1d272d402efa2ebd63ad04c0daed514046f2c6a2d66d28773cb2abd464cdc9d0d11d55dd1cac3fa31e9e0e40f94e068ae388f6fb9d496049fd5e97643581af + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "has-symbols@npm:1.0.0" + checksum: 10c0/9aff814a6285b1b87dd031fe5240ca03d3db44985971915034db4178483096fd1304ad86dbe32aa78b7281450fd405cff220cf4b514d1848d04a80ce21d20929 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.0": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: "npm:^2.0.3" + has-values: "npm:^0.1.4" + isobject: "npm:^2.0.0" + checksum: 10c0/7a7c2e9d07bc9742c81806150adb154d149bc6155267248c459cd1ce2a64b0759980d26213260e4b7599c8a3754551179f155ded88d0533a0d2bc7bc29028432 + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: "npm:^2.0.6" + has-values: "npm:^1.0.0" + isobject: "npm:^3.0.0" + checksum: 10c0/17cdccaf50f8aac80a109dba2e2ee5e800aec9a9d382ef9deab66c56b34269e4c9ac720276d5ffa722764304a1180ae436df077da0dd05548cfae0209708ba4d + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: 10c0/a8f00ad862c20289798c35243d5bd0b0a97dd44b668c2204afe082e0265f2d0bf3b89fc8cc0ef01a52b49f10aa35cf85c336ee3a5f1cac96ed490f5e901cdbf2 + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: "npm:^3.0.0" + kind-of: "npm:^4.0.0" + checksum: 10c0/a6f2a1cc6b2e43eacc68e62e71ad6890def7f4b13d2ef06b4ad3ee156c23e470e6df144b9b467701908e17633411f1075fdff0cab45fb66c5e0584d89b25f35e + languageName: node + linkType: hard + +"has@npm:^1.0.1, has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: "npm:^1.1.1" + checksum: 10c0/e1da0d2bd109f116b632f27782cf23182b42f14972ca9540e4c5aa7e52647407a0a4a76937334fddcb56befe94a3494825ec22b19b51f5e5507c3153fd1a5e1b + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.0.4 + resolution: "hash-base@npm:3.0.4" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + checksum: 10c0/a13357dccb3827f0bb0b56bf928da85c428dc8670f6e4a1c7265e4f1653ce02d69030b40fd01b0f1d218a995a066eea279cded9cec72d207b593bcdfe309c2f0 + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: "npm:^2.0.3" + minimalistic-assert: "npm:^1.0.1" + checksum: 10c0/41ada59494eac5332cfc1ce6b7ebdd7b88a3864a6d6b08a3ea8ef261332ed60f37f10877e0c825aaa4bddebf164fbffa618286aeeec5296675e2671cbfa746c4 + languageName: node + linkType: hard + +"hasown@npm:^2.0.3": + version: 2.0.4 + resolution: "hasown@npm:2.0.4" + dependencies: + function-bind: "npm:^1.1.2" + checksum: 10c0/2d8de939e270b70618f8cebb69746620db10617dbb495bc66ddad326955ea24d3ca4af133aff3eb7c1853e0218f867bc2b050ec26fe02e3aea58f880ffc5e506 + languageName: node + linkType: hard + +"highlight.js@npm:*": + version: 9.15.10 + resolution: "highlight.js@npm:9.15.10" + checksum: 10c0/7a571887ac3f22c574936e6428d5daf6121ee2f4286882a22f937dcd5e59a2edc1cea301844d33beb16e1544917fe28e23e7342273a79e4e38c4a9cf92de8ca0 + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.0": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: "npm:^1.0.3" + minimalistic-assert: "npm:^1.0.0" + minimalistic-crypto-utils: "npm:^1.0.1" + checksum: 10c0/f3d9ba31b40257a573f162176ac5930109816036c59a09f901eb2ffd7e5e705c6832bedfff507957125f2086a0ab8f853c0df225642a88bf1fcaea945f20600d + languageName: node + linkType: hard + +"homedir-polyfill@npm:^1.0.1": + version: 1.0.3 + resolution: "homedir-polyfill@npm:1.0.3" + dependencies: + parse-passwd: "npm:^1.0.0" + checksum: 10c0/3c099844f94b8b438f124bd5698bdcfef32b2d455115fb8050d7148e7f7b95fc89ba9922586c491f0e1cdebf437b1053c84ecddb8d596e109e9ac69c5b4a9e27 + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.4 + resolution: "hosted-git-info@npm:2.8.4" + checksum: 10c0/9364492e5f439712f340a1fa80e6b5dc9b756ab49d53763ab4989ce1d7069cee3b35012fe920d69e92afb591be28793eaa63b380b4c8a8f8bf312b849c10fe21 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^1.0.2": + version: 1.0.2 + resolution: "html-encoding-sniffer@npm:1.0.2" + dependencies: + whatwg-encoding: "npm:^1.0.1" + checksum: 10c0/9fced981073a0e83ae73eac4fd1b92f707e0c6b0999007faf88340a3bd7fb862fc12dfcae5a3062e34543ec0f9adb15e19fc60d851a2a99993a76b5fec319862 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: "npm:^1.0.0" + jsprim: "npm:^1.2.2" + sshpk: "npm:^1.7.0" + checksum: 10c0/582f7af7f354429e1fb19b3bbb9d35520843c69bb30a25b88ca3c5c2c10715f20ae7924e20cffbed220b1d3a726ef4fe8ccc48568d5744db87be9a79887d6733 + languageName: node + linkType: hard + +"https-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "https-browserify@npm:1.0.0" + checksum: 10c0/e17b6943bc24ea9b9a7da5714645d808670af75a425f29baffc3284962626efdc1eb3aa9bbffaa6e64028a6ad98af5b09fabcb454a8f918fb686abfdc9e9b8ae + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.4, iconv-lite@npm:~0.4.13": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3" + checksum: 10c0/c6886a24cc00f2a059767440ec1bc00d334a89f250db8e0f7feb4961c8727118457e27c495ba94d082e51d3baca378726cd110aaf7ded8b9bbfd6a44760cf1d4 + languageName: node + linkType: hard + +"icss-utils@npm:^4.0.0, icss-utils@npm:^4.1.1": + version: 4.1.1 + resolution: "icss-utils@npm:4.1.1" + dependencies: + postcss: "npm:^7.0.14" + checksum: 10c0/22803c243bb097c2290b4e7c20ed14746f3e00e04856f953b751c7e6bb8c81620764bcf98d200a92d167af0884d19143c089d02e2bc609abcdeb86f465328797 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.4": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 10c0/eaf8c87e014282bfb5b13670991a2ed086eaef35ccc3fb713833863f2e7213041b2c29246adbc5f6561d51d53861c3b11f3b82b28fc6fa1352edeff381f056e5 + languageName: node + linkType: hard + +"iferr@npm:^0.1.5": + version: 0.1.5 + resolution: "iferr@npm:0.1.5" + checksum: 10c0/e0669b1757d0501b43a158321945d1cc1fe56f28a972df2f88a5818f05c8853c7669ba5d6cfbbf9a1a312850699de6e528626df108d559005df7e15d16ee334c + languageName: node + linkType: hard + +"ignore-walk@npm:^3.0.1": + version: 3.0.1 + resolution: "ignore-walk@npm:3.0.1" + dependencies: + minimatch: "npm:^3.0.4" + checksum: 10c0/b921a7e8d6fe3a5dfee451e89fc6e252fc4a1a3a15eef50d3919441691443315de856bc88381864e1edc97c79e8ac4c23056ec997d488e0d296c0b84ab60445f + languageName: node + linkType: hard + +"import-local@npm:2.0.0, import-local@npm:^2.0.0": + version: 2.0.0 + resolution: "import-local@npm:2.0.0" + dependencies: + pkg-dir: "npm:^3.0.0" + resolve-cwd: "npm:^2.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10c0/68f2d9203d3760a836db97e917ea1793e865e0c5dd3749380ccaf52be907553febb0828f14c3169e66ba1a458d931b3cc5597cc9b623c7f79b395b0c3892601e + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.2.0 + resolution: "import-local@npm:3.2.0" + dependencies: + pkg-dir: "npm:^4.2.0" + resolve-cwd: "npm:^3.0.0" + bin: + import-local-fixture: fixtures/cli.js + checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indexes-of@npm:^1.0.1": + version: 1.0.1 + resolution: "indexes-of@npm:1.0.1" + checksum: 10c0/1ea1d2d00173fa38f728acfa00303657e1115361481e52f6cbae47c5d603219006c9357abf6bc323f1fb0fbe937e363bbb19e5c66c12578eea6ec6b7e892bdba + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.3": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:~2.0.1, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"inherits@npm:2.0.1": + version: 2.0.1 + resolution: "inherits@npm:2.0.1" + checksum: 10c0/bfc7b37c21a2cddb272adc65b053b1716612d408bb2c9a4e5c32679dc2b08032aadd67880c405be3dff060a62e45b353fc3d9fa79a3067ad7a3deb6a283cc5c6 + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 10c0/6e56402373149ea076a434072671f9982f5fad030c7662be0332122fe6c0fa490acb3cc1010d90b6eff8d640b1167d77674add52dfd1bb85d545cf29e80e73e7 + languageName: node + linkType: hard + +"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.5 + resolution: "ini@npm:1.3.5" + checksum: 10c0/8ac1bed81d502b6a5ae349a02e052564fa46983e552ee34caca48c23a48d83e89a3b64278204e05003c2762659c81b5f5d351db96815e10e2f2b33a33998c683 + languageName: node + linkType: hard + +"interpret@npm:1.2.0": + version: 1.2.0 + resolution: "interpret@npm:1.2.0" + checksum: 10c0/1482626650a5ba3cfdbe42a43c8feb939ef51cfd6b056686e40943ea215ac2055f9ed7c632ed2521180de2c01197d8b8a02961324e21f89339379cd76ec56a51 + languageName: node + linkType: hard + +"invariant@npm:^2.2.2, invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/5af133a917c0bcf65e84e7f23e779e7abc1cd49cb7fdc62d00d1de74b0d8c1b5ee74ac7766099fb3be1b05b26dfc67bab76a17030d2fe7ea2eef867434362dfc + languageName: node + linkType: hard + +"invert-kv@npm:^2.0.0": + version: 2.0.0 + resolution: "invert-kv@npm:2.0.0" + checksum: 10c0/1a614b9025875e2009a23b8b56bfcbc7727e81ce949ccb6e0700caa6ce04ef92f0cbbcdb120528b6409317d08a7d5671044e520df48719437b5005ae6a1cbf74 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/f2c314b314ec6e8a6e559351bff3c7ee9aed7a5e9c6f61dd8cb9e1382c8bfe33dca3f0e0af13daf9ded9e6e66390ff23b4acfb615d7a249009a51506a7b0f151 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: "npm:^6.0.0" + checksum: 10c0/d68edafd8ef133e9003837f3c80f4e5b82b12ab5456c772d1796857671ae83e3a426ed225a28a7e35bceabbce68c1f1ffdabf47e6d53f5a4d6c4558776ad3c20 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 10c0/e7fb686a739068bb70f860b39b67afc62acc62e36bb61c5f965768abce1873b379c563e61dd2adad96ebb7edf6651111b385e490cf508378959b0ed4cac4e729 + languageName: node + linkType: hard + +"is-binary-path@npm:^1.0.0": + version: 1.0.1 + resolution: "is-binary-path@npm:1.0.1" + dependencies: + binary-extensions: "npm:^1.0.0" + checksum: 10c0/16e456fa3782eaf3d8e28d382b750507e3d54ff6694df8a1b2c6498da321e2ead311de9c42e653d8fb3213de72bac204b5f97e4a110cda8a72f17b1c1b4eb643 + languageName: node + linkType: hard + +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 10c0/ae18aa0b6e113d6c490ad1db5e8df9bdb57758382b313f5a22c9c61084875c6396d50bbf49315f5b1926d142d74dfb8d31b40d993a383e0a158b15fea7a82234 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.4": + version: 1.1.4 + resolution: "is-callable@npm:1.1.4" + checksum: 10c0/7302084d6afb6f485e7aa41456edbe4ca69716c86781f5ff6a63e3ddc27fecfeeffc9b371a0ecdd1a3ee09469f76db801f92fd3c2ec0fb583d1ce70d01e5bad6 + languageName: node + linkType: hard + +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: "npm:^2.0.0" + bin: + is-ci: bin.js + checksum: 10c0/17de4e2cd8f993c56c86472dd53dd9e2c7f126d0ee55afe610557046cdd64de0e8feadbad476edc9eeff63b060523b8673d9094ed2ab294b59efb5a66dd05a9a + languageName: node + linkType: hard + +"is-core-module@npm:^2.16.1": + version: 2.16.2 + resolution: "is-core-module@npm:2.16.2" + dependencies: + hasown: "npm:^2.0.3" + checksum: 10c0/14b4258390283709c15476d023ec173e27458d5d014ccdb8ed39d576e551c3fa45498b7c9fe178f1529c4cb2648ddd58852a6a62107a019f6e349529f277518a + languageName: node + linkType: hard + +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/32fda7e966b2c1f093230d5ef2aad1bb86e43e7280da50961e38ec31dbd8a50570a2911fd45277d321074a0762adc98e8462bb62820462594128857225e90d21 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: "npm:^6.0.0" + checksum: 10c0/bed31385d7d1a0dbb2ab3077faf2188acf42609192dca4e320ed7b3dc14a9d70c00658956cdaa2c0402be136c6b56e183973ad81b730fd90ab427fb6fd3608be + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.1 + resolution: "is-date-object@npm:1.0.1" + checksum: 10c0/debc704dd75cef4626c6a3645160b6623c005bc1762dfb4089da95401147a82be33d33248e2fc39b9e436eef56d391b23fed909d39a45b05557610b0c950ec77 + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: "npm:^0.1.6" + is-data-descriptor: "npm:^0.1.4" + kind-of: "npm:^5.0.0" + checksum: 10c0/6b8f5617b764ef8c6be3d54830184357e6cdedd8e0eddf1b97d0658616ac170bfdbc7c1ad00e0aa9f5b767acdb9d6c63d4df936501784b34936bd0f9acf3b665 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: "npm:^1.0.0" + is-data-descriptor: "npm:^1.0.0" + kind-of: "npm:^6.0.2" + checksum: 10c0/a05169c7a87feb88fc155e3ada469090cfabb5a548a3f794358b511cc47a0871b8b95e7345be4925a22ef3df585c3923b31943b3ad6255ce563a9d97f2e221e0 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 10c0/dd5ca3994a28e1740d1e25192e66eed128e0b2ff161a7ea348e87ae4f616554b486854de423877a2a2c171d5f7cd6e8093b91f54533bc88a59ee1c9838c43879 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: "npm:^2.0.4" + checksum: 10c0/1d6678a5be1563db6ecb121331c819c38059703f0179f52aa80c242c223ee9c6b66470286636c0e63d7163e4d905c0a7d82a096e0b5eaeabb51b9f8d0af0d73f + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: "npm:^1.0.0" + checksum: 10c0/12acfcf16142f2d431bf6af25d68569d3198e81b9799b4ae41058247aafcc666b0127d64384ea28e67a746372611fcbe9b802f69175287aba466da3eddd5ba0f + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 10c0/e58f3e4a601fc0500d8b2677e26e9fe0cd450980e66adb29d85b6addf7969731e38f8e43ed2ec868a09c101a55ac3d8b78902209269f38c5286bc98f5bc1b4d9 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: 10c0/2957cab387997a466cd0bf5c1b6047bd21ecb32bdcfd8996b15747aa01002c1c88731802f1b3d34ac99f4f6874b626418bd118658cf39380fe5fff32a3af9c4d + languageName: node + linkType: hard + +"is-glob@npm:^3.1.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: "npm:^2.1.0" + checksum: 10c0/ba816a35dcf5285de924a8a4654df7b183a86381d73ea3bbf3df3cc61b3ba61fdddf90ee205709a2235b210ee600ee86e5e8600093cf291a662607fd032e2ff4 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/a8414252499e4381756c36fe52ed778e090dd21d8cb81053384eafd5bc4fc36a6232ef528156ec98dce561f589d1d16659b7f9679b8c86864ac3c6acd5da6f66 + languageName: node + linkType: hard + +"is-module@npm:^1.0.0": + version: 1.0.0 + resolution: "is-module@npm:1.0.0" + checksum: 10c0/795a3914bcae7c26a1c23a1e5574c42eac13429625045737bf3e324ce865c0601d61aee7a5afbca1bee8cb300c7d9647e7dc98860c9bdbc3b7fdc51d8ac0bffc + languageName: node + linkType: hard + +"is-node-process@npm:^1.2.0": + version: 1.2.0 + resolution: "is-node-process@npm:1.2.0" + checksum: 10c0/5b24fda6776d00e42431d7bcd86bce81cb0b6cabeb944142fe7b077a54ada2e155066ad06dbe790abdb397884bdc3151e04a9707b8cd185099efbc79780573ed + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/e639c54640b7f029623df24d3d103901e322c0c25ea5bde97cd723c2d0d4c05857a8364ab5c58d963089dbed6bf1d0ffe975cb6aef917e2ad0ccbca653d31b4f + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/f050fdd5203d9c81e8c4df1b3ff461c4bc64e8b5ca383bcdde46131361d0a678e80bcf00b5257646f6c636197629644d53bd8e2375aea633de09a82d57e942f4 + languageName: node + linkType: hard + +"is-reference@npm:^1.1.2": + version: 1.1.3 + resolution: "is-reference@npm:1.1.3" + dependencies: + "@types/estree": "npm:0.0.39" + checksum: 10c0/cd9dd7e2c0c53d85b0e8be0af09d0429adc643a67b376c5d35fe520d95918feb7b87f3151cc07857c353761300bbbe2324633edb06b4f03803a537b4742dc4a1 + languageName: node + linkType: hard + +"is-regex@npm:^1.0.4": + version: 1.0.4 + resolution: "is-regex@npm:1.0.4" + dependencies: + has: "npm:^1.0.1" + checksum: 10c0/f4446bb04c885a645fb91a4483c761aded57d61cf72587074e841c72e7826606fb0f2bfb3e76042f3360f4074d726f497c8a0f76ca94c56363d53c36dce449d2 + languageName: node + linkType: hard + +"is-stream@npm:^1.0.1, is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 10c0/b8ae7971e78d2e8488d15f804229c6eed7ed36a28f8807a1815938771f4adff0e705218b7dab968270433f67103e4fef98062a0beea55d64835f705ee72c7002 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2": + version: 1.0.2 + resolution: "is-symbol@npm:1.0.2" + dependencies: + has-symbols: "npm:^1.0.0" + checksum: 10c0/fdc069bd8e3465d9627c5a4aec432431da03a94aedb3e0c00f982557195894168ee43b71f7a0d355482e11d3dfe0b2b6d2b0bfa190dfb550578749f066b9471d + languageName: node + linkType: hard + +"is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 10c0/4c096275ba041a17a13cca33ac21c16bc4fd2d7d7eb94525e7cd2c2f2c1a3ab956e37622290642501ff4310601e413b675cf399ad6db49855527d2163b3eeeec + languageName: node + linkType: hard + +"is-windows@npm:^1.0.1, is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 10c0/b32f418ab3385604a66f1b7a3ce39d25e8881dee0bd30816dc8344ef6ff9df473a732bcc1ec4e84fe99b2f229ae474f7133e8e93f9241686cfcf7eebe53ba7a5 + languageName: node + linkType: hard + +"is-wsl@npm:^1.1.0": + version: 1.1.0 + resolution: "is-wsl@npm:1.1.0" + checksum: 10c0/7ad0012f21092d6f586c7faad84755a8ef0da9b9ec295e4dc82313cce4e1a93a3da3c217265016461f9b141503fe55fa6eb1fd5457d3f05e8d1bdbb48e50c13a + languageName: node + linkType: hard + +"isarray@npm:0.0.1": + version: 0.0.1 + resolution: "isarray@npm:0.0.1" + checksum: 10c0/ed1e62da617f71fe348907c71743b5ed550448b455f8d269f89a7c7ddb8ae6e962de3dab6a74a237b06f5eb7f6ece7a45ada8ce96d87fe972926530f91ae3311 + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 10c0/18b5be6669be53425f0b84098732670ed4e727e3af33bc7f948aac01782110eb9a18b3b329c5323bcdd3acdaae547ee077d3951317e7f133bff7105264b3003d + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^4.0.0": + version: 4.0.0 + resolution: "isexe@npm:4.0.0" + checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: "npm:1.0.0" + checksum: 10c0/c4cafec73b3b2ee11be75dff8dafd283b5728235ac099b07d7873d5182553a707768e208327bbc12931b9422d8822280bf88d894a0024ff5857b3efefb480e7b + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 10c0/03344f5064a82f099a0cd1a8a407f4c0d20b7b8485e8e816c39f249e9416b06c322e8dec5b842b6bb8a06de0af9cb48e7bc1b5352f0fadc2f0abac033db3d4db + languageName: node + linkType: hard + +"isomorphic-fetch@npm:*": + version: 2.2.1 + resolution: "isomorphic-fetch@npm:2.2.1" + dependencies: + node-fetch: "npm:^1.0.1" + whatwg-fetch: "npm:>=0.10.0" + checksum: 10c0/ea9fd37d31ec7b35b82180e1946d4a2f512506d0559fa567ec6ee6701ff1c6d924be90e75499c50982274b707e03ecd9eaa21d618872dd0deff530e4c3bdb074 + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 10c0/a6686a878735ca0a48e0d674dd6d8ad31aedfaf70f07920da16ceadc7577b46d67179a60b313f2e6860cb097a2c2eb3cbd0b89e921ae89199a59a17c3273d66f + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^2.0.2, istanbul-lib-coverage@npm:^2.0.5": + version: 2.0.5 + resolution: "istanbul-lib-coverage@npm:2.0.5" + checksum: 10c0/370bd6940532ea2737a85532870f3024b113774ce3e637438cccfaf979a7598aa29d342f4adcc3d73e306155c907b519bc1c5c6887a29234f605a1a472747821 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^3.0.1, istanbul-lib-instrument@npm:^3.3.0": + version: 3.3.0 + resolution: "istanbul-lib-instrument@npm:3.3.0" + dependencies: + "@babel/generator": "npm:^7.4.0" + "@babel/parser": "npm:^7.4.3" + "@babel/template": "npm:^7.4.0" + "@babel/traverse": "npm:^7.4.3" + "@babel/types": "npm:^7.4.0" + istanbul-lib-coverage: "npm:^2.0.5" + semver: "npm:^6.0.0" + checksum: 10c0/988eb9d58ae0ae69686369f6809a610f6f8db5c5f73931a496b02b941da56cfc176f84af0dd8db819ad2e6aca6dc2f38c91a288f1c6a3f79cfb10320180e998d + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.2.1 + resolution: "istanbul-lib-instrument@npm:5.2.1" + dependencies: + "@babel/core": "npm:^7.12.3" + "@babel/parser": "npm:^7.14.7" + "@istanbuljs/schema": "npm:^0.1.2" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^6.3.0" + checksum: 10c0/8a1bdf3e377dcc0d33ec32fe2b6ecacdb1e4358fd0eb923d4326bb11c67622c0ceb99600a680f3dad5d29c66fc1991306081e339b4d43d0b8a2ab2e1d910a6ee + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^6.0.0": + version: 6.0.3 + resolution: "istanbul-lib-instrument@npm:6.0.3" + dependencies: + "@babel/core": "npm:^7.23.9" + "@babel/parser": "npm:^7.23.9" + "@istanbuljs/schema": "npm:^0.1.3" + istanbul-lib-coverage: "npm:^3.2.0" + semver: "npm:^7.5.4" + checksum: 10c0/a1894e060dd2a3b9f046ffdc87b44c00a35516f5e6b7baf4910369acca79e506fc5323a816f811ae23d82334b38e3ddeb8b3b331bd2c860540793b59a8689128 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^2.0.4": + version: 2.0.8 + resolution: "istanbul-lib-report@npm:2.0.8" + dependencies: + istanbul-lib-coverage: "npm:^2.0.5" + make-dir: "npm:^2.1.0" + supports-color: "npm:^6.1.0" + checksum: 10c0/6c3907620a4ff9ec03ce58b325df0be551daf911c54f1e2d732ef310e9bc7b39ac57214736322e24241422ad8e8ab2780fea41a3f0a5238cbdcf7d3db8d6f956 + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^3.0.1": + version: 3.0.6 + resolution: "istanbul-lib-source-maps@npm:3.0.6" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^2.0.5" + make-dir: "npm:^2.1.0" + rimraf: "npm:^2.6.3" + source-map: "npm:^0.6.1" + checksum: 10c0/0d2c0e6b301fd964d74137000b7f949d18856ad6e40e065a9f28eec041b33b901e3ff6f4f61505230558b26a1be0be044ae2e2bd6c692a9a7985e762fb300722 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + languageName: node + linkType: hard + +"istanbul-reports@npm:^2.2.6": + version: 2.2.6 + resolution: "istanbul-reports@npm:2.2.6" + dependencies: + handlebars: "npm:^4.1.2" + checksum: 10c0/858e2528ad65f1a0e51a12f445beafdd86d829c0a1d700db08cb3b7377c9ff617a3eab4969d0d9a0af3941c86da6b9be34c0f09e437378b1c64a42d371a772fa + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.3": + version: 3.2.0 + resolution: "istanbul-reports@npm:3.2.0" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/d596317cfd9c22e1394f22a8d8ba0303d2074fe2e971887b32d870e4b33f8464b10f8ccbe6847808f7db485f084eba09e6c2ed706b3a978e4b52f07085b8f9bc + languageName: node + linkType: hard + +"jest-changed-files@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-changed-files@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + execa: "npm:^1.0.0" + throat: "npm:^4.0.0" + checksum: 10c0/61ead4b106108300f43beb3863a6c747c72ea841e06835412764fbad4a50eb015db618ac6f23906a5d11dd2a7b997d14fd7ad0a0c59c89133fc139ca3bd777c8 + languageName: node + linkType: hard + +"jest-changed-files@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-changed-files@npm:29.7.0" + dependencies: + execa: "npm:^5.0.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + checksum: 10c0/e071384d9e2f6bb462231ac53f29bff86f0e12394c1b49ccafbad225ce2ab7da226279a8a94f421949920bef9be7ef574fd86aee22e8adfa149be73554ab828b + languageName: node + linkType: hard + +"jest-circus@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-circus@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/expect": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + co: "npm:^4.6.0" + dedent: "npm:^1.0.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^29.7.0" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + pure-rand: "npm:^6.0.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/8d15344cf7a9f14e926f0deed64ed190c7a4fa1ed1acfcd81e4cc094d3cc5bf7902ebb7b874edc98ada4185688f90c91e1747e0dfd7ac12463b097968ae74b5e + languageName: node + linkType: hard + +"jest-cli@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-cli@npm:24.9.0" + dependencies: + "@jest/core": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.0.1" + exit: "npm:^0.1.2" + import-local: "npm:^2.0.0" + is-ci: "npm:^2.0.0" + jest-config: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-validate: "npm:^24.9.0" + prompts: "npm:^2.0.1" + realpath-native: "npm:^1.1.0" + yargs: "npm:^13.3.0" + bin: + jest: ./bin/jest.js + checksum: 10c0/b5409c2abfaaf402bcf1ed1e8bb46a209459b9b9537b258a399b4c0561c62747597500e4a8c7375d4e351dafbb8b2136f5aa7b1803e3803995bc3ad15c419296 + languageName: node + linkType: hard + +"jest-cli@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-cli@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + create-jest: "npm:^29.7.0" + exit: "npm:^0.1.2" + import-local: "npm:^3.0.2" + jest-config: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + yargs: "npm:^17.3.1" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/a658fd55050d4075d65c1066364595962ead7661711495cfa1dfeecf3d6d0a8ffec532f3dbd8afbb3e172dd5fd2fb2e813c5e10256e7cf2fea766314942fb43a + languageName: node + linkType: hard + +"jest-config@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-config@npm:24.9.0" + dependencies: + "@babel/core": "npm:^7.1.0" + "@jest/test-sequencer": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + babel-jest: "npm:^24.9.0" + chalk: "npm:^2.0.1" + glob: "npm:^7.1.1" + jest-environment-jsdom: "npm:^24.9.0" + jest-environment-node: "npm:^24.9.0" + jest-get-type: "npm:^24.9.0" + jest-jasmine2: "npm:^24.9.0" + jest-regex-util: "npm:^24.3.0" + jest-resolve: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-validate: "npm:^24.9.0" + micromatch: "npm:^3.1.10" + pretty-format: "npm:^24.9.0" + realpath-native: "npm:^1.1.0" + checksum: 10c0/3df880c16b4cedd93d37f80c43563f1cb85a695d2ec775ce98b9e4784694422de30da1a755a9bf030629204a0610c45e2fcdeeda9d5675383ce0da7decf00cff + languageName: node + linkType: hard + +"jest-config@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-config@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@jest/test-sequencer": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-jest: "npm:^29.7.0" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + deepmerge: "npm:^4.2.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-circus: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-runner: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + parse-json: "npm:^5.2.0" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + peerDependencies: + "@types/node": "*" + ts-node: ">=9.0.0" + peerDependenciesMeta: + "@types/node": + optional: true + ts-node: + optional: true + checksum: 10c0/bab23c2eda1fff06e0d104b00d6adfb1d1aabb7128441899c9bff2247bd26710b050a5364281ce8d52b46b499153bf7e3ee88b19831a8f3451f1477a0246a0f1 + languageName: node + linkType: hard + +"jest-diff@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-diff@npm:24.9.0" + dependencies: + chalk: "npm:^2.0.1" + diff-sequences: "npm:^24.9.0" + jest-get-type: "npm:^24.9.0" + pretty-format: "npm:^24.9.0" + checksum: 10c0/de8f57a6532d95f325478bb963507e055c962fb1255e4c0c3610853c729994a690fe7ec04bf18c5dd922ced6ae0e8e251910909b77d426e6fda96940f10f4f8e + languageName: node + linkType: hard + +"jest-diff@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-diff@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + diff-sequences: "npm:^29.6.3" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/89a4a7f182590f56f526443dde69acefb1f2f0c9e59253c61d319569856c4931eae66b8a3790c443f529267a0ddba5ba80431c585deed81827032b2b2a1fc999 + languageName: node + linkType: hard + +"jest-docblock@npm:^24.3.0": + version: 24.9.0 + resolution: "jest-docblock@npm:24.9.0" + dependencies: + detect-newline: "npm:^2.1.0" + checksum: 10c0/295a050129c906696723976968eebd516f0e20fd48cb792dd37e57402ffd0474a120ea4df47566d9dcee1c9db898323b375edf5686a46c545425c468925b288f + languageName: node + linkType: hard + +"jest-docblock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-docblock@npm:29.7.0" + dependencies: + detect-newline: "npm:^3.0.0" + checksum: 10c0/d932a8272345cf6b6142bb70a2bb63e0856cc0093f082821577ea5bdf4643916a98744dfc992189d2b1417c38a11fa42466f6111526bc1fb81366f56410f3be9 + languageName: node + linkType: hard + +"jest-each@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-each@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.0.1" + jest-get-type: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + pretty-format: "npm:^24.9.0" + checksum: 10c0/f3e2a0115af1c1508e7772d35ce486c51ade8afa90fd2e5bfc401013183439228bd8e3e695dffb0dd2b024e30f8d3db6e167f8b1523fb97ba60af4274e6386cd + languageName: node + linkType: hard + +"jest-each@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-each@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/f7f9a90ebee80cc688e825feceb2613627826ac41ea76a366fa58e669c3b2403d364c7c0a74d862d469b103c843154f8456d3b1c02b487509a12afa8b59edbb4 + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-jsdom@npm:24.9.0" + dependencies: + "@jest/environment": "npm:^24.9.0" + "@jest/fake-timers": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + jest-mock: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jsdom: "npm:^11.5.1" + checksum: 10c0/1f428e495000a8e221a11aa43e33dbb8d8073bcd5aa218b08652b12b9c6d39e7f56de1525e14b5c141d76c53fa07b62a6492e307f2513592f27556ac9913d437 + languageName: node + linkType: hard + +"jest-environment-node@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-node@npm:24.9.0" + dependencies: + "@jest/environment": "npm:^24.9.0" + "@jest/fake-timers": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + jest-mock: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + checksum: 10c0/6ea9c6e7a3ab12e04fa0931e00daa32984cc3698628499f734c13af9790ffef1bb591a6dd00e10e141286efc850df83dc329d7ce216b602285e471f26b222e05 + languageName: node + linkType: hard + +"jest-environment-node@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-environment-node@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-mock: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + checksum: 10c0/61f04fec077f8b1b5c1a633e3612fc0c9aa79a0ab7b05600683428f1e01a4d35346c474bde6f439f9fcc1a4aa9a2861ff852d079a43ab64b02105d1004b2592b + languageName: node + linkType: hard + +"jest-get-type@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-get-type@npm:24.9.0" + checksum: 10c0/af1da287a14e5de5888b0114e92cd4042050852d32982d412e1465a8d69cb0a22702c7c491c56eb664e05a1391c1d6eeeb840e249a76d4f6159c402a4dfde56d + languageName: node + linkType: hard + +"jest-get-type@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-get-type@npm:29.6.3" + checksum: 10c0/552e7a97a983d3c2d4e412a44eb7de0430ff773dd99f7500962c268d6dfbfa431d7d08f919c9d960530e5f7f78eb47f267ad9b318265e5092b3ff9ede0db7c2b + languageName: node + linkType: hard + +"jest-haste-map@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-haste-map@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + anymatch: "npm:^2.0.0" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^1.2.7" + graceful-fs: "npm:^4.1.15" + invariant: "npm:^2.2.4" + jest-serializer: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-worker: "npm:^24.9.0" + micromatch: "npm:^3.1.10" + sane: "npm:^4.0.3" + walker: "npm:^1.0.7" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/734e52354c95d1982eb4a40e9663119952bd17364b67dcf9757893956c4d3a370199531c29cab70636ab005582172b89d46553cc0afedfd343a7600b4913a81e + languageName: node + linkType: hard + +"jest-haste-map@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-haste-map@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/graceful-fs": "npm:^4.1.3" + "@types/node": "npm:*" + anymatch: "npm:^3.0.3" + fb-watchman: "npm:^2.0.0" + fsevents: "npm:^2.3.2" + graceful-fs: "npm:^4.2.9" + jest-regex-util: "npm:^29.6.3" + jest-util: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + micromatch: "npm:^4.0.4" + walker: "npm:^1.0.8" + dependenciesMeta: + fsevents: + optional: true + checksum: 10c0/2683a8f29793c75a4728787662972fedd9267704c8f7ef9d84f2beed9a977f1cf5e998c07b6f36ba5603f53cb010c911fe8cd0ac9886e073fe28ca66beefd30c + languageName: node + linkType: hard + +"jest-jasmine2@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-jasmine2@npm:24.9.0" + dependencies: + "@babel/traverse": "npm:^7.1.0" + "@jest/environment": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.0.1" + co: "npm:^4.6.0" + expect: "npm:^24.9.0" + is-generator-fn: "npm:^2.0.0" + jest-each: "npm:^24.9.0" + jest-matcher-utils: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-runtime: "npm:^24.9.0" + jest-snapshot: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + pretty-format: "npm:^24.9.0" + throat: "npm:^4.0.0" + checksum: 10c0/3491e9c8322358f18c0e9a8e2d99873512023b4b5eb0e8f5afc3df7a7d5c3fd0429c67cb1f5e470bc42cf33cb3d6745245d8c08b4da0e1cb69e7b647ed3d34a9 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-leak-detector@npm:24.9.0" + dependencies: + jest-get-type: "npm:^24.9.0" + pretty-format: "npm:^24.9.0" + checksum: 10c0/3d6cef76477d4ba6ef0d279d697708ed5f3e7d1ae45dc77fef69ea8afb115457e39dff4f71cac21febf0ecdf3639aa49e37bd05a6dedc4ff92116c6dccef1f2a + languageName: node + linkType: hard + +"jest-leak-detector@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-leak-detector@npm:29.7.0" + dependencies: + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/71bb9f77fc489acb842a5c7be030f2b9acb18574dc9fb98b3100fc57d422b1abc55f08040884bd6e6dbf455047a62f7eaff12aa4058f7cbdc11558718ca6a395 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-matcher-utils@npm:24.9.0" + dependencies: + chalk: "npm:^2.0.1" + jest-diff: "npm:^24.9.0" + jest-get-type: "npm:^24.9.0" + pretty-format: "npm:^24.9.0" + checksum: 10c0/f5cd624d22d77a105267cf6c50bec0dcf2627ccd385d461e8cf6a0a8a97ca8ecb0a6f2f4282f43a4c55bb5bc9047fa77e0e7a04bfb07a80f153a045bf5b1b57f + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-matcher-utils@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0d0e70b28fa5c7d4dce701dc1f46ae0922102aadc24ed45d594dd9b7ae0a8a6ef8b216718d1ab79e451291217e05d4d49a82666e1a3cc2b428b75cd9c933244e + languageName: node + linkType: hard + +"jest-message-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-message-util@npm:24.9.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + "@types/stack-utils": "npm:^1.0.1" + chalk: "npm:^2.0.1" + micromatch: "npm:^3.1.10" + slash: "npm:^2.0.0" + stack-utils: "npm:^1.0.1" + checksum: 10c0/24d0d5bae7bf580179446def5c6a3b1c6ea727b39464d84388393b1b7e653beeac7f2dd3a9fe57d31e780d5555eaf9ed1cf224c3437f3b270c32e7ca37db0013 + languageName: node + linkType: hard + +"jest-message-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-message-util@npm:29.7.0" + dependencies: + "@babel/code-frame": "npm:^7.12.13" + "@jest/types": "npm:^29.6.3" + "@types/stack-utils": "npm:^2.0.0" + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + micromatch: "npm:^4.0.4" + pretty-format: "npm:^29.7.0" + slash: "npm:^3.0.0" + stack-utils: "npm:^2.0.3" + checksum: 10c0/850ae35477f59f3e6f27efac5215f706296e2104af39232bb14e5403e067992afb5c015e87a9243ec4d9df38525ef1ca663af9f2f4766aa116f127247008bd22 + languageName: node + linkType: hard + +"jest-mock@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-mock@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + checksum: 10c0/a06ae0e76b0d270806e45298fdc9d637fe21d0e0efa8254845ac19a39b7d70a248a6f84b0341f36b2e062e9f225a0ee6ce68c1bdedb5f3a56635585ef8d6beb4 + languageName: node + linkType: hard + +"jest-mock@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-mock@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + checksum: 10c0/7b9f8349ee87695a309fe15c46a74ab04c853369e5c40952d68061d9dc3159a0f0ed73e215f81b07ee97a9faaf10aebe5877a9d6255068a0977eae6a9ff1d5ac + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.1": + version: 1.2.1 + resolution: "jest-pnp-resolver@npm:1.2.1" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 10c0/4b5f107ce0cb2ae582e3339e7e04c908aab05092edff32ec888bf82c5161a0cab92d85de0ec1c8bab63b48bc84e5b8561dd7e5b65092eca76332e4b8f351c5ee + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.2": + version: 1.2.3 + resolution: "jest-pnp-resolver@npm:1.2.3" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 10c0/86eec0c78449a2de733a6d3e316d49461af6a858070e113c97f75fb742a48c2396ea94150cbca44159ffd4a959f743a47a8b37a792ef6fdad2cf0a5cba973fac + languageName: node + linkType: hard + +"jest-regex-util@npm:^24.3.0, jest-regex-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-regex-util@npm:24.9.0" + checksum: 10c0/6a4dfda09d47c486eaeafafd2d836bdfc3dbeccef7d3e11d3a230f27078accbe51b694bc64d9efb7654d7f5acaa6ba70416d99d4ec97d33e452aa856d2cda03a + languageName: node + linkType: hard + +"jest-regex-util@npm:^29.6.3": + version: 29.6.3 + resolution: "jest-regex-util@npm:29.6.3" + checksum: 10c0/4e33fb16c4f42111159cafe26397118dcfc4cf08bc178a67149fb05f45546a91928b820894572679d62559839d0992e21080a1527faad65daaae8743a5705a3b + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve-dependencies@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + jest-regex-util: "npm:^24.3.0" + jest-snapshot: "npm:^24.9.0" + checksum: 10c0/22c90dc8652b582e55913b1a7ce642d9f9032bcadeaf535b86e3cd7fc885e48a26ec39f8b8a027fbb2d2c7dc71ae4393163b8132dd53d03b1002763e7305f07d + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve-dependencies@npm:29.7.0" + dependencies: + jest-regex-util: "npm:^29.6.3" + jest-snapshot: "npm:^29.7.0" + checksum: 10c0/b6e9ad8ae5b6049474118ea6441dfddd385b6d1fc471db0136f7c8fbcfe97137a9665e4f837a9f49f15a29a1deb95a14439b7aec812f3f99d08f228464930f0d + languageName: node + linkType: hard + +"jest-resolve@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + browser-resolve: "npm:^1.11.3" + chalk: "npm:^2.0.1" + jest-pnp-resolver: "npm:^1.2.1" + realpath-native: "npm:^1.1.0" + checksum: 10c0/2cd4c0abdd3899d237e93ddfe2473c084bb55bb5c03c1415e61218330c8f07ca516804cc43aaf04d0e0c0079f6d4c77b34d9e3396cb9ce86ae515970c58a4778 + languageName: node + linkType: hard + +"jest-resolve@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-resolve@npm:29.7.0" + dependencies: + chalk: "npm:^4.0.0" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-pnp-resolver: "npm:^1.2.2" + jest-util: "npm:^29.7.0" + jest-validate: "npm:^29.7.0" + resolve: "npm:^1.20.0" + resolve.exports: "npm:^2.0.0" + slash: "npm:^3.0.0" + checksum: 10c0/59da5c9c5b50563e959a45e09e2eace783d7f9ac0b5dcc6375dea4c0db938d2ebda97124c8161310082760e8ebbeff9f6b177c15ca2f57fb424f637a5d2adb47 + languageName: node + linkType: hard + +"jest-runner@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runner@npm:24.9.0" + dependencies: + "@jest/console": "npm:^24.7.1" + "@jest/environment": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.4.2" + exit: "npm:^0.1.2" + graceful-fs: "npm:^4.1.15" + jest-config: "npm:^24.9.0" + jest-docblock: "npm:^24.3.0" + jest-haste-map: "npm:^24.9.0" + jest-jasmine2: "npm:^24.9.0" + jest-leak-detector: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-resolve: "npm:^24.9.0" + jest-runtime: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-worker: "npm:^24.6.0" + source-map-support: "npm:^0.5.6" + throat: "npm:^4.0.0" + checksum: 10c0/09a3f969d0fa75bc67ff9b3424d6d4a7d74c393868d6782db7485cee0d334f6d56a4e50fb06ff9a28f6102a09a84a402a5bfacf37725786e9112d4b0e9f1bb4b + languageName: node + linkType: hard + +"jest-runner@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runner@npm:29.7.0" + dependencies: + "@jest/console": "npm:^29.7.0" + "@jest/environment": "npm:^29.7.0" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + graceful-fs: "npm:^4.2.9" + jest-docblock: "npm:^29.7.0" + jest-environment-node: "npm:^29.7.0" + jest-haste-map: "npm:^29.7.0" + jest-leak-detector: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-resolve: "npm:^29.7.0" + jest-runtime: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + jest-watcher: "npm:^29.7.0" + jest-worker: "npm:^29.7.0" + p-limit: "npm:^3.1.0" + source-map-support: "npm:0.5.13" + checksum: 10c0/2194b4531068d939f14c8d3274fe5938b77fa73126aedf9c09ec9dec57d13f22c72a3b5af01ac04f5c1cf2e28d0ac0b4a54212a61b05f10b5d6b47f2a1097bb4 + languageName: node + linkType: hard + +"jest-runtime@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runtime@npm:24.9.0" + dependencies: + "@jest/console": "npm:^24.7.1" + "@jest/environment": "npm:^24.9.0" + "@jest/source-map": "npm:^24.3.0" + "@jest/transform": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + "@types/yargs": "npm:^13.0.0" + chalk: "npm:^2.0.1" + exit: "npm:^0.1.2" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.1.15" + jest-config: "npm:^24.9.0" + jest-haste-map: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-mock: "npm:^24.9.0" + jest-regex-util: "npm:^24.3.0" + jest-resolve: "npm:^24.9.0" + jest-snapshot: "npm:^24.9.0" + jest-util: "npm:^24.9.0" + jest-validate: "npm:^24.9.0" + realpath-native: "npm:^1.1.0" + slash: "npm:^2.0.0" + strip-bom: "npm:^3.0.0" + yargs: "npm:^13.3.0" + bin: + jest-runtime: ./bin/jest-runtime.js + checksum: 10c0/7115541f172d4b8eb53429ba70708788c3594388f1941e0f96c7b318e8730fdb5056cdb764dfc1941aeb6ca971424b39608108c218ed38f6c09cb3d8977732e9 + languageName: node + linkType: hard + +"jest-runtime@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-runtime@npm:29.7.0" + dependencies: + "@jest/environment": "npm:^29.7.0" + "@jest/fake-timers": "npm:^29.7.0" + "@jest/globals": "npm:^29.7.0" + "@jest/source-map": "npm:^29.6.3" + "@jest/test-result": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + cjs-module-lexer: "npm:^1.0.0" + collect-v8-coverage: "npm:^1.0.0" + glob: "npm:^7.1.3" + graceful-fs: "npm:^4.2.9" + jest-haste-map: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-mock: "npm:^29.7.0" + jest-regex-util: "npm:^29.6.3" + jest-resolve: "npm:^29.7.0" + jest-snapshot: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + slash: "npm:^3.0.0" + strip-bom: "npm:^4.0.0" + checksum: 10c0/7cd89a1deda0bda7d0941835434e44f9d6b7bd50b5c5d9b0fc9a6c990b2d4d2cab59685ab3cb2850ed4cc37059f6de903af5a50565d7f7f1192a77d3fd6dd2a6 + languageName: node + linkType: hard + +"jest-serializer@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-serializer@npm:24.9.0" + checksum: 10c0/9f871cdd08750f1b9f5aef0e8ba58d2045863b4ff2268dd50f3e6d666b6eb5a9a45dad9c6dfad9d2ab2d148f78d11e2ef29d28be85b31a4e8068c718d449f623 + languageName: node + linkType: hard + +"jest-snapshot@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-snapshot@npm:24.9.0" + dependencies: + "@babel/types": "npm:^7.0.0" + "@jest/types": "npm:^24.9.0" + chalk: "npm:^2.0.1" + expect: "npm:^24.9.0" + jest-diff: "npm:^24.9.0" + jest-get-type: "npm:^24.9.0" + jest-matcher-utils: "npm:^24.9.0" + jest-message-util: "npm:^24.9.0" + jest-resolve: "npm:^24.9.0" + mkdirp: "npm:^0.5.1" + natural-compare: "npm:^1.4.0" + pretty-format: "npm:^24.9.0" + semver: "npm:^6.2.0" + checksum: 10c0/1631108e7dfc82585005a5e14b5e0778bdb756f1435c34142a229fa7cde3b965767ed4ad84f915e81bd33a7b821da5b5755c30e13e5280c048817a9c9423d6c3 + languageName: node + linkType: hard + +"jest-snapshot@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-snapshot@npm:29.7.0" + dependencies: + "@babel/core": "npm:^7.11.6" + "@babel/generator": "npm:^7.7.2" + "@babel/plugin-syntax-jsx": "npm:^7.7.2" + "@babel/plugin-syntax-typescript": "npm:^7.7.2" + "@babel/types": "npm:^7.3.3" + "@jest/expect-utils": "npm:^29.7.0" + "@jest/transform": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + babel-preset-current-node-syntax: "npm:^1.0.0" + chalk: "npm:^4.0.0" + expect: "npm:^29.7.0" + graceful-fs: "npm:^4.2.9" + jest-diff: "npm:^29.7.0" + jest-get-type: "npm:^29.6.3" + jest-matcher-utils: "npm:^29.7.0" + jest-message-util: "npm:^29.7.0" + jest-util: "npm:^29.7.0" + natural-compare: "npm:^1.4.0" + pretty-format: "npm:^29.7.0" + semver: "npm:^7.5.3" + checksum: 10c0/6e9003c94ec58172b4a62864a91c0146513207bedf4e0a06e1e2ac70a4484088a2683e3a0538d8ea913bcfd53dc54a9b98a98cdfa562e7fe1d1339aeae1da570 + languageName: node + linkType: hard + +"jest-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-util@npm:24.9.0" + dependencies: + "@jest/console": "npm:^24.9.0" + "@jest/fake-timers": "npm:^24.9.0" + "@jest/source-map": "npm:^24.9.0" + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + callsites: "npm:^3.0.0" + chalk: "npm:^2.0.1" + graceful-fs: "npm:^4.1.15" + is-ci: "npm:^2.0.0" + mkdirp: "npm:^0.5.1" + slash: "npm:^2.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/80bd56f09be4d9d6519b24f8b902f434cefbb1cdc8521bf2f32995a4e9f5abecc88a6172c31494b88df3cd2df3db5daf86271c4f200856aa7dd216e2a69f20fc + languageName: node + linkType: hard + +"jest-util@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-util@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + chalk: "npm:^4.0.0" + ci-info: "npm:^3.2.0" + graceful-fs: "npm:^4.2.9" + picomatch: "npm:^2.2.3" + checksum: 10c0/bc55a8f49fdbb8f51baf31d2a4f312fb66c9db1483b82f602c9c990e659cdd7ec529c8e916d5a89452ecbcfae4949b21b40a7a59d4ffc0cd813a973ab08c8150 + languageName: node + linkType: hard + +"jest-validate@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-validate@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + camelcase: "npm:^5.3.1" + chalk: "npm:^2.0.1" + jest-get-type: "npm:^24.9.0" + leven: "npm:^3.1.0" + pretty-format: "npm:^24.9.0" + checksum: 10c0/ed34bb40c758bd0287e1f8563b9589dd056ceb22cbb3e93fcfe0421100aaca7c14db511d6555fae5fdacf9948b10fc69620e5b0d3a3dfbdb62acbb27f9e7ee86 + languageName: node + linkType: hard + +"jest-validate@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-validate@npm:29.7.0" + dependencies: + "@jest/types": "npm:^29.6.3" + camelcase: "npm:^6.2.0" + chalk: "npm:^4.0.0" + jest-get-type: "npm:^29.6.3" + leven: "npm:^3.1.0" + pretty-format: "npm:^29.7.0" + checksum: 10c0/a20b930480c1ed68778c739f4739dce39423131bc070cd2505ddede762a5570a256212e9c2401b7ae9ba4d7b7c0803f03c5b8f1561c62348213aba18d9dbece2 + languageName: node + linkType: hard + +"jest-watcher@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-watcher@npm:24.9.0" + dependencies: + "@jest/test-result": "npm:^24.9.0" + "@jest/types": "npm:^24.9.0" + "@types/yargs": "npm:^13.0.0" + ansi-escapes: "npm:^3.0.0" + chalk: "npm:^2.0.1" + jest-util: "npm:^24.9.0" + string-length: "npm:^2.0.0" + checksum: 10c0/5aeffd74f4fc6fba6d31c3b6cfc03ae62d0db23583832b9929ad8e77a7cdb6e6727f197e6a55e8182b3726665bd7f444636713510bc47c8aeae3316f22851c6a + languageName: node + linkType: hard + +"jest-watcher@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-watcher@npm:29.7.0" + dependencies: + "@jest/test-result": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + "@types/node": "npm:*" + ansi-escapes: "npm:^4.2.1" + chalk: "npm:^4.0.0" + emittery: "npm:^0.13.1" + jest-util: "npm:^29.7.0" + string-length: "npm:^4.0.1" + checksum: 10c0/ec6c75030562fc8f8c727cb8f3b94e75d831fc718785abfc196e1f2a2ebc9a2e38744a15147170039628a853d77a3b695561ce850375ede3a4ee6037a2574567 + languageName: node + linkType: hard + +"jest-worker@npm:^24.0.0, jest-worker@npm:^24.6.0, jest-worker@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-worker@npm:24.9.0" + dependencies: + merge-stream: "npm:^2.0.0" + supports-color: "npm:^6.1.0" + checksum: 10c0/ea9f4751976d08807d33598244e6c3a60ce5889cdabf1f4e6f3e57dddcf2190978e6284f0865326f64e93677cebac53220d71a52e57d1205c467c6f09efa8bc2 + languageName: node + linkType: hard + +"jest-worker@npm:^29.7.0": + version: 29.7.0 + resolution: "jest-worker@npm:29.7.0" + dependencies: + "@types/node": "npm:*" + jest-util: "npm:^29.7.0" + merge-stream: "npm:^2.0.0" + supports-color: "npm:^8.0.0" + checksum: 10c0/5570a3a005b16f46c131968b8a5b56d291f9bbb85ff4217e31c80bd8a02e7de799e59a54b95ca28d5c302f248b54cbffde2d177c2f0f52ffcee7504c6eabf660 + languageName: node + linkType: hard + +"jest@npm:*": + version: 24.9.0 + resolution: "jest@npm:24.9.0" + dependencies: + import-local: "npm:^2.0.0" + jest-cli: "npm:^24.9.0" + bin: + jest: ./bin/jest.js + checksum: 10c0/7ee16e7d96f7d110574ff6a5d1e7e6ab43534a2f161352a98c2cf04402e1c895e1353ce482477bf8d337c98fce92510a220dcc8435fe5e6c191bd6f348631319 + languageName: node + linkType: hard + +"jest@npm:^29.7.0": + version: 29.7.0 + resolution: "jest@npm:29.7.0" + dependencies: + "@jest/core": "npm:^29.7.0" + "@jest/types": "npm:^29.6.3" + import-local: "npm:^3.0.2" + jest-cli: "npm:^29.7.0" + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + bin: + jest: bin/jest.js + checksum: 10c0/f40eb8171cf147c617cc6ada49d062fbb03b4da666cb8d39cdbfb739a7d75eea4c3ca150fb072d0d273dce0c753db4d0467d54906ad0293f59c54f9db4a09d8b + languageName: node + linkType: hard + +"js-levenshtein@npm:^1.1.3": + version: 1.1.6 + resolution: "js-levenshtein@npm:1.1.6" + checksum: 10c0/14045735325ea1fd87f434a74b11d8a14380f090f154747e613529c7cff68b5ee607f5230fa40665d5fb6125a3791f4c223f73b9feca754f989b059f5c05864f + languageName: node + linkType: hard + +"js-reporters@npm:1.2.1": + version: 1.2.1 + resolution: "js-reporters@npm:1.2.1" + checksum: 10c0/48cace0266099c7cb675b34db8a396ca6b382f77ea289a3670b2a2e5764046604c6926ebdef2a899f71c6fbaefd669e5ef9ba6ddcd71e6bad0c9de1790156d35 + languageName: node + linkType: hard + +"js-starter@workspace:examples/js-starter": + version: 0.0.0-use.local + resolution: "js-starter@workspace:examples/js-starter" + dependencies: + "@babel/core": "npm:*" + "@babel/plugin-proposal-class-properties": "npm:^7.5.5" + "@babel/plugin-proposal-decorators": "npm:^7.4.4" + "@babel/preset-env": "npm:^7.5.5" + "@babel/preset-react": "npm:^7.0.0" + "@type-r/models": "npm:^4.1.0" + "@type-r/react": "npm:^4.1.0" + babel-loader: "npm:*" + css-loader: "npm:*" + react: "npm:^16.1.1" + react-dom: "npm:^16.1.1" + source-map-loader: "npm:*" + style-loader: "npm:*" + webpack: "npm:^4.38.0" + webpack-cli: "npm:^3.3.6" + languageName: unknown + linkType: soft + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 10c0/e248708d377aa058eacf2037b07ded847790e6de892bbad3dac0abba2e759cb9f121b00099a65195616badcb6eca8d14d975cb3e89eb1cfda644756402c8aeed + languageName: node + linkType: hard + +"js-yaml@npm:^3.13.1": + version: 3.15.0 + resolution: "js-yaml@npm:3.15.0" + dependencies: + argparse: "npm:^1.0.7" + esprima: "npm:^4.0.0" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/ca966bd354ac5b1b7a4694ebdba46526796aa3a6a99529fa540af2abf85918bd155a50ccc0166b413130a00622999973754458ec01e7095bc902177bfdbd5b64 + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: 10c0/e046e05c59ff880ee4ef68902dbdcb6d2f3c5d60c357d4d68647dc23add556c31c0e5f41bdb7e69e793dd63468bd9e085da3636341048ef577b18f5b713877c0 + languageName: node + linkType: hard + +"jsdom@npm:^11.5.1": + version: 11.12.0 + resolution: "jsdom@npm:11.12.0" + dependencies: + abab: "npm:^2.0.0" + acorn: "npm:^5.5.3" + acorn-globals: "npm:^4.1.0" + array-equal: "npm:^1.0.0" + cssom: "npm:>= 0.3.2 < 0.4.0" + cssstyle: "npm:^1.0.0" + data-urls: "npm:^1.0.0" + domexception: "npm:^1.0.1" + escodegen: "npm:^1.9.1" + html-encoding-sniffer: "npm:^1.0.2" + left-pad: "npm:^1.3.0" + nwsapi: "npm:^2.0.7" + parse5: "npm:4.0.0" + pn: "npm:^1.1.0" + request: "npm:^2.87.0" + request-promise-native: "npm:^1.0.5" + sax: "npm:^1.2.4" + symbol-tree: "npm:^3.2.2" + tough-cookie: "npm:^2.3.4" + w3c-hr-time: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + whatwg-encoding: "npm:^1.0.3" + whatwg-mimetype: "npm:^2.1.0" + whatwg-url: "npm:^6.4.1" + ws: "npm:^5.2.0" + xml-name-validator: "npm:^3.0.0" + checksum: 10c0/a909aa35527a337a55ddd66f99a0993d24e5a42ce5ef1ae0724a5fef5c9b4799f763dfd65d33798ca1feb83c604716aa054241e2b4b2274de2caa9566156566a + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + languageName: node + linkType: hard + +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 10c0/f93792440ae1d80f091b65f8ceddf8e55c4bb7f1a09dee5dcbdb0db5612c55c0f6045625aa6b7e8edb2e0a4feabd80ee48616dbe2d37055573a84db3d24f96d9 + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: 10c0/2f1287a7c833e397c9ddd361a78638e828fc523038bb3441fd4fc144cfd2c6cd4963ffb9e207e648cf7b692600f1e1e524e965c32df5152120910e4903a47dcb + languageName: node + linkType: hard + +"json-parse-even-better-errors@npm:^2.3.0": + version: 2.3.1 + resolution: "json-parse-even-better-errors@npm:2.3.1" + checksum: 10c0/140932564c8f0b88455432e0f33c4cb4086b8868e37524e07e723f4eaedb9425bdc2bafd71bd1d9765bd15fd1e2d126972bc83990f55c467168c228c24d665f3 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: 10c0/141b3fdfe69a9fa662b9bca10933204b200bd30a6431e6bb90b9fbd9d056c352ede171386c77459440208800e2339936e08dfa8af44a0979c909b6b5769bcda3 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 + languageName: node + linkType: hard + +"json5@npm:^1.0.1": + version: 1.0.1 + resolution: "json5@npm:1.0.1" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/7f75dd797151680a4e14c4224c1343b32a43272aa6e6333ddec2b0822df4ea116971689b251879a1248592da24f7929902c13f83d7390c3f3d44f18e8e9719f5 + languageName: node + linkType: hard + +"json5@npm:^2.1.0": + version: 2.1.0 + resolution: "json5@npm:2.1.0" + dependencies: + minimist: "npm:^1.2.0" + bin: + json5: lib/cli.js + checksum: 10c0/b82adc778f45aa59913bce391a5d6f4f806be084a70ad09da8927205c5abbd38fff40e0a504a9720dfc57b46d73a1143bfac85d1d30b652d33ff962cd30d4bfe + languageName: node + linkType: hard + +"json5@npm:^2.2.3": + version: 2.2.3 + resolution: "json5@npm:2.2.3" + bin: + json5: lib/cli.js + checksum: 10c0/5a04eed94810fa55c5ea138b2f7a5c12b97c3750bc63d11e511dcecbfef758003861522a070c2272764ee0f4e3e323862f386945aeb5b85b87ee43f084ba586c + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" + dependencies: + assert-plus: "npm:1.0.0" + extsprintf: "npm:1.3.0" + json-schema: "npm:0.2.3" + verror: "npm:1.10.0" + checksum: 10c0/e457bd0d5f7eb11477708d77ed37a7dae88caf8226dc807a1a7d320bdb1085b7e3f89c057c2cbbcd543be41bbb934231549ef3842c9a5bbf2def940f2d07a841 + languageName: node + linkType: hard + +"just-extend@npm:^4.0.2": + version: 4.0.2 + resolution: "just-extend@npm:4.0.2" + checksum: 10c0/92a1efd9ab30078e9bec97a5cc92d0762afcfe778450cc4a80c9202ffffd16a9155f6387792bd6f66edeb0527b5d621da07d681d19ce69f01562e56c4c0dbf2c + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/7e34bc29d4b02c997f92f080de34ebb92033a96736bbb0bb2410e033a7e5ae6571f1fa37b2d7710018f95361473b816c604234197f4f203f9cf149d8ef1574d9 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: "npm:^1.1.5" + checksum: 10c0/d6c44c75ee36898142dfc7106afbd50593216c37f96acb81a7ab33ca1a6938ce97d5692b8fc8fccd035f83811a9d97749d68771116441a48eedd0b68e2973165 + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: 10c0/fe85b7a2ed4b4d5a12e16e01d00d5c336e1760842fe0da38283605b9880c984288935e87b13138909e4d23d2d197a1d492f7393c6638d2c0fab8a900c4fb0392 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2": + version: 6.0.2 + resolution: "kind-of@npm:6.0.2" + checksum: 10c0/705109f53f5abc91d187dddaa3022a008ad7fae3f13add7bb3c586e20a7c048e2e03a6e304658247d44680cc0e4c8a7a0081ccf1a73999fb3c9b7b23b48a2a1e + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 10c0/cd3a0b8878e7d6d3799e54340efe3591ca787d9f95f109f28129bdd2915e37807bf8918bb295ab86afb8c82196beec5a1adcaf29042ce3f2bd932b038fe3aa4b + languageName: node + linkType: hard + +"lcid@npm:^2.0.0": + version: 2.0.0 + resolution: "lcid@npm:2.0.0" + dependencies: + invert-kv: "npm:^2.0.0" + checksum: 10c0/53777f5946ee7cfa600ebdd8f18019c110f5ca1fd776e183a1f24e74cd200eb3718e535b2693caf762af1efed0714559192a095c4665e7808fd6d807b9797502 + languageName: node + linkType: hard + +"left-pad@npm:^1.3.0": + version: 1.3.0 + resolution: "left-pad@npm:1.3.0" + checksum: 10c0/3fb59c76e281a2f5c810ad71dbbb8eba8b10c6cf94733dc7f27b8c516a5376cacea53543e76f6ae477d866c8954b27f1e15ca349424c2542474eb5bb1d2b6955 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 10c0/cd778ba3fbab0f4d0500b7e87d1f6e1f041507c56fdcd47e8256a3012c98aaee371d4c15e0a76e0386107af2d42e2b7466160a2d80688aaa03e66e49949f42df + languageName: node + linkType: hard + +"levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + checksum: 10c0/e440df9de4233da0b389cd55bd61f0f6aaff766400bebbccd1231b81801f6dbc1d816c676ebe8d70566394b749fa624b1ed1c68070e9c94999f0bdecc64cb676 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.2.4 + resolution: "lines-and-columns@npm:1.2.4" + checksum: 10c0/3da6ee62d4cd9f03f5dc90b4df2540fb85b352081bee77fe4bbcd12c9000ead7f35e0a38b8d09a9bb99b13223446dd8689ff3c4959807620726d788701a83d2d + languageName: node + linkType: hard + +"load-json-file@npm:^4.0.0": + version: 4.0.0 + resolution: "load-json-file@npm:4.0.0" + dependencies: + graceful-fs: "npm:^4.1.2" + parse-json: "npm:^4.0.0" + pify: "npm:^3.0.0" + strip-bom: "npm:^3.0.0" + checksum: 10c0/6b48f6a0256bdfcc8970be2c57f68f10acb2ee7e63709b386b2febb6ad3c86198f840889cdbe71d28f741cbaa2f23a7771206b138cd1bdd159564511ca37c1d5 + languageName: node + linkType: hard + +"loader-runner@npm:^2.4.0": + version: 2.4.0 + resolution: "loader-runner@npm:2.4.0" + checksum: 10c0/1f723bd8318453c2d073d7befbf891ba6d2a02f22622688bf7d22e7ba527a0f9476c7fdfedc6bfa2b55c0389d9f406f3a5239ed1b33c9088d77cfed085086a1e + languageName: node + linkType: hard + +"loader-utils@npm:1.2.3, loader-utils@npm:^1.0.2, loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3": + version: 1.2.3 + resolution: "loader-utils@npm:1.2.3" + dependencies: + big.js: "npm:^5.2.2" + emojis-list: "npm:^2.0.0" + json5: "npm:^1.0.1" + checksum: 10c0/b4242988adf5d50e7a3dd7b2f0c7b6534ea580a27ae4f8ba226aea3219d8a72ffb6d1a9b200fc8e0435e38a22bce740b094f57be8d0142a3f1a75e610159235b + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: "npm:^3.0.0" + path-exists: "npm:^3.0.0" + checksum: 10c0/3db394b7829a7fe2f4fbdd25d3c4689b85f003c318c5da4052c7e56eed697da8f1bce5294f685c69ff76e32cba7a33629d94396976f6d05fb7f4c755c5e2ae8b + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: "npm:^4.1.0" + checksum: 10c0/33a1c5247e87e022f9713e6213a744557a3e9ec32c5d0b5efb10aa3a38177615bf90221a5592674857039c1a0fd2063b82f285702d37b792d973e9e72ace6c59 + languageName: node + linkType: hard + +"lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 10c0/c8713e51eccc650422716a14cece1809cfe34bc5ab5e242b7f8b4e2241c2483697b971a604252807689b9dd69bfe3a98852e19a5b89d506b000b4187a1285df8 + languageName: node + linkType: hard + +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 + languageName: node + linkType: hard + +"lodash@npm:^4.17.11, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.15": + version: 4.17.15 + resolution: "lodash@npm:4.17.15" + checksum: 10c0/c029ab298357d007252d5802348f1deb343099ba734ae6e6776a908e4995db5b8ed4ae51ff83a2937a1f6e3c41a0c8941eb941926e1a7f2ddfc3d235ec1e8aa7 + languageName: node + linkType: hard + +"lolex@npm:^4.1.0, lolex@npm:^4.2.0": + version: 4.2.0 + resolution: "lolex@npm:4.2.0" + checksum: 10c0/b56fbffec393eaaff0f950e528ab7762507527743e4678646a485a0049c830d078960a66a2ddc68ddfde72cbbdde5bc98d9fbe7c487b419317d293d978e8ab20 + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: "npm:^3.0.0 || ^4.0.0" + bin: + loose-envify: cli.js + checksum: 10c0/655d110220983c1a4b9c0c679a2e8016d4b67f6e9c7b5435ff5979ecdb20d0813f4dec0a08674fcbdd4846a3f07edbb50a36811fd37930b94aaa0d9daceb017e + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: "npm:^3.0.2" + checksum: 10c0/89b2ef2ef45f543011e38737b8a8622a2f8998cddf0e5437174ef8f1f70a8b9d14a918ab3e232cb3ba343b7abddffa667f0b59075b2b80e6b4d63c3de6127482 + languageName: node + linkType: hard + +"magic-string@npm:^0.25.2": + version: 0.25.3 + resolution: "magic-string@npm:0.25.3" + dependencies: + sourcemap-codec: "npm:^1.4.4" + checksum: 10c0/06edcb8a3b72df72a7884765554a214a556c53ac407cb2994f56a85ef7c03b986ff786dcea48b3f1809d8909e24793819ee3a766edb66725536cca7e4cc062dc + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: "npm:^4.0.1" + semver: "npm:^5.6.0" + checksum: 10c0/ada869944d866229819735bee5548944caef560d7a8536ecbc6536edca28c72add47cc4f6fc39c54fb25d06b58da1f8994cf7d9df7dadea047064749efc085d8 + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"make-error@npm:^1.3.6": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"makeerror@npm:1.0.12": + version: 1.0.12 + resolution: "makeerror@npm:1.0.12" + dependencies: + tmpl: "npm:1.0.5" + checksum: 10c0/b0e6e599780ce6bab49cc413eba822f7d1f0dfebd1c103eaa3785c59e43e22c59018323cf9e1708f0ef5329e94a745d163fcbb6bff8e4c6742f9be9e86f3500c + languageName: node + linkType: hard + +"makeerror@npm:1.0.x": + version: 1.0.11 + resolution: "makeerror@npm:1.0.11" + dependencies: + tmpl: "npm:1.0.x" + checksum: 10c0/b24a6f55ee7e4e3ebd39fcebedadabd02a6ab60a58be87037d02ec8e633cb3a65492b8d107387ec2edbdc2b93aafcad9b4de53657cb70e6716b03f7b0f263dc8 + languageName: node + linkType: hard + +"mamacro@npm:^0.0.3": + version: 0.0.3 + resolution: "mamacro@npm:0.0.3" + checksum: 10c0/92330b9b5c2df77fc451c50907f9398fe507e6d302da9db6fa0c2f615fe5cb223220f63b02788ce20e8b41b2790695ca7581db4e5602a47bc5dd2cb072156935 + languageName: node + linkType: hard + +"map-age-cleaner@npm:^0.1.1": + version: 0.1.3 + resolution: "map-age-cleaner@npm:0.1.3" + dependencies: + p-defer: "npm:^1.0.0" + checksum: 10c0/7495236c7b0950956c144fd8b4bc6399d4e78072a8840a4232fe1c4faccbb5eb5d842e5c0a56a60afc36d723f315c1c672325ca03c1b328650f7fcc478f385fd + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 10c0/05e3eb005c1b80b9f949ca007687640e8c5d0fc88dc45c3c3ab4902a3bec79d66a58f3e3b04d6985d90cd267c629c7b46c977e9c34433e8c11ecfcbb9f0fa290 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: "npm:^1.0.0" + checksum: 10c0/fb3475e5311939a6147e339999113db607adc11c7c3cd3103e5e9dbf502898416ecba6b1c7c649c6d4d12941de00cee58b939756bdf20a9efe7d4fa5a5738b73 + languageName: node + linkType: hard + +"marked@npm:^0.3.0": + version: 0.3.19 + resolution: "marked@npm:0.3.19" + bin: + marked: ./bin/marked + checksum: 10c0/ee5e268716de56a7543c245268d72e5eb1a66f67022e0392cab9744b3b38768d1db289c173679ff696cdbf1bcd82ff10520cae2296f3293989e07a17f9218705 + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/b7bd75077f419c8e013fc4d4dada48be71882e37d69a44af65a2f2804b91e253441eb43a0614423a1c91bb830b8140b0dc906bc797245e2e275759584f4efcc5 + languageName: node + linkType: hard + +"mem@npm:^4.0.0": + version: 4.3.0 + resolution: "mem@npm:4.3.0" + dependencies: + map-age-cleaner: "npm:^0.1.1" + mimic-fn: "npm:^2.0.0" + p-is-promise: "npm:^2.0.0" + checksum: 10c0/fc74e16d877322aafe869fe92a5c3109b1683195f4ef507920322a2fc8cd9998f3299f716c9853e10304c06a528fd9b763de24bdd7ce0b448155f05c9fad8612 + languageName: node + linkType: hard + +"memory-fs@npm:^0.4.0, memory-fs@npm:^0.4.1": + version: 0.4.1 + resolution: "memory-fs@npm:0.4.1" + dependencies: + errno: "npm:^0.1.3" + readable-stream: "npm:^2.0.1" + checksum: 10c0/f114c44ad8285103cb0e71420cf5bb628d3eb6cbd918197f5951590ff56ba2072f4a97924949c170320cdf180d2da4e8d16a0edd92ba0ca2d2de51dc932841e2 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"micromatch@npm:^3.0.4, micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + braces: "npm:^2.3.1" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + extglob: "npm:^2.0.4" + fragment-cache: "npm:^0.2.1" + kind-of: "npm:^6.0.2" + nanomatch: "npm:^1.2.9" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.2" + checksum: 10c0/531a32e7ac92bef60657820202be71b63d0f945c08a69cc4c239c0b19372b751483d464a850a2e3a5ff6cc9060641e43d44c303af104c1a27493d137d8af017f + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: "npm:^4.0.0" + brorand: "npm:^1.0.1" + bin: + miller-rabin: bin/miller-rabin + checksum: 10c0/26b2b96f6e49dbcff7faebb78708ed2f5f9ae27ac8cbbf1d7c08f83cf39bed3d418c0c11034dce997da70d135cc0ff6f3a4c15dc452f8e114c11986388a64346 + languageName: node + linkType: hard + +"mime-db@npm:1.40.0": + version: 1.40.0 + resolution: "mime-db@npm:1.40.0" + checksum: 10c0/ba1f62bda33c5a413d93420dc94b5763205fcc37094d3528349d20756d7623b3a4d20bf6526942ab6192f00a1e97c1e5abfe3c732e7bab331393652ca818d1cf + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:~2.1.19": + version: 2.1.24 + resolution: "mime-types@npm:2.1.24" + dependencies: + mime-db: "npm:1.40.0" + checksum: 10c0/01960b9e2f5dc77f15e3858beb512243681535c6ca92954952185e4f8cc194910f5f4a9194454298c94562f1bedc3243a18ba1b6ddebe36c34b7ed43f8d39762 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.0.0, mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.0, minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 10c0/790ecec8c5c73973a4fbf2c663d911033e8494d5fb0960a4500634766ab05d6107d20af896ca2132e7031741f19888154d44b2408ada0852446705441383e9f8 + languageName: node + linkType: hard + +"minimatch@npm:3.0.4, minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/d0a2bcd93ebec08a9eef3ca83ba33c9fb6feb93932e0b4dc6aa46c5f37a9404bea7ad9ff7cafe23ce6634f1fe3b206f5315ecbb05812da6e692c21d8ecfd3dae + languageName: node + linkType: hard + +"minimist@npm:0.0.8": + version: 0.0.8 + resolution: "minimist@npm:0.0.8" + checksum: 10c0/d0a998c3042922dbcd5f23566b52811d6977649ad089fd75dd89e8a9bff27634194900818b2dfb1b873f204edb902d0c8cdea9cb8dca8488b301f69bd522d5dc + languageName: node + linkType: hard + +"minimist@npm:^1.1.1, minimist@npm:^1.2.0": + version: 1.2.0 + resolution: "minimist@npm:1.2.0" + checksum: 10c0/0c9e882a4d31d217e12223a2881a2cc76a4659c20893c82c92b9355bace60b4a4d52d5fb412755212674765c4dd471e19de85458a400029fdd5d96cb18054aee + languageName: node + linkType: hard + +"minimist@npm:^1.2.5": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minimist@npm:~0.0.1": + version: 0.0.10 + resolution: "minimist@npm:0.0.10" + checksum: 10c0/c505a020144b6e49f2b1c7d1e378f3692b7102e989b4a49338fc171eb4229ddddb430e779ff803dcb11854050e3fe3c2298962a7d73c20df7c2044c92b2ba1da + languageName: node + linkType: hard + +"minipass@npm:^2.2.1, minipass@npm:^2.3.5": + version: 2.4.0 + resolution: "minipass@npm:2.4.0" + dependencies: + safe-buffer: "npm:^5.1.2" + yallist: "npm:^3.0.0" + checksum: 10c0/30bbcc7eab348b5cd8fd7092aa26cdce9934aa971e69ce3e405c34deb071d201205568a67b8c4539fc631b3ad8d51816296404bac604d712493ab52ca9ed480e + languageName: node + linkType: hard + +"minipass@npm:^7.0.4, minipass@npm:^7.1.2": + version: 7.1.3 + resolution: "minipass@npm:7.1.3" + checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb + languageName: node + linkType: hard + +"minizlib@npm:^1.2.1": + version: 1.2.1 + resolution: "minizlib@npm:1.2.1" + dependencies: + minipass: "npm:^2.2.1" + checksum: 10c0/e10fd7fec60582ea33d786712934aa9f78355759bdcd41dd2b2893dc62732b13cdda0cd03724c4d3ac8152f2305ed2edf6d2e123f1cbeb0c6794eb246a5d77ea + languageName: node + linkType: hard + +"minizlib@npm:^3.1.0": + version: 3.1.0 + resolution: "minizlib@npm:3.1.0" + dependencies: + minipass: "npm:^7.1.2" + checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec + languageName: node + linkType: hard + +"mississippi@npm:^3.0.0": + version: 3.0.0 + resolution: "mississippi@npm:3.0.0" + dependencies: + concat-stream: "npm:^1.5.0" + duplexify: "npm:^3.4.2" + end-of-stream: "npm:^1.1.0" + flush-write-stream: "npm:^1.0.0" + from2: "npm:^2.1.0" + parallel-transform: "npm:^1.1.0" + pump: "npm:^3.0.0" + pumpify: "npm:^1.3.3" + stream-each: "npm:^1.1.0" + through2: "npm:^2.0.0" + checksum: 10c0/97424a331ce1b9f789a0d3fa47d725dad9adfe5e0ead8bc458ba9fb51c4d2630df6b0966ca9dcbb4c90db48737d58126cbf0e3c170697bf41c265606efa91103 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: "npm:^1.0.2" + is-extendable: "npm:^1.0.1" + checksum: 10c0/cb39ffb73c377222391af788b4c83d1a6cecb2d9fceb7015384f8deb46e151a9b030c21ef59a79cb524d4557e3f74c7248ab948a62a6e7e296b42644863d183b + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1": + version: 0.5.1 + resolution: "mkdirp@npm:0.5.1" + dependencies: + minimist: "npm:0.0.8" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/e5ff572d761240a06dbfc69e1ea303d5482815a1f66033b999bd9d78583fcdc9ef63e99e61d396bbd57eca45b388af80a7f7f35f63510619c991c9d44c75341c + languageName: node + linkType: hard + +"move-concurrently@npm:^1.0.1": + version: 1.0.1 + resolution: "move-concurrently@npm:1.0.1" + dependencies: + aproba: "npm:^1.1.1" + copy-concurrently: "npm:^1.0.0" + fs-write-stream-atomic: "npm:^1.0.8" + mkdirp: "npm:^0.5.1" + rimraf: "npm:^2.5.4" + run-queue: "npm:^1.0.3" + checksum: 10c0/0fe81acf3bbbc322013c2f4ee4a48cf8d180a7d925fb9284c0f1f444e862d7eb0421ee074b68d35357a12f0d5e94a322049dc9da480672331b5b8895743eb66a + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10c0/f8fda810b39fd7255bbdc451c46286e549794fcc700dc9cd1d25658bbc4dc2563a5de6fe7c60f798a16a60c6ceb53f033cb353f493f0cf63e5199b702943159d + languageName: node + linkType: hard + +"ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:^2.1.3": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"nan@npm:^2.12.1": + version: 2.14.0 + resolution: "nan@npm:2.14.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/3774836ebb4084446e6b31cdf7c96662e59561be4a43299bd6aca5d2e360ddb0cec895959cfe70264489da55a89215ee15aeaebfe440e9a6bb0717796e47a16d + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: "npm:^4.0.0" + array-unique: "npm:^0.3.2" + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + fragment-cache: "npm:^0.2.1" + is-windows: "npm:^1.0.2" + kind-of: "npm:^6.0.2" + object.pick: "npm:^1.3.0" + regex-not: "npm:^1.0.0" + snapdragon: "npm:^0.8.1" + to-regex: "npm:^3.0.1" + checksum: 10c0/0f5cefa755ca2e20c86332821995effb24acb79551ddaf51c1b9112628cad234a0d8fd9ac6aa56ad1f8bfad6ff6ae86e851acb960943249d9fa44b091479953a + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"needle@npm:^2.2.1": + version: 2.4.0 + resolution: "needle@npm:2.4.0" + dependencies: + debug: "npm:^3.2.6" + iconv-lite: "npm:^0.4.4" + sax: "npm:^1.2.4" + bin: + needle: ./bin/needle + checksum: 10c0/3f64b77628b9fd792744592b5c6633d5a551671dca89057016e0b5d5009bf42f1e195d5096811d9cf97b300e1a7b9b581a500aa82f122cb53176260e06e6b316 + languageName: node + linkType: hard + +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.0, neo-async@npm:^2.6.1": + version: 2.6.1 + resolution: "neo-async@npm:2.6.1" + checksum: 10c0/1c365894ff582cfecaff1ec71179645fdf9593c89a745922996dd946f5f4cf0c7478c08c12347cb2dfba95fa78c0d00bbbca47b249178cba97ec637bb3396352 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.2": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: 10c0/c2f5a604a54a8ec5438a342e1f356dff4bc33ccccdb6dc668d94fe8e5eccfc9d2c2eea6064b0967a767ba63b33763f51ccf2cd2441b461a7322656c1f06b3f5d + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 10c0/95568c1b73e1d0d4069a3e3061a2102d854513d37bcfda73300015b7ba4868d3b27c198d1dbbd8ebdef4112fc2ed9e895d4a0f2e1cce0bd334f2a1346dc9205f + languageName: node + linkType: hard + +"nise@npm:^1.5.1": + version: 1.5.1 + resolution: "nise@npm:1.5.1" + dependencies: + "@sinonjs/formatio": "npm:^3.2.1" + "@sinonjs/text-encoding": "npm:^0.7.1" + just-extend: "npm:^4.0.2" + lolex: "npm:^4.1.0" + path-to-regexp: "npm:^1.7.0" + checksum: 10c0/fe2b160798a93465982268787e54208217e81b150eb9579b935e092638b3ed35570dbd948025754eb25f322ddfc183b4bc6f47ef598421592d507591c6e2bb0f + languageName: node + linkType: hard + +"nock@npm:^14.0.16": + version: 14.0.16 + resolution: "nock@npm:14.0.16" + dependencies: + "@mswjs/interceptors": "npm:^0.41.0" + json-stringify-safe: "npm:^5.0.1" + propagate: "npm:^2.0.0" + checksum: 10c0/c275834df286244c12fa1d456eee1bcfab09d2ce56ca27bf1009c8ba171979dcc0d3b373c352b6772afa37b26f4a6a01501e9fcd81b3be81c480b3bb7c8c64bc + languageName: node + linkType: hard + +"node-fetch@npm:^1.0.1": + version: 1.7.3 + resolution: "node-fetch@npm:1.7.3" + dependencies: + encoding: "npm:^0.1.11" + is-stream: "npm:^1.0.1" + checksum: 10c0/5a6b56b3edf909ccd20414355867d24f15f1885da3b26be90840241c46e63754ebf4697050f897daab676e3952d969611ffe1d4bc4506cf50f70837e20ad5328 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 13.0.1 + resolution: "node-gyp@npm:13.0.1" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + graceful-fs: "npm:^4.2.6" + nopt: "npm:^10.0.0" + proc-log: "npm:^7.0.0" + semver: "npm:^7.3.5" + tar: "npm:^7.5.4" + tinyglobby: "npm:^0.2.12" + undici: "npm:^8.4.1" + which: "npm:^7.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/424077bc9e9bbe953a8e86db473ba818cbc6a121714008c977fd589e21e5f0c811fbf22faac730dc7182450b5e52df301811d01ae3373898658d999b7710f4e6 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 10c0/a6a4d8369e2f2720e9c645255ffde909c0fbd41c92ea92a5607fc17055955daac99c1ff589d421eee12a0d24e99f7bfc2aabfeb1a4c14742f6c099a51863f31a + languageName: node + linkType: hard + +"node-libs-browser@npm:^2.2.1": + version: 2.2.1 + resolution: "node-libs-browser@npm:2.2.1" + dependencies: + assert: "npm:^1.1.1" + browserify-zlib: "npm:^0.2.0" + buffer: "npm:^4.3.0" + console-browserify: "npm:^1.1.0" + constants-browserify: "npm:^1.0.0" + crypto-browserify: "npm:^3.11.0" + domain-browser: "npm:^1.1.1" + events: "npm:^3.0.0" + https-browserify: "npm:^1.0.0" + os-browserify: "npm:^0.3.0" + path-browserify: "npm:0.0.1" + process: "npm:^0.11.10" + punycode: "npm:^1.2.4" + querystring-es3: "npm:^0.2.0" + readable-stream: "npm:^2.3.3" + stream-browserify: "npm:^2.0.1" + stream-http: "npm:^2.7.2" + string_decoder: "npm:^1.0.0" + timers-browserify: "npm:^2.0.4" + tty-browserify: "npm:0.0.0" + url: "npm:^0.11.0" + util: "npm:^0.11.0" + vm-browserify: "npm:^1.0.1" + checksum: 10c0/0e05321a6396408903ed642231d2bca7dd96492d074c7af161ba06a63c95378bd3de50b4105eccbbc02d93ba3da69f0ff5e624bc2a8c92ca462ceb6a403e7986 + languageName: node + linkType: hard + +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 10c0/d4a9b6425a18e9fadd38f21a7f7820b3bfda4663c7d3b9f80043e3f5f7e27a0a1e04f524077b00a15ae77148cd81319da5772900229d89541062f7e876b36763 + languageName: node + linkType: hard + +"node-notifier@npm:^5.4.2": + version: 5.4.3 + resolution: "node-notifier@npm:5.4.3" + dependencies: + growly: "npm:^1.3.0" + is-wsl: "npm:^1.1.0" + semver: "npm:^5.5.0" + shellwords: "npm:^0.1.1" + which: "npm:^1.3.0" + checksum: 10c0/a64cf4789ac5c88668a4660e2618ab90e1053eded829775a2ec2a4e7f20ba417a499ad3056969c51f85bffc5d8465ac88523de99a22050166c0bfce5f7969af9 + languageName: node + linkType: hard + +"node-pre-gyp@npm:^0.12.0": + version: 0.12.0 + resolution: "node-pre-gyp@npm:0.12.0" + dependencies: + detect-libc: "npm:^1.0.2" + mkdirp: "npm:^0.5.1" + needle: "npm:^2.2.1" + nopt: "npm:^4.0.1" + npm-packlist: "npm:^1.1.6" + npmlog: "npm:^4.0.2" + rc: "npm:^1.2.7" + rimraf: "npm:^2.6.1" + semver: "npm:^5.3.0" + tar: "npm:^4" + bin: + node-pre-gyp: ./bin/node-pre-gyp + checksum: 10c0/865cb13c9b43073563ee9dfe214fe153d2e5deff46b1ee04c5c94ec5a58597fe6fa7f15170fd2bbf79e8de115cca2d7fac7c128e7cde8d926a183917da893a44 + languageName: node + linkType: hard + +"node-releases@npm:^1.1.25": + version: 1.1.28 + resolution: "node-releases@npm:1.1.28" + dependencies: + semver: "npm:^5.3.0" + checksum: 10c0/8068ef4529b223489b81c2c043fa81f54f2c1d9f0bd5f7411d8d173d1cd45af0bc6c75cd46cae69e883d0359408a579418457b59a61b5fae8b92b009686444df + languageName: node + linkType: hard + +"node-releases@npm:^2.0.48": + version: 2.0.50 + resolution: "node-releases@npm:2.0.50" + checksum: 10c0/ac75ed433864114cfd9862034960bb4f49838343dc9fc31dc7d5be8189ce5f39510ad0bb3a697efe3193d50ab6921e7a3a6ce3aae2a6f8abe62719ffd40a4cac + languageName: node + linkType: hard + +"node-watch@npm:0.6.0": + version: 0.6.0 + resolution: "node-watch@npm:0.6.0" + checksum: 10c0/772e7990f76b738609483facf63b49a1231894710442f9d927a660d3fcd07f40144f428fbb2ebe9bceacbed406187f2fa9516dd4f593b47a39b1ac06849c0253 + languageName: node + linkType: hard + +"nopt@npm:^10.0.0": + version: 10.0.1 + resolution: "nopt@npm:10.0.1" + dependencies: + abbrev: "npm:^5.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/980d89257f9587f3e1f77877ddbf905d6aa3b738ec33e49a4fa1a059a0dd82eb28063982b150654a7ae9de386f2ead60e56172db7d37cf56de545f7392a2a26a + languageName: node + linkType: hard + +"nopt@npm:^4.0.1": + version: 4.0.1 + resolution: "nopt@npm:4.0.1" + dependencies: + abbrev: "npm:1" + osenv: "npm:^0.1.4" + bin: + nopt: ./bin/nopt.js + checksum: 10c0/7aa80ed08e5fc0298b48a0c5bff97c2dca0c8a93d6bbb463e562225d523b09a03c6b36915beb461eee3de3090654ae454e7313522253753c0faa69c768d63ceb + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.2": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: "npm:^2.1.4" + resolve: "npm:^1.10.0" + semver: "npm:2 || 3 || 4 || 5" + validate-npm-package-license: "npm:^3.0.1" + checksum: 10c0/357cb1646deb42f8eb4c7d42c4edf0eec312f3628c2ef98501963cc4bbe7277021b2b1d977f982b2edce78f5a1014613ce9cf38085c3df2d76730481357ca504 + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: "npm:^1.0.1" + checksum: 10c0/db814326ff88057437233361b4c7e9cac7b54815b051b57f2d341ce89b1d8ec8cbd43e7fa95d7652b3b69ea8fcc294b89b8530d556a84d1bdace94229e1e9a8b + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 10c0/e008c8142bcc335b5e38cf0d63cfd39d6cf2d97480af9abdbe9a439221fd4d749763bab492a8ee708ce7a194bb00c9da6d0a115018672310850489137b3da046 + languageName: node + linkType: hard + +"npm-bundled@npm:^1.0.1": + version: 1.0.6 + resolution: "npm-bundled@npm:1.0.6" + checksum: 10c0/18823149a84db0ed28fd130a590dad30134e01f8e5da66e161cbb7a1af95ea93a6186e497fcaf5e92533819451acdae68d62a2a754b77e7435bc7c4b51876a32 + languageName: node + linkType: hard + +"npm-packlist@npm:^1.1.6": + version: 1.4.4 + resolution: "npm-packlist@npm:1.4.4" + dependencies: + ignore-walk: "npm:^3.0.1" + npm-bundled: "npm:^1.0.1" + checksum: 10c0/36c8082012c54f780550a6bbe0136d79f16a8ed37f4338b6193fad6d39a07b78a232536ed64f3a1ec80ee52644f4816439e2382ea90eb448ac85cd9cd9e4b095 + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: "npm:^2.0.0" + checksum: 10c0/95549a477886f48346568c97b08c4fda9cdbf7ce8a4fbc2213f36896d0d19249e32d68d7451bdcbca8041b5fba04a6b2c4a618beaf19849505c05b700740f1de + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"npmlog@npm:^4.0.2": + version: 4.1.2 + resolution: "npmlog@npm:4.1.2" + dependencies: + are-we-there-yet: "npm:~1.1.2" + console-control-strings: "npm:~1.1.0" + gauge: "npm:~2.7.3" + set-blocking: "npm:~2.0.0" + checksum: 10c0/d6a26cb362277c65e24a70ebdaff31f81184ceb5415fd748abaaf26417bf0794a17ba849116e4f454a0370b9067ae320834cc78d74527dbeadf6e9d19a959046 + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 10c0/cb97149006acc5cd512c13c1838223abdf202e76ddfa059c5e8e7507aff2c3a78cd19057516885a2f6f5b576543dc4f7b6f3c997cc7df53ae26c260855466df5 + languageName: node + linkType: hard + +"nwsapi@npm:^2.0.7": + version: 2.1.4 + resolution: "nwsapi@npm:2.1.4" + checksum: 10c0/aba1f77104732e9f56898d9998a9145e6c7264818801d5d78d81c7d096a14142457e38388e832ea913a6321e890006b3a81756ca76b3a794f8b93065656d7fbc + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 10c0/fc92a516f6ddbb2699089a2748b04f55c47b6ead55a77cd3a2cbbce5f7af86164cb9425f9ae19acfd066f1ad7d3a96a67b8928c6ea946426f6d6c29e448497c2 + languageName: node + linkType: hard + +"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 10c0/1f4df9945120325d041ccf7b86f31e8bcc14e73d29171e37a7903050e96b81323784ec59f93f102ec635bcf6fa8034ba3ea0a8c7e69fa202b87ae3b6cec5a414 + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: "npm:^0.1.0" + define-property: "npm:^0.2.5" + kind-of: "npm:^3.0.3" + checksum: 10c0/79314b05e9d626159a04f1d913f4c4aba9eae8848511cf5f4c8e3b04bb3cc313b65f60357f86462c959a14c2d58380fedf89b6b32ecec237c452a5ef3900a293 + languageName: node + linkType: hard + +"object-keys@npm:^1.0.11, object-keys@npm:^1.0.12": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: "npm:^3.0.0" + checksum: 10c0/086b475bda24abd2318d2b187c3e928959b89f5cb5883d6fe5a42d03719b61fc18e765f658de9ac8730e67ba9ff26d61e73d991215948ff9ecefe771e0071029 + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" + dependencies: + define-properties: "npm:^1.1.2" + function-bind: "npm:^1.1.1" + has-symbols: "npm:^1.0.0" + object-keys: "npm:^1.0.11" + checksum: 10c0/86e6c2a0c169924dc5fb8965c58760d1480ff57e60600c6bf32b083dc094f9587e9e765258485077480e70ae4ea10cf4d81eb4193e49c197821da37f0686a930 + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.3": + version: 2.0.3 + resolution: "object.getownpropertydescriptors@npm:2.0.3" + dependencies: + define-properties: "npm:^1.1.2" + es-abstract: "npm:^1.5.1" + checksum: 10c0/d82d5707ed3785e3c1bf17148f4678567bfb7c36f53c5897b5f7bd1cdf93a817b6ac5993f7ef91b3ba9b034119b35c3a29e56a3453a1fb86c2b3ff2c6c266e84 + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: "npm:^3.0.1" + checksum: 10c0/cd316ec986e49895a28f2df9182de9cdeee57cd2a952c122aacc86344c28624fe002d9affc4f48b5014ec7c033da9942b08821ddb44db8c5bac5b3ec54bdc31e + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"optimist@npm:^0.6.1": + version: 0.6.1 + resolution: "optimist@npm:0.6.1" + dependencies: + minimist: "npm:~0.0.1" + wordwrap: "npm:~0.0.2" + checksum: 10c0/8cb417328121e732dbfb4d94d53bb39b1406446b55323ed4ce787decc52394927e051ba879eb3ffa3171fe22a35ce13b460114b60effcead77443ee87c2f9b0f + languageName: node + linkType: hard + +"optionator@npm:^0.8.1": + version: 0.8.2 + resolution: "optionator@npm:0.8.2" + dependencies: + deep-is: "npm:~0.1.3" + fast-levenshtein: "npm:~2.0.4" + levn: "npm:~0.3.0" + prelude-ls: "npm:~1.1.2" + type-check: "npm:~0.3.2" + wordwrap: "npm:~1.0.0" + checksum: 10c0/b2da93c3014cbbe6233207d20e44277dde2ae0de3d59082a0e90ffbb4f866b482137d452c60a3592ca764f1d66cbfbb5d9f71f749cb38f03e09894e99b807fb8 + languageName: node + linkType: hard + +"os-browserify@npm:^0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 10c0/6ff32cb1efe2bc6930ad0fd4c50e30c38010aee909eba8d65be60af55efd6cbb48f0287e3649b4e3f3a63dce5a667b23c187c4293a75e557f0d5489d735bcf52 + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 10c0/6be4aa67317ee247b8d46142e243fb4ef1d2d65d3067f54bfc5079257a2f4d4d76b2da78cba7af3cb3f56dbb2e4202e0c47f26171d11ca1ed4008d842c90363f + languageName: node + linkType: hard + +"os-locale@npm:^3.1.0": + version: 3.1.0 + resolution: "os-locale@npm:3.1.0" + dependencies: + execa: "npm:^1.0.0" + lcid: "npm:^2.0.0" + mem: "npm:^4.0.0" + checksum: 10c0/db017958884d111af9060613f55aa8a41d67d7210a96cd8e20ac2bc93daed945f6d6dbb0e2085355fe954258fe42e82bfc180c5b6bdbc90151d135d435dde2da + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 10c0/f438450224f8e2687605a8dd318f0db694b6293c5d835ae509a69e97c8de38b6994645337e5577f5001115470414638978cc49da1cdcc25106dad8738dc69990 + languageName: node + linkType: hard + +"osenv@npm:^0.1.4": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: "npm:^1.0.0" + os-tmpdir: "npm:^1.0.0" + checksum: 10c0/b33ed4b77e662f3ee2a04bf4b56cad2107ab069dee982feb9e39ad44feb9aa0cf1016b9ac6e05d0d84c91fa496798fe48dd05a33175d624e51668068b9805302 + languageName: node + linkType: hard + +"outvariant@npm:^1.4.0, outvariant@npm:^1.4.3": + version: 1.4.3 + resolution: "outvariant@npm:1.4.3" + checksum: 10c0/5976ca7740349cb8c71bd3382e2a762b1aeca6f33dc984d9d896acdf3c61f78c3afcf1bfe9cc633a7b3c4b295ec94d292048f83ea2b2594fae4496656eba992c + languageName: node + linkType: hard + +"p-defer@npm:^1.0.0": + version: 1.0.0 + resolution: "p-defer@npm:1.0.0" + checksum: 10c0/ed603c3790e74b061ac2cb07eb6e65802cf58dce0fbee646c113a7b71edb711101329ad38f99e462bd2e343a74f6e9366b496a35f1d766c187084d3109900487 + languageName: node + linkType: hard + +"p-each-series@npm:^1.0.0": + version: 1.0.0 + resolution: "p-each-series@npm:1.0.0" + dependencies: + p-reduce: "npm:^1.0.0" + checksum: 10c0/ee183521fedf272ee0aaab3497cf2e8188bb8dc9046b51a929b3f9161c2f7fd3e148af6c1903d82c9fdaf83547c7d426e0302fe2df731616921bedf76ccff46a + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 10c0/6b8552339a71fe7bd424d01d8451eea92d379a711fc62f6b2fe64cad8a472c7259a236c9a22b4733abca0b5666ad503cb497792a0478c5af31ded793d00937e7 + languageName: node + linkType: hard + +"p-is-promise@npm:^2.0.0": + version: 2.1.0 + resolution: "p-is-promise@npm:2.1.0" + checksum: 10c0/115c50960739c26e9b3e8a3bd453341a3b02a2e5ba41109b904ff53deb0b941ef81b196e106dc11f71698f591b23055c82d81188b7b670e9d5e28bc544b0674d + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0": + version: 2.2.1 + resolution: "p-limit@npm:2.2.1" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/9e1ee01c94b513518b38d199db88e27af3104d3c320172ba0835d055141b8a2bfa6b12c5a8c5a7e917bee1f287c6e54e1b06635b72da42aa63bdd6a094b30fdc + languageName: node + linkType: hard + +"p-limit@npm:^2.2.0": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: "npm:^2.0.0" + checksum: 10c0/8da01ac53efe6a627080fafc127c873da40c18d87b3f5d5492d465bb85ec7207e153948df6b9cbaeb130be70152f874229b8242ee2be84c0794082510af97f12 + languageName: node + linkType: hard + +"p-limit@npm:^3.1.0": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: "npm:^2.0.0" + checksum: 10c0/7b7f06f718f19e989ce6280ed4396fb3c34dabdee0df948376483032f9d5ec22fdf7077ec942143a75827bb85b11da72016497fc10dac1106c837ed593969ee8 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: "npm:^2.2.0" + checksum: 10c0/1b476ad69ad7f6059744f343b26d51ce091508935c1dbb80c4e0a2f397ffce0ca3a1f9f5cd3c7ce19d7929a09719d5c65fe70d8ee289c3f267cd36f2881813e9 + languageName: node + linkType: hard + +"p-reduce@npm:^1.0.0": + version: 1.0.0 + resolution: "p-reduce@npm:1.0.0" + checksum: 10c0/dc0bd6fdcca7c317ea84a91f06bd2da2a809a7a48ed35a5d642731f3b3b1d37338b3ab31fd40d34932cb19a6479a4a2585f4ffb5aee4fdf7fe1bc663af5a1061 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 10c0/c36c19907734c904b16994e6535b02c36c2224d433e01a2f1ab777237f4d86e6289fd5fd464850491e940379d4606ed850c03e0f9ab600b0ebddb511312e177f + languageName: node + linkType: hard + +"pako@npm:~1.0.5": + version: 1.0.10 + resolution: "pako@npm:1.0.10" + checksum: 10c0/a7d74a70a024654929b498479d86f89eee5813af299ad3d2d8f9a7c4295c0c996f6cf0208af965fe5d2853d23d7f8d6b6ffbab9b9223f0c29dc53558db241617 + languageName: node + linkType: hard + +"parallel-transform@npm:^1.1.0": + version: 1.1.0 + resolution: "parallel-transform@npm:1.1.0" + dependencies: + cyclist: "npm:~0.2.2" + inherits: "npm:^2.0.3" + readable-stream: "npm:^2.1.5" + checksum: 10c0/f287ecf1583c3ab010c2b4112bc19c4aa37072c2b055437290bf0854b5f44c8513a293c55a2858a41e348e46e71378bf01307079a3a605db8b2de3b10640179c + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0": + version: 5.1.4 + resolution: "parse-asn1@npm:5.1.4" + dependencies: + asn1.js: "npm:^4.0.0" + browserify-aes: "npm:^1.0.0" + create-hash: "npm:^1.1.0" + evp_bytestokey: "npm:^1.0.0" + pbkdf2: "npm:^3.0.3" + safe-buffer: "npm:^5.1.1" + checksum: 10c0/b3992ae9df8c7b6887720c242691d12f1816c28523e2106e4c9b9c5469d00683058711e85d76ef240e070c6e1fa637625ce48ca6823de57662d3fd0fd8f60236 + languageName: node + linkType: hard + +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: "npm:^1.3.1" + json-parse-better-errors: "npm:^1.0.1" + checksum: 10c0/8d80790b772ccb1bcea4e09e2697555e519d83d04a77c2b4237389b813f82898943a93ffff7d0d2406203bdd0c30dcf95b1661e3a53f83d0e417f053957bef32 + languageName: node + linkType: hard + +"parse-json@npm:^5.2.0": + version: 5.2.0 + resolution: "parse-json@npm:5.2.0" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + error-ex: "npm:^1.3.1" + json-parse-even-better-errors: "npm:^2.3.0" + lines-and-columns: "npm:^1.1.6" + checksum: 10c0/77947f2253005be7a12d858aedbafa09c9ae39eb4863adf330f7b416ca4f4a08132e453e08de2db46459256fb66afaac5ee758b44fe6541b7cdaf9d252e59585 + languageName: node + linkType: hard + +"parse-passwd@npm:^1.0.0": + version: 1.0.0 + resolution: "parse-passwd@npm:1.0.0" + checksum: 10c0/1c05c05f95f184ab9ca604841d78e4fe3294d46b8e3641d305dcc28e930da0e14e602dbda9f3811cd48df5b0e2e27dbef7357bf0d7c40e41b18c11c3a8b8d17b + languageName: node + linkType: hard + +"parse5@npm:4.0.0": + version: 4.0.0 + resolution: "parse5@npm:4.0.0" + checksum: 10c0/59e240aaea30d9668ba711e35367fe696d8ffadb5a8f1bb4afe8f3d4f47ac26dcfe9e35a8a6ab34e6504b3afe465b7bec302b6bbe0dd6cb13bd1c212b699d9db + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: 10c0/48dfe90618e33810bf58211d8f39ad2c0262f19ad6354da1ba563935b5f429f36409a1fb9187c220328f7a4dc5969917f8e3e01ee089b5f1627b02aefe39567b + languageName: node + linkType: hard + +"path-browserify@npm:0.0.1": + version: 0.0.1 + resolution: "path-browserify@npm:0.0.1" + checksum: 10c0/3d59710cddeea06509d91935196185900f3d9d29376dff68ff0e146fbd41d0fb304e983d0158f30cabe4dd2ffcc6a7d3d977631994ee984c88e66aed50a1ccd3 + languageName: node + linkType: hard + +"path-dirname@npm:^1.0.0": + version: 1.0.2 + resolution: "path-dirname@npm:1.0.2" + checksum: 10c0/71e59be2bada7c91f62b976245fd421b7cb01fde3207fe53a82d8880621ad04fd8b434e628c9cf4e796259fc168a107d77cd56837725267c5b2c58cefe2c4e1b + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 10c0/17d6a5664bc0a11d48e2b2127d28a0e58822c6740bde30403f08013da599182289c56518bec89407e3f31d3c2b6b296a4220bc3f867f0911fee6952208b04167 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 10c0/dd2044f029a8e58ac31d2bf34c34b93c3095c1481942960e84dd2faa95bbb71b9b762a106aead0646695330936414b31ca0bd862bf488a937ad17c8c5d73b32b + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.6 + resolution: "path-parse@npm:1.0.6" + checksum: 10c0/07a3f911553aec62bee46f3d205fe15b3736505f65cfef2833dd6921a1e586c1e7f6cc8e3cc61e9b8b1b51360e6b96467da08b29e6aeb82b683878a955c85610 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.7": + version: 1.0.7 + resolution: "path-parse@npm:1.0.7" + checksum: 10c0/11ce261f9d294cc7a58d6a574b7f1b935842355ec66fba3c3fd79e0f036462eaf07d0aa95bb74ff432f9afef97ce1926c720988c6a7451d8a584930ae7de86e1 + languageName: node + linkType: hard + +"path-to-regexp@npm:^1.7.0": + version: 1.7.0 + resolution: "path-to-regexp@npm:1.7.0" + dependencies: + isarray: "npm:0.0.1" + checksum: 10c0/ac2def3e136f215bb38fca13c6b6a7e4a5274a9657fcf02b231ba1036a727d6ff74e98fdff97149484d9028fafa903bdbcb8f54832ab220d47605218414b94f6 + languageName: node + linkType: hard + +"path-type@npm:^3.0.0": + version: 3.0.0 + resolution: "path-type@npm:3.0.0" + dependencies: + pify: "npm:^3.0.0" + checksum: 10c0/1332c632f1cac15790ebab8dd729b67ba04fc96f81647496feb1c2975d862d046f41e4b975dbd893048999b2cc90721f72924ad820acc58c78507ba7141a8e56 + languageName: node + linkType: hard + +"pathval@npm:^1.1.0": + version: 1.1.0 + resolution: "pathval@npm:1.1.0" + checksum: 10c0/7fe84e719e0645a664371b6e869bd2c8343c67b1667bdb1ae3a58691af51ea3f3c47aa73f763d396fb5446c9ab271fe6c245f7ecece5f409fc98254b028d5b0e + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.3": + version: 3.0.17 + resolution: "pbkdf2@npm:3.0.17" + dependencies: + create-hash: "npm:^1.1.2" + create-hmac: "npm:^1.1.4" + ripemd160: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + sha.js: "npm:^2.4.8" + checksum: 10c0/f716f10562df1a1fe1cf09183c05b932d2bdb707417b433cf6d500bc1d2373d4176fe40d13870ad433b94e37d262d47f4c2a1d14971169dbeb384668fc132b49 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 10c0/22c54de06f269e29f640e0e075207af57de5052a3d15e360c09b9a8663f393f6f45902006c1e71aa8a5a1cdfb1a47fe268826f8496d6425c362f00f5bc3e85d9 + languageName: node + linkType: hard + +"picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.2.3, picomatch@npm:^2.3.1": + version: 2.3.2 + resolution: "picomatch@npm:2.3.2" + checksum: 10c0/a554d1709e59be97d1acb9eaedbbc700a5c03dbd4579807baed95100b00420bc729335440ef15004ae2378984e2487a7c1cebd743cfdb72b6fa9ab69223c0d61 + languageName: node + linkType: hard + +"picomatch@npm:^4.0.4": + version: 4.0.5 + resolution: "picomatch@npm:4.0.5" + checksum: 10c0/947bc6b6e1ff1e6c5aaf95b107a0839d12802f4f7b867663f67d47accba939ca1cb582cf99dfc30438efa1c4648ac5990967e783e8929c36b03e8440704ef1bd + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 10c0/fead19ed9d801f1b1fcd0638a1ac53eabbb0945bf615f2f8806a8b646565a04a1b0e7ef115c951d225f042cca388fdc1cd3add46d10d1ed6951c20bd2998af10 + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 10c0/6f9d404b0d47a965437403c9b90eca8bb2536407f03de165940e62e72c8c8b75adda5516c6b9b23675a5877cc0bcac6bdfb0ef0e39414cd2476d5495da40e7cf + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.1 + resolution: "pirates@npm:4.0.1" + dependencies: + node-modules-regexp: "npm:^1.0.0" + checksum: 10c0/5713323c619b27c7ae895542a5a476cf3cda6d4f1446c3ef4d613050a476463ad73369bbbab75c316a2e8211a5200d427913c14d928e900e18a291de334c1963 + languageName: node + linkType: hard + +"pirates@npm:^4.0.4": + version: 4.0.7 + resolution: "pirates@npm:4.0.7" + checksum: 10c0/a51f108dd811beb779d58a76864bbd49e239fa40c7984cd11596c75a121a8cc789f1c8971d8bb15f0dbf9d48b76c05bb62fcbce840f89b688c0fa64b37e8478a + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: "npm:^3.0.0" + checksum: 10c0/902a3d0c1f8ac43b1795fa1ba6ffeb37dfd53c91469e969790f6ed5e29ff2bdc50b63ba6115dc056d2efb4a040aa2446d512b3804bdafdf302f734fb3ec21847 + languageName: node + linkType: hard + +"pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: "npm:^4.0.0" + checksum: 10c0/c56bda7769e04907a88423feb320babaed0711af8c436ce3e56763ab1021ba107c7b0cafb11cde7529f669cfc22bffcaebffb573645cbd63842ea9fb17cd7728 + languageName: node + linkType: hard + +"pn@npm:^1.1.0": + version: 1.1.0 + resolution: "pn@npm:1.1.0" + checksum: 10c0/d844a08d8f0952033f4824072487310e9c9941264968c14411d8f1089d51a60f26ca4866b5a4ecac4d1d12487158dcba75ed2009126c37e4e8efd8080a2cc7c0 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: 10c0/cce88011548a973b4af58361cd8f5f7b5a6faff8eef0901565802f067bcabf82597e920d4c97c22068464be3cbc6447af589f6cc8a7d813ea7165be60a0395bc + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-modules-extract-imports@npm:2.0.0" + dependencies: + postcss: "npm:^7.0.5" + checksum: 10c0/170e8d680c267c536563e76979f04dc80e6dfa026d49f1e9ead2d0981a74b0c64d2894a8fd691e50568f12144553cf0b948ab43263872b3f696dcb34b683e238 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^3.0.2": + version: 3.0.2 + resolution: "postcss-modules-local-by-default@npm:3.0.2" + dependencies: + icss-utils: "npm:^4.1.1" + postcss: "npm:^7.0.16" + postcss-selector-parser: "npm:^6.0.2" + postcss-value-parser: "npm:^4.0.0" + checksum: 10c0/d4258fb62804fddcf1a162b0ab0762085ea7bd44307f76534761c483bf09018b62a63e8828e7fa09f9f53d978bdf7cbd86904e30e770217b583cf3c8066b34ba + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^2.1.0": + version: 2.1.0 + resolution: "postcss-modules-scope@npm:2.1.0" + dependencies: + postcss: "npm:^7.0.6" + postcss-selector-parser: "npm:^6.0.0" + checksum: 10c0/5438d542bad0e932d03c4ea7c6d06d2f8188a2f854138a48b383adef6ca002d5da73f3fd6bce20525746eb0d41a03d05b8c916c5274a8a5192b76c47bbc91349 + languageName: node + linkType: hard + +"postcss-modules-values@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-values@npm:3.0.0" + dependencies: + icss-utils: "npm:^4.0.0" + postcss: "npm:^7.0.6" + checksum: 10c0/f97b4669446810aa9c4c22538e24faee203e8462f1c7d38923c57140903bc170451dfec5974e480c2c367690735042cbfec187d209d0044d99f829f29ad0e610 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-selector-parser@npm:6.0.2" + dependencies: + cssesc: "npm:^3.0.0" + indexes-of: "npm:^1.0.1" + uniq: "npm:^1.0.1" + checksum: 10c0/8fab8eb88bf95156ac90effc19dc23b9b75593048d8cb347ec7bc433e676484ee299dc26ecd30390101e4273998cba3f5b5fa0ac3f142350a9ed3d1cafe352c6 + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0": + version: 4.0.2 + resolution: "postcss-value-parser@npm:4.0.2" + checksum: 10c0/e29ef64e5ee339d6d19223c8602c2214fe0225b6f7157b7dafc20288009300e960acbebd6d6998d784b847fed1ff441414248c6aaf756cb1b2f821775269f591 + languageName: node + linkType: hard + +"postcss@npm:^7.0.14, postcss@npm:^7.0.16, postcss@npm:^7.0.17, postcss@npm:^7.0.5, postcss@npm:^7.0.6": + version: 7.0.17 + resolution: "postcss@npm:7.0.17" + dependencies: + chalk: "npm:^2.4.2" + source-map: "npm:^0.6.1" + supports-color: "npm:^6.1.0" + checksum: 10c0/a316f95629bb9a968579a05f5f251703c0f535d1d008736a8e6968011705f489bba37916cd6f32a2b9db14e4b1b0adac6a990acd981a39fc822ccab3587a76b9 + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: 10c0/7284270064f74e0bb7f04eb9bff7be677e4146417e599ccc9c1200f0f640f8b11e592d94eb1b18f7aa9518031913bb42bea9c86af07ba69902864e61005d6f18 + languageName: node + linkType: hard + +"pretty-format@npm:^24.9.0": + version: 24.9.0 + resolution: "pretty-format@npm:24.9.0" + dependencies: + "@jest/types": "npm:^24.9.0" + ansi-regex: "npm:^4.0.0" + ansi-styles: "npm:^3.2.0" + react-is: "npm:^16.8.4" + checksum: 10c0/1e75c0ae55dab8953a5fe8025aab0a6d6090773561b672a7a00108f6cfb7dace198b27143392382dff913cb71f6fbc10ed23beaddf2117c380588a3b575825f0 + languageName: node + linkType: hard + +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"private@npm:^0.1.6": + version: 0.1.8 + resolution: "private@npm:0.1.8" + checksum: 10c0/829a23723e5fd3105c72b2dadeeb65743a430f7e6967a8a6f3e49392a1b3ea52975a255376d8c513b0c988bdf162f1a5edf9d9bac27d1ab11f8dba8cdb58880e + languageName: node + linkType: hard + +"proc-log@npm:^7.0.0": + version: 7.0.0 + resolution: "proc-log@npm:7.0.0" + checksum: 10c0/b89c2d862604f35fec795477b0c7e376feab3ba0d4f4d291c4e959567442697cf451ac557d0623c1cc38af45a78128b983410f397a10c5d3a67f76c33de4754b + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 10c0/bec089239487833d46b59d80327a1605e1c5287eaad770a291add7f45fda1bb5e28b38e0e061add0a1d0ee0984788ce74fa394d345eed1c420cacf392c554367 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.2.1 + resolution: "prompts@npm:2.2.1" + dependencies: + kleur: "npm:^3.0.3" + sisteransi: "npm:^1.0.3" + checksum: 10c0/335cf3fd901c5faddedd18304733cab8bf1d672ef14717a28057cd1556da9a6e599458362d164a139e83a5a9a18d654f08dc4521d1c1cf34a7b45b54bde6cee0 + languageName: node + linkType: hard + +"prop-types@npm:^15.5.10, prop-types@npm:^15.6.2": + version: 15.7.2 + resolution: "prop-types@npm:15.7.2" + dependencies: + loose-envify: "npm:^1.4.0" + object-assign: "npm:^4.1.1" + react-is: "npm:^16.8.1" + checksum: 10c0/4eb527daec962acd789c621ce3234a6f077ce202049291642d8efd13b19805adf07227672c570531cdb56a357640ea27e336527682b7ed4be0c5b392a01662ab + languageName: node + linkType: hard + +"propagate@npm:^2.0.0": + version: 2.0.1 + resolution: "propagate@npm:2.0.1" + checksum: 10c0/01e1023b60ae4050d1a2783f976d7db702022dbdb70dba797cceedad8cfc01b3939c41e77032f8c32aa9d93192fe937ebba1345e8604e5ce61fd3b62ee3003b8 + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 10c0/5b9272c602e4f4472a215e58daff88f802923b84bc39c8860376bb1c0e42aaf18c25d69ad974bd06ec6db6f544b783edecd5502cd3d184748d99080d68e4be5f + languageName: node + linkType: hard + +"psl@npm:^1.1.24, psl@npm:^1.1.28": + version: 1.3.0 + resolution: "psl@npm:1.3.0" + checksum: 10c0/c05d0b573903e6c7964a294a3b9fd058c1136e1e49cc5074ce9b9e59e1b5561c3a7597e275bcb9fafe549337ea79c9b49bfaeaef98c7dec18f642f88897d078a + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.0": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + dependencies: + bn.js: "npm:^4.1.0" + browserify-rsa: "npm:^4.0.0" + create-hash: "npm:^1.1.0" + parse-asn1: "npm:^5.0.0" + randombytes: "npm:^2.0.1" + safe-buffer: "npm:^5.1.2" + checksum: 10c0/6c2cc19fbb554449e47f2175065d6b32f828f9b3badbee4c76585ac28ae8641aafb9bb107afc430c33c5edd6b05dbe318df4f7d6d7712b1093407b11c4280700 + languageName: node + linkType: hard + +"pump@npm:^2.0.0": + version: 2.0.1 + resolution: "pump@npm:2.0.1" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/f1fe8960f44d145f8617ea4c67de05392da4557052980314c8f85081aee26953bdcab64afad58a2b1df0e8ff7203e3710e848cbe81a01027978edc6e264db355 + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + languageName: node + linkType: hard + +"pumpify@npm:^1.3.3": + version: 1.5.1 + resolution: "pumpify@npm:1.5.1" + dependencies: + duplexify: "npm:^3.6.0" + inherits: "npm:^2.0.3" + pump: "npm:^2.0.0" + checksum: 10c0/0bcabf9e3dbf2d0cc1f9b84ac80d3c75386111caf8963bfd98817a1e2192000ac0ccc804ca6ccd5b2b8430fdb71347b20fb2f014fe3d41adbacb1b502a841c45 + languageName: node + linkType: hard + +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: 10c0/281fd20eaf4704f79d80cb0dc65065bf6452ee67989b3e8941aed6360a5a9a8a01d3e2ed71d0bde3cd74fb5a5dd9db4160bed5a8c20bed4b6764c24ce4c7d2d2 + languageName: node + linkType: hard + +"punycode@npm:^1.2.4, punycode@npm:^1.4.1": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 10c0/354b743320518aef36f77013be6e15da4db24c2b4f62c5f1eb0529a6ed02fbaf1cb52925785f6ab85a962f2b590d9cd5ad730b70da72b5f180e2556b8bd3ca08 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 10c0/83815ca9b9177f055771f31980cbec7ffaef10257d50a95ab99b4a30f0404846e85fa6887ee1bbc0aaddb7bad6d96e2fa150a016051ff0f6b92be4ad613ddca8 + languageName: node + linkType: hard + +"pure-rand@npm:^6.0.0": + version: 6.1.0 + resolution: "pure-rand@npm:6.1.0" + checksum: 10c0/1abe217897bf74dcb3a0c9aba3555fe975023147b48db540aa2faf507aee91c03bf54f6aef0eb2bf59cc259a16d06b28eca37f0dc426d94f4692aeff02fb0e65 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: 10c0/dab79026d56e6f1fdcc4779a1c6e05d05dad2199443a025815399f545294c9ea2c3ab50a5198600f5f13f52c5672b4389ceccf946919e150467281abf6edf747 + languageName: node + linkType: hard + +"querystring-es3@npm:^0.2.0": + version: 0.2.1 + resolution: "querystring-es3@npm:0.2.1" + checksum: 10c0/476938c1adb45c141f024fccd2ffd919a3746e79ed444d00e670aad68532977b793889648980e7ca7ff5ffc7bfece623118d0fbadcaf217495eeb7059ae51580 + languageName: node + linkType: hard + +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 10c0/2036c9424beaacd3978bac9e4ba514331cc73163bea7bf3ad7e2c7355e55501938ec195312c607753f9c6e70b1bf9dfcda38db6241bd299c034e27ac639d64ed + languageName: node + linkType: hard + +"qunit@npm:*": + version: 2.9.2 + resolution: "qunit@npm:2.9.2" + dependencies: + commander: "npm:2.12.2" + js-reporters: "npm:1.2.1" + minimatch: "npm:3.0.4" + node-watch: "npm:0.6.0" + resolve: "npm:1.9.0" + bin: + qunit: bin/qunit.js + checksum: 10c0/61c1f653c8999dd31a9cb0d5b144230b082e281d66640d4897460ac18ec2868578a292526918487ae1cf848c07f0c446283f4ce7abcbac8a2188479918f71ba4 + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: "npm:^5.1.0" + checksum: 10c0/50395efda7a8c94f5dffab564f9ff89736064d32addf0cc7e8bf5e4166f09f8ded7a0849ca6c2d2a59478f7d90f78f20d8048bca3cdf8be09d8e8a10790388f3 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.3": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: "npm:^2.0.5" + safe-buffer: "npm:^5.1.0" + checksum: 10c0/11aeed35515872e8f8a2edec306734e6b74c39c46653607f03c68385ab8030e2adcc4215f76b5e4598e028c4750d820afd5c65202527d831d2a5f207fe2bc87c + languageName: node + linkType: hard + +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-dom@npm:^16.1.1": + version: 16.9.0 + resolution: "react-dom@npm:16.9.0" + dependencies: + loose-envify: "npm:^1.1.0" + object-assign: "npm:^4.1.1" + prop-types: "npm:^15.6.2" + scheduler: "npm:^0.15.0" + peerDependencies: + react: ^16.0.0 + checksum: 10c0/3ec23b33da1f45081b2160d255e6991d42e45216f749b4066c44a3fd9d195a5e1d9a63c8725a84889c528d52104ad0c71edb3e1f0e566b31e236c8f649e659e7 + languageName: node + linkType: hard + +"react-is@npm:^16.8.1, react-is@npm:^16.8.4": + version: 16.9.0 + resolution: "react-is@npm:16.9.0" + checksum: 10c0/e277d81e55aff58f22ddc14b7ab94408b1871bd5706c123e4ba466f10adc9f2abea48cf752bc09452a1d86d890119147e4613aec017e71a357f7516b26b638cd + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.3.1 + resolution: "react-is@npm:18.3.1" + checksum: 10c0/f2f1e60010c683479e74c63f96b09fb41603527cd131a9959e2aee1e5a8b0caf270b365e5ca77d4a6b18aae659b60a86150bb3979073528877029b35aecd2072 + languageName: node + linkType: hard + +"react-lifecycles-compat@npm:^3.0.0": + version: 3.0.4 + resolution: "react-lifecycles-compat@npm:3.0.4" + checksum: 10c0/1d0df3c85af79df720524780f00c064d53a9dd1899d785eddb7264b378026979acbddb58a4b7e06e7d0d12aa1494fd5754562ee55d32907b15601068dae82c27 + languageName: node + linkType: hard + +"react-modal@npm:^3.1.2": + version: 3.10.1 + resolution: "react-modal@npm:3.10.1" + dependencies: + exenv: "npm:^1.2.0" + prop-types: "npm:^15.5.10" + react-lifecycles-compat: "npm:^3.0.0" + warning: "npm:^4.0.3" + peerDependencies: + react: ^0.14.0 || ^15.0.0 || ^16 + react-dom: ^0.14.0 || ^15.0.0 || ^16 + checksum: 10c0/9f92b3bef6529b769053d25897812f109ac713106fe0947f925f824418c394effc72d2617e81270d9b63f1f3e74f6bc4155ddcc03bf3d6439a16343cebf8ffd7 + languageName: node + linkType: hard + +"react@npm:*": + version: 16.13.1 + resolution: "react@npm:16.13.1" + dependencies: + loose-envify: "npm:^1.1.0" + object-assign: "npm:^4.1.1" + prop-types: "npm:^15.6.2" + checksum: 10c0/4d6ad44cd5c12511218ad179df94919b5c1c328d078160a9f39ae7d31738c427a9b6bbcf9fb4745f4c4f534ddab8529acc24e7cd9dce086c76e3478422256fb3 + languageName: node + linkType: hard + +"react@npm:^16.1.1, react@npm:^16.8.6": + version: 16.9.0 + resolution: "react@npm:16.9.0" + dependencies: + loose-envify: "npm:^1.1.0" + object-assign: "npm:^4.1.1" + prop-types: "npm:^15.6.2" + checksum: 10c0/120a3cff922c161f943b0ae9173ac8c5629bc8b53755580af67c7eeec6de405d480d20668066ac0e6e388aeadc24794777eac3794464aedede15905eeace95c1 + languageName: node + linkType: hard + +"read-pkg-up@npm:^4.0.0": + version: 4.0.0 + resolution: "read-pkg-up@npm:4.0.0" + dependencies: + find-up: "npm:^3.0.0" + read-pkg: "npm:^3.0.0" + checksum: 10c0/c889c5bd9a4de84bfb5234ed7e5450b90cf83d05a25025ba04cfe3e1f12302e689d5c445b1c67cc564fbd7e1b931f638fea0299a188e1fd36eac183a1167b533 + languageName: node + linkType: hard + +"read-pkg@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg@npm:3.0.0" + dependencies: + load-json-file: "npm:^4.0.0" + normalize-package-data: "npm:^2.3.2" + path-type: "npm:^3.0.0" + checksum: 10c0/65acf2df89fbcd506b48b7ced56a255ba00adf7ecaa2db759c86cc58212f6fd80f1f0b7a85c848551a5d0685232e9b64f45c1fd5b48d85df2761a160767eeb93 + languageName: node + linkType: hard + +"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": + version: 2.3.6 + resolution: "readable-stream@npm:2.3.6" + dependencies: + core-util-is: "npm:~1.0.0" + inherits: "npm:~2.0.3" + isarray: "npm:~1.0.0" + process-nextick-args: "npm:~2.0.0" + safe-buffer: "npm:~5.1.1" + string_decoder: "npm:~1.1.1" + util-deprecate: "npm:~1.0.1" + checksum: 10c0/0765bb018211c880e3aaa600bf624dcb08bfd58f827137f6afb713bb128c1b2f8a5a47d88532950e324924e0b98acf48050319ea9dc42540e269f85f87c830b3 + languageName: node + linkType: hard + +"readdirp@npm:^2.2.1": + version: 2.2.1 + resolution: "readdirp@npm:2.2.1" + dependencies: + graceful-fs: "npm:^4.1.11" + micromatch: "npm:^3.1.10" + readable-stream: "npm:^2.0.2" + checksum: 10c0/770d177372ff2212d382d425d55ca48301fcbf3231ab3827257bbcca7ff44fb51fe4af6acc2dda8512dc7f29da390e9fbea5b2b3fc724b86e85cc828395b7797 + languageName: node + linkType: hard + +"realpath-native@npm:^1.1.0": + version: 1.1.0 + resolution: "realpath-native@npm:1.1.0" + dependencies: + util.promisify: "npm:^1.0.0" + checksum: 10c0/8211c9d7046266ef1f504a8fc11d4dacaff9b5e915756993157d6dd3c112f2f4c5ece6c18732f1970c2bd8d49015fb0d4d8c75cd934f4354160360b74548ddb5 + languageName: node + linkType: hard + +"reflect-metadata@npm:*": + version: 0.1.13 + resolution: "reflect-metadata@npm:0.1.13" + checksum: 10c0/728bff0b376b05639fd11ed80c648b61f7fe653c5b506d7ca118e58b6752b9b00810fe0c86227ecf02bd88da6251ab3eb19fd403aaf2e9ff5ef36a2fda643026 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^8.1.0": + version: 8.1.0 + resolution: "regenerate-unicode-properties@npm:8.1.0" + dependencies: + regenerate: "npm:^1.4.0" + checksum: 10c0/76a4e38645ce4e23f4893a4cada160fad9649bd7866f69351dad83040e8db29257a930b880964291e00f1fa975992731d3d148ea71dd1dd89bb04e19df99ada1 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.0": + version: 1.4.0 + resolution: "regenerate@npm:1.4.0" + checksum: 10c0/b0f1598c77e8814d68ba19406f179e3eff1b6073d1e9e05772759dffb1ef2ff8cc5ddde55c6f399eb145221b6d9646f93358ed1255bf6a72089d92e34602f67d + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.2": + version: 0.13.3 + resolution: "regenerator-runtime@npm:0.13.3" + checksum: 10c0/090f036b37c1c39981dc79f3001efb3ae9fe578535e26e679f83e38d9a87cd6b273c97a42360b17d682b9a6ed0ff05e536d3c19417f7204f06edcec3acb46878 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.14.0": + version: 0.14.1 + resolution: "regenerator-transform@npm:0.14.1" + dependencies: + private: "npm:^0.1.6" + checksum: 10c0/d7e5440974c85b3475ac5d25e4201577f75f657d9dae7b790d0ee44597971d086cc055de627dcf36146e6f0751877e62650df8b69738c0a3f85ef62b6fd6c2ee + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: "npm:^3.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/a0f8d6045f63b22e9759db10e248369c443b41cedd7dba0922d002b66c2734bc2aef0d98c4d45772d1f756245f4c5203856b88b9624bba2a58708858a8d485d6 + languageName: node + linkType: hard + +"regexp-tree@npm:^0.1.6": + version: 0.1.12 + resolution: "regexp-tree@npm:0.1.12" + bin: + regexp-tree: ./bin/regexp-tree + checksum: 10c0/79902e00906e2f08db37ea20ece70391fa9631d8d370af694b75b0b33fbe105ecd0704e44a25e73e516bb60143f01f17bd8c8014452bde5587ef121680c42706 + languageName: node + linkType: hard + +"regexpu-core@npm:^4.5.4": + version: 4.5.5 + resolution: "regexpu-core@npm:4.5.5" + dependencies: + regenerate: "npm:^1.4.0" + regenerate-unicode-properties: "npm:^8.1.0" + regjsgen: "npm:^0.5.0" + regjsparser: "npm:^0.6.0" + unicode-match-property-ecmascript: "npm:^1.0.4" + unicode-match-property-value-ecmascript: "npm:^1.1.0" + checksum: 10c0/111584a6202456951e83e79f29f6776532eb8734f10e2f61b344b0c8cb8757ee6d21aeb43dfafbcd3c17a903dcc95dc7acd41dce0b3c0f6fff083f6e440632ab + languageName: node + linkType: hard + +"regjsgen@npm:^0.5.0": + version: 0.5.0 + resolution: "regjsgen@npm:0.5.0" + checksum: 10c0/2fb91bc907cefea98aa8d637a050176b314fc4b486dd79ed4912121b572a990c75bcaeb43eb40bd723dc3828185776d82712c6d188c8b86ec0973da6e3fa7105 + languageName: node + linkType: hard + +"regjsparser@npm:^0.6.0": + version: 0.6.0 + resolution: "regjsparser@npm:0.6.0" + dependencies: + jsesc: "npm:~0.5.0" + bin: + regjsparser: bin/parser + checksum: 10c0/d12f9ba63c938e7ffee543c9ef4a5567bab317d445cbb31696339bde96a76df9308d5be1720cb14db2be1a81af14565466097ae245c9eae86f53d1c67625895a + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 10c0/3568f9f8f5af3737b4aee9e6e1e8ec4be65a92da9cb27f989e0893714d50aa95ed2ff02d40d1fa35e1b1a234dc9c2437050ef356704a3999feaca6667d9e9bfc + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.3 + resolution: "repeat-element@npm:1.1.3" + checksum: 10c0/3c302d646f63ac69d91ffe1d1b88eae20402556435abf68306c60afd1dd95311d45c3ebca5de642b0b9b8bfdb0fe15aaefdffb477abe856710b60f5a719004fd + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 10c0/87fa21bfdb2fbdedc44b9a5b118b7c1239bdd2c2c1e42742ef9119b7d412a5137a1d23f1a83dc6bb686f4f27429ac6f542e3d923090b44181bafa41e8ac0174d + languageName: node + linkType: hard + +"request-promise-core@npm:1.1.2": + version: 1.1.2 + resolution: "request-promise-core@npm:1.1.2" + dependencies: + lodash: "npm:^4.17.11" + peerDependencies: + request: ^2.34 + checksum: 10c0/9f615f929e483ceb09daefadaf8c28c191897c32c5724b8e840b824f2bce7e166d563e5064aa692d9055e56d47fbb9043ab37535deea2f5359a663150bb3e05a + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.5": + version: 1.0.7 + resolution: "request-promise-native@npm:1.0.7" + dependencies: + request-promise-core: "npm:1.1.2" + stealthy-require: "npm:^1.1.1" + tough-cookie: "npm:^2.3.3" + peerDependencies: + request: ^2.34 + checksum: 10c0/53dfbaa94aa36840a9e73475a81eb7c104a1dd5839de81840e2263597b32b3b95acf7964c6d3d7aed675668ee09d1874c62546bce9c113194563750cc8ca66bc + languageName: node + linkType: hard + +"request@npm:^2.87.0": + version: 2.88.0 + resolution: "request@npm:2.88.0" + dependencies: + aws-sign2: "npm:~0.7.0" + aws4: "npm:^1.8.0" + caseless: "npm:~0.12.0" + combined-stream: "npm:~1.0.6" + extend: "npm:~3.0.2" + forever-agent: "npm:~0.6.1" + form-data: "npm:~2.3.2" + har-validator: "npm:~5.1.0" + http-signature: "npm:~1.2.0" + is-typedarray: "npm:~1.0.0" + isstream: "npm:~0.1.2" + json-stringify-safe: "npm:~5.0.1" + mime-types: "npm:~2.1.19" + oauth-sign: "npm:~0.9.0" + performance-now: "npm:^2.1.0" + qs: "npm:~6.5.2" + safe-buffer: "npm:^5.1.2" + tough-cookie: "npm:~2.4.3" + tunnel-agent: "npm:^0.6.0" + uuid: "npm:^3.3.2" + checksum: 10c0/90369e22e14bcc393ae1f59e06f9b3eaf929d2b55036380b340776c0e196e5702516d8ae954ab0778a32a4c76cda70ab102b056f0d4160bb61ee90e114a83000 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 10c0/83aa76a7bc1531f68d92c75a2ca2f54f1b01463cb566cf3fbc787d0de8be30c9dbc211d1d46be3497dac5785fe296f2dd11d531945ac29730643357978966e99 + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: 10c0/db91467d9ead311b4111cbd73a4e67fa7820daed2989a32f7023785a2659008c6d119752d9c4ac011ae07e537eb86523adff99804c5fdb39cd3a017f9b401bb6 + languageName: node + linkType: hard + +"resolve-cwd@npm:^2.0.0": + version: 2.0.0 + resolution: "resolve-cwd@npm:2.0.0" + dependencies: + resolve-from: "npm:^3.0.0" + checksum: 10c0/10c3a7ffeb55af51206f5ca8696ed833376179399336ce8e9df8f76c044c13bccd0e9a3148708daf272193179a581ddb076e203eaa71efa0ad341b243174ca12 + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: "npm:^5.0.0" + checksum: 10c0/e608a3ebd15356264653c32d7ecbc8fd702f94c6703ea4ac2fb81d9c359180cba0ae2e6b71faa446631ed6145454d5a56b227efc33a2d40638ac13f8beb20ee4 + languageName: node + linkType: hard + +"resolve-dir@npm:^1.0.0, resolve-dir@npm:^1.0.1": + version: 1.0.1 + resolution: "resolve-dir@npm:1.0.1" + dependencies: + expand-tilde: "npm:^2.0.0" + global-modules: "npm:^1.0.0" + checksum: 10c0/8197ed13e4a51d9cd786ef6a09fc83450db016abe7ef3311ca39389b3e508d77c26fe0cf0483a9b407b8caa2764bb5ccc52cf6a017ded91492a416475a56066f + languageName: node + linkType: hard + +"resolve-from@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-from@npm:3.0.0" + checksum: 10c0/24affcf8e81f4c62f0dcabc774afe0e19c1f38e34e43daac0ddb409d79435fc3037f612b0cc129178b8c220442c3babd673e88e870d27215c99454566e770ebc + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 10c0/b21cb7f1fb746de8107b9febab60095187781137fd803e6a59a76d421444b1531b641bba5857f5dc011974d8a5c635d61cec49e6bd3b7fc20e01f0fafc4efbf2 + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 10c0/c285182cfcddea13a12af92129ce0569be27fb0074ffaefbd3ba3da2eac2acecdfc996d435c4982a9fa2b4708640e52837c9153a5ab9255886a00b0b9e8d2a54 + languageName: node + linkType: hard + +"resolve.exports@npm:^2.0.0": + version: 2.0.3 + resolution: "resolve.exports@npm:2.0.3" + checksum: 10c0/1ade1493f4642a6267d0a5e68faeac20b3d220f18c28b140343feb83694d8fed7a286852aef43689d16042c61e2ddb270be6578ad4a13990769e12065191200d + languageName: node + linkType: hard + +"resolve@npm:1.1.7": + version: 1.1.7 + resolution: "resolve@npm:1.1.7" + checksum: 10c0/f66dcad51854fca283fa68e9c11445c2117d7963b9ced6c43171784987df3bed6fb16c4af2bf6f07c02ace94a4f4ebe158d13780b6e14d60944478c860208245 + languageName: node + linkType: hard + +"resolve@npm:1.9.0": + version: 1.9.0 + resolution: "resolve@npm:1.9.0" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/02e182869e2f550e2156cf3c01e18dec10aec07b29d6f0c5b7830a7598b13b119418e6d86e361423e3a2f0c67aacab56b8b66b1e79ff792c399c4de86028859f + languageName: node + linkType: hard + +"resolve@npm:^1.10.0, resolve@npm:^1.11.0, resolve@npm:^1.11.1, resolve@npm:^1.3.2, resolve@npm:^1.8.1": + version: 1.12.0 + resolution: "resolve@npm:1.12.0" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/db503edb4bfb984a16ca0b8e9c2f51db3ee768e8aef59b704d6d768ee4c016b53128a620fece06c37bbbb18061c777239f90957d2cea35cb5a6701f689d0e667 + languageName: node + linkType: hard + +"resolve@npm:^1.20.0": + version: 1.22.12 + resolution: "resolve@npm:1.22.12" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/b16dc9b537c02e8c3388f7d3dcff9741d3071625f9a97ac1c885f2b0ca51e78df22328fb6d6ef214dd9101fb7cfc19aa2836fe3410402a94f3f7b8639c7149bf + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A1.1.7#optional!builtin": + version: 1.1.7 + resolution: "resolve@patch:resolve@npm%3A1.1.7#optional!builtin::version=1.1.7&hash=3bafbf" + checksum: 10c0/f4f1471423d600a10944785222fa7250237ed8c98aa6b1e1f4dc0bb3dbfbcafcaac69a2ed23cd1f6f485ed23e7c939894ac1978284e4163754fade8a05358823 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A1.9.0#optional!builtin": + version: 1.9.0 + resolution: "resolve@patch:resolve@npm%3A1.9.0#optional!builtin::version=1.9.0&hash=c3c19d" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/e29c816491da1989c2616ba5233f42c67339c7cd8bb3c347596be31257c4938ac5138a0813bd0359398c6d69db9e81a7fddb6b5dbee6d907e62efd04cd5dd593 + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.10.0#optional!builtin, resolve@patch:resolve@npm%3A^1.11.0#optional!builtin, resolve@patch:resolve@npm%3A^1.11.1#optional!builtin, resolve@patch:resolve@npm%3A^1.3.2#optional!builtin, resolve@patch:resolve@npm%3A^1.8.1#optional!builtin": + version: 1.12.0 + resolution: "resolve@patch:resolve@npm%3A1.12.0#optional!builtin::version=1.12.0&hash=c3c19d" + dependencies: + path-parse: "npm:^1.0.6" + checksum: 10c0/522560b9c078a3695822f4d650dd575999e9bca5bc72270777441449f4a35a7c9f0a8d709636d95c51549d9164150bae3d657a283f4dd75fa553863fd7c9866b + languageName: node + linkType: hard + +"resolve@patch:resolve@npm%3A^1.20.0#optional!builtin": + version: 1.22.12 + resolution: "resolve@patch:resolve@npm%3A1.22.12#optional!builtin::version=1.22.12&hash=c3c19d" + dependencies: + es-errors: "npm:^1.3.0" + is-core-module: "npm:^2.16.1" + path-parse: "npm:^1.0.7" + supports-preserve-symlinks-flag: "npm:^1.0.0" + bin: + resolve: bin/resolve + checksum: 10c0/fc6519984ae1f894d877c0060ba8b1f5ba3bc0e85a02f74e141929c118c23d74d9735619a9cc2965397387e514884245c65d72a40731dcb6cfc84c7bcdc8321e + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: 10c0/01f77cad0f7ea4f955852c03d66982609893edc1240c0c964b4c9251d0f9fb6705150634060d169939b096d3b77f4c84d6b6098a5b5d340160898c8581f1f63f + languageName: node + linkType: hard + +"rimraf@npm:^2.5.4, rimraf@npm:^2.6.1, rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: ./bin.js + checksum: 10c0/4eef73d406c6940927479a3a9dee551e14a54faf54b31ef861250ac815172bade86cc6f7d64a4dc5e98b65e4b18a2e1c9ff3b68d296be0c748413f092bb0dd40 + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: "npm:^3.0.0" + inherits: "npm:^2.0.1" + checksum: 10c0/f6f0df78817e78287c766687aed4d5accbebc308a8e7e673fb085b9977473c1f139f0c5335d353f172a915bb288098430755d2ad3c4f30612f4dd0c901cd2c3a + languageName: node + linkType: hard + +"rollup-plugin-commonjs@npm:*": + version: 10.0.2 + resolution: "rollup-plugin-commonjs@npm:10.0.2" + dependencies: + estree-walker: "npm:^0.6.1" + is-reference: "npm:^1.1.2" + magic-string: "npm:^0.25.2" + resolve: "npm:^1.11.0" + rollup-pluginutils: "npm:^2.8.1" + peerDependencies: + rollup: ">=1.12.0" + checksum: 10c0/34a3021239ea5645213be8e219f6cbfb861e72fdf952d88a4d1018e69343ff4ae13740e7b9b2a3308e94d907a70b8b42d5ac812e97f42d04845eb58bb3bce2fb + languageName: node + linkType: hard + +"rollup-plugin-node-resolve@npm:*": + version: 5.2.0 + resolution: "rollup-plugin-node-resolve@npm:5.2.0" + dependencies: + "@types/resolve": "npm:0.0.8" + builtin-modules: "npm:^3.1.0" + is-module: "npm:^1.0.0" + resolve: "npm:^1.11.1" + rollup-pluginutils: "npm:^2.8.1" + peerDependencies: + rollup: ">=1.11.0" + checksum: 10c0/4f9903a1042f6eab1495e044ac64540c054d89add7b3f09ea98cfef869628ad0749aebffd946fb4793cb29841c4711bbdd5e6f7fcaecf1eb9c30f67968e1dcb5 + languageName: node + linkType: hard + +"rollup-plugin-paths@npm:*": + version: 0.0.4 + resolution: "rollup-plugin-paths@npm:0.0.4" + checksum: 10c0/c8822674252a2f6cd626085e13cbd14dba6e76db34ad7948a82e0567b2f4014db9110554618ebb1dcba9fc337a97c72ec97d495696e96f8e10596e906b0fc496 + languageName: node + linkType: hard + +"rollup-plugin-sourcemaps@npm:*": + version: 0.4.2 + resolution: "rollup-plugin-sourcemaps@npm:0.4.2" + dependencies: + rollup-pluginutils: "npm:^2.0.1" + source-map-resolve: "npm:^0.5.0" + peerDependencies: + rollup: ">=0.31.2" + checksum: 10c0/8bf5425ed2b6956b7befe330a48fd9e68fd5b6441c4e5c1dc763911abc495959dbe3fef712540661d77a20019dc1059d03a1ed452e01dbccd6e8c372d5b7d4df + languageName: node + linkType: hard + +"rollup-plugin-uglify@npm:*": + version: 6.0.2 + resolution: "rollup-plugin-uglify@npm:6.0.2" + dependencies: + "@babel/code-frame": "npm:^7.0.0" + jest-worker: "npm:^24.0.0" + serialize-javascript: "npm:^1.6.1" + uglify-js: "npm:^3.4.9" + peerDependencies: + rollup: ">=0.66.0 <2" + checksum: 10c0/158bfe7fd3894051615aafef8d4e7ba911f6ffe36cd501517bd0b7c5e24313f7dbb954ce3f4bb8b7ed2cb5de1230ab357b99c07d206ffd1f9dade7156793a539 + languageName: node + linkType: hard + +"rollup-pluginutils@npm:^2.0.1, rollup-pluginutils@npm:^2.8.1": + version: 2.8.1 + resolution: "rollup-pluginutils@npm:2.8.1" + dependencies: + estree-walker: "npm:^0.6.1" + checksum: 10c0/c2ace29a490370232e8b8260aeed4e9b3bbb9e7c5825f36240c0a488a5888d586c7f017de911a14ba37a303ac6269950777dbdaa170148f812c280b04990bf40 + languageName: node + linkType: hard + +"rollup@npm:*": + version: 1.20.2 + resolution: "rollup@npm:1.20.2" + dependencies: + "@types/estree": "npm:0.0.39" + "@types/node": "npm:^12.7.2" + acorn: "npm:^7.0.0" + bin: + rollup: ./dist/bin/rollup + checksum: 10c0/c08bbc7eee889c20ba9c0b64030153051fa4a6d68fb109022452f5b32c480fc3e35604514177202733fad5873aea4c023588f00ad3176e70c7f2cbb4684960a7 + languageName: node + linkType: hard + +"root-workspace-0b6124@workspace:.": + version: 0.0.0-use.local + resolution: "root-workspace-0b6124@workspace:." + dependencies: + rimraf: "npm:^2.6.3" + rollup: "npm:*" + rollup-plugin-commonjs: "npm:*" + rollup-plugin-node-resolve: "npm:*" + rollup-plugin-paths: "npm:*" + rollup-plugin-sourcemaps: "npm:*" + rollup-plugin-uglify: "npm:*" + typescript: "npm:6.0.3" + languageName: unknown + linkType: soft + +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 10c0/7978f01060a48204506a8ebe15cdbd468498f5ae538b1d7ee3e7630375ba7cb2f98df2f596c12d3f4d5d5c21badc1c6ca8009f5142baded8511609a28eabd19a + languageName: node + linkType: hard + +"run-queue@npm:^1.0.0, run-queue@npm:^1.0.3": + version: 1.0.3 + resolution: "run-queue@npm:1.0.3" + dependencies: + aproba: "npm:^1.1.1" + checksum: 10c0/4e8964279d8f160f9ffaabe82eaad11a1d4c0db596a0f2b5257ae9d2b900c7e1ffcece3e5719199436f50718e1e7f45bb4bf7a82e331a4e734d67c2588a90cbb + languageName: node + linkType: hard + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.2.0": + version: 5.2.0 + resolution: "safe-buffer@npm:5.2.0" + checksum: 10c0/9e1d7f6a162b493b54ecc29e60fcedaf4d0b53aa1636088f8f1f40dc5e7ceeb44885983c0de8148a735369e1ce567abe9465e8086e413673706432d4df8cca07 + languageName: node + linkType: hard + +"safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 10c0/780ba6b5d99cc9a40f7b951d47152297d0e260f0df01472a1b99d4889679a4b94a13d644f7dbc4f022572f09ae9005fa2fbb93bbbd83643316f365a3e9a45b21 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: "npm:~0.1.10" + checksum: 10c0/547d58aa5184cbef368fd5ed5f28d20f911614748c5da6b35f53fd6626396707587251e6e3d1e3010fd3ff1212e413841b8825eaa5f317017ca62a30899af31a + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": "npm:^1.0.3" + anymatch: "npm:^2.0.0" + capture-exit: "npm:^2.0.0" + exec-sh: "npm:^0.3.2" + execa: "npm:^1.0.0" + fb-watchman: "npm:^2.0.0" + micromatch: "npm:^3.1.4" + minimist: "npm:^1.1.1" + walker: "npm:~1.0.5" + bin: + sane: ./src/cli.js + checksum: 10c0/7d0991ecaa10b02c6d0339a6f7e31db776971f3b659a351916dcc7ce3464671e72b54d80bcce118e39d4343e1e56c699fe35f6cb89fbd88b07095b72841cbfb0 + languageName: node + linkType: hard + +"sax@npm:^1.2.4": + version: 1.2.4 + resolution: "sax@npm:1.2.4" + checksum: 10c0/6e9b05ff443ee5e5096ce92d31c0740a20d33002fad714ebcb8fc7a664d9ee159103ebe8f7aef0a1f7c5ecacdd01f177f510dff95611c589399baf76437d3fe3 + languageName: node + linkType: hard + +"scheduler@npm:^0.15.0": + version: 0.15.0 + resolution: "scheduler@npm:0.15.0" + dependencies: + loose-envify: "npm:^1.1.0" + object-assign: "npm:^4.1.1" + checksum: 10c0/25b7116942ade0ce94f16f221ad43402cee649fe4ec1523ab3276f3bb3bafc8b4d28525a2862c2bd0d1951a836aa2bc0e98ec3966504576d39fc2ac78b5851cc + languageName: node + linkType: hard + +"schema-utils@npm:^1.0.0": + version: 1.0.0 + resolution: "schema-utils@npm:1.0.0" + dependencies: + ajv: "npm:^6.1.0" + ajv-errors: "npm:^1.0.0" + ajv-keywords: "npm:^3.1.0" + checksum: 10c0/670e22d7f0ff0b6f4514a4d6fb27c359101b44b7dbfd9563af201af72eb4a9ff06144020cab5f85b16e88821fd09b97cbdae6c893721c6528c8cb704124e6a2f + languageName: node + linkType: hard + +"schema-utils@npm:^2.0.0, schema-utils@npm:^2.0.1": + version: 2.1.0 + resolution: "schema-utils@npm:2.1.0" + dependencies: + ajv: "npm:^6.1.0" + ajv-keywords: "npm:^3.1.0" + checksum: 10c0/daafc67aafe95128eef87c0a2ad42910254c747cab9975813092ea606b10ab4836ed242a180a885098592e1990bea6d757f393701dd8a7207f41229927de5146 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.3.0, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 10c0/d4884f2aeca28bff35d0bd40ff0a9b2dfc4b36a883bf0ea5dc15d10d9a01bdc9041035b05f825d4b5ac8a56e490703dbf0d986d054de82cc5e9bad3f02ca6e00 + languageName: node + linkType: hard + +"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 10c0/1f4959e15bcfbaf727e964a4920f9260141bb8805b399793160da4e7de128e42a7d1f79c1b7d5cd21a6073fba0d55feb9966f5fef3e5ccb8e1d7ead3d7527458 + languageName: node + linkType: hard + +"semver@npm:^6.3.1": + version: 6.3.1 + resolution: "semver@npm:6.3.1" + bin: + semver: bin/semver.js + checksum: 10c0/e3d79b609071caa78bcb6ce2ad81c7966a46a7431d9d58b8800cfa9cb6a63699b3899a0e4bcce36167a284578212d9ae6942b6929ba4aa5015c079a67751d42d + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.5.3, semver@npm:^7.5.4, semver@npm:^7.8.0": + version: 7.8.5 + resolution: "semver@npm:7.8.5" + bin: + semver: bin/semver.js + checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c + languageName: node + linkType: hard + +"serialize-javascript@npm:^1.6.1, serialize-javascript@npm:^1.7.0": + version: 1.8.0 + resolution: "serialize-javascript@npm:1.8.0" + checksum: 10c0/7cbbee6d28c2977e2133858e81673f3548bbb7adf9828ae4767e23673791a7c044bcdd345d7c92552782d0e31466961175390be93a73913acc6926defd5fc3f5 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: "npm:^2.0.1" + is-extendable: "npm:^0.1.1" + is-plain-object: "npm:^2.0.3" + split-string: "npm:^3.0.1" + checksum: 10c0/4c40573c4f6540456e4b38b95f570272c4cfbe1d12890ad4057886da8535047cd772dfadf5b58e2e87aa244dfb4c57e3586f6716b976fc47c5144b6b09e1811b + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 10c0/5bae81bfdbfbd0ce992893286d49c9693c82b1bcc00dcaaf3a09c8f428fdeacf4190c013598b81875dfac2b08a572422db7df779a99332d0fce186d15a3e4d49 + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: "npm:^2.0.1" + safe-buffer: "npm:^5.0.1" + bin: + sha.js: ./bin.js + checksum: 10c0/b7a371bca8821c9cc98a0aeff67444a03d48d745cb103f17228b96793f455f0eb0a691941b89ea1e60f6359207e36081d9be193252b0f128e0daf9cfea2815a5 + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: "npm:^1.0.0" + checksum: 10c0/7b20dbf04112c456b7fc258622dafd566553184ac9b6938dd30b943b065b21dabd3776460df534cc02480db5e1b6aec44700d985153a3da46e7db7f9bd21326d + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 10c0/9abc45dee35f554ae9453098a13fdc2f1730e525a5eb33c51f096cc31f6f10a4b38074c1ebf354ae7bffa7229506083844008dfc3bb7818228568c0b2dc1fff2 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shellwords@npm:^0.1.1": + version: 0.1.1 + resolution: "shellwords@npm:0.1.1" + checksum: 10c0/7d66b28927e0b524b71b2e185651fcd88a70473a077dd230fbf86188380e948ffb36cea00832d78fc13c93cd15f6f52286fb05f2746b7580623ca1ec619eb004 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": + version: 3.0.2 + resolution: "signal-exit@npm:3.0.2" + checksum: 10c0/74ce7a3128388320ee098a773ee10db107b3e103ce0f6ef0a07815f23f5df552d6f1ba78c5d07d225467f68e008355579347c31fdd5d7bc913298b7635c70331 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3, signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"sinon-chai@npm:*": + version: 3.3.0 + resolution: "sinon-chai@npm:3.3.0" + peerDependencies: + chai: ^4.0.0 + sinon: ">=4.0.0 <8.0.0" + checksum: 10c0/38640a6d5b68a29b152f0058a9891a7e271b956e4b3d503b7f920da59882551165a891bb6e7dcb36a9208f90dabfbb00c6a57e4cf4a094ad47eb24d756470ae1 + languageName: node + linkType: hard + +"sinon@npm:*": + version: 7.4.1 + resolution: "sinon@npm:7.4.1" + dependencies: + "@sinonjs/commons": "npm:^1.4.0" + "@sinonjs/formatio": "npm:^3.2.1" + "@sinonjs/samsam": "npm:^3.3.2" + diff: "npm:^3.5.0" + lolex: "npm:^4.2.0" + nise: "npm:^1.5.1" + supports-color: "npm:^5.5.0" + checksum: 10c0/3b3f542693c0abf40f20d655caea87591501f277bf1d96dde8944bb7eca22877bc20d30c98425c84e0e7ad083e76638ef917a31a72897edc74691d31dac75e30 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.3": + version: 1.0.3 + resolution: "sisteransi@npm:1.0.3" + checksum: 10c0/384b89eb6e237c3fd2194a8791ae927641b1533d609f29328694ae8b3c9fec8041c69d4f8ac82636d961c61da7ab4da21d3120c0e00daea568688732875b7e01 + languageName: node + linkType: hard + +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 10c0/f83dbd3cb62c41bb8fcbbc6bf5473f3234b97fa1d008f571710a9d3757a28c7169e1811cad1554ccb1cc531460b3d221c9a7b37f549398d9a30707f0a5af9193 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: "npm:^1.0.0" + isobject: "npm:^3.0.0" + snapdragon-util: "npm:^3.0.1" + checksum: 10c0/7616e6a1ca054afe3ad8defda17ebe4c73b0800d2e0efd635c44ee1b286f8ac7900517314b5330862ce99b28cd2782348ee78bae573ff0f55832ad81d9657f3f + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: "npm:^3.2.0" + checksum: 10c0/4441856d343399ba7f37f79681949d51b922e290fcc07e7bc94655a50f584befa4fb08f40c3471cd160e004660161964d8ff140cba49baa59aa6caba774240e3 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: "npm:^0.11.1" + debug: "npm:^2.2.0" + define-property: "npm:^0.2.5" + extend-shallow: "npm:^2.0.1" + map-cache: "npm:^0.2.2" + source-map: "npm:^0.5.6" + source-map-resolve: "npm:^0.5.0" + use: "npm:^3.1.0" + checksum: 10c0/dfdac1f73d47152d72fc07f4322da09bbddfa31c1c9c3ae7346f252f778c45afa5b03e90813332f02f04f6de8003b34a168c456f8bb719024d092f932520ffca + languageName: node + linkType: hard + +"source-list-map@npm:^2.0.0": + version: 2.0.1 + resolution: "source-list-map@npm:2.0.1" + checksum: 10c0/2e5e421b185dcd857f46c3c70e2e711a65d717b78c5f795e2e248c9d67757882ea989b80ebc08cf164eeeda5f4be8aa95d3b990225070b2daaaf3257c5958149 + languageName: node + linkType: hard + +"source-map-loader@npm:*": + version: 0.2.4 + resolution: "source-map-loader@npm:0.2.4" + dependencies: + async: "npm:^2.5.0" + loader-utils: "npm:^1.1.0" + checksum: 10c0/208796470aff6fab3e28399c9dbcc5de98e30713f1413cf8593de695a354263d0d9b6a0ff8ee0b8df27cf802103171357a59caf988a15e17fd2ac41d5d8b22df + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0": + version: 0.5.2 + resolution: "source-map-resolve@npm:0.5.2" + dependencies: + atob: "npm:^2.1.1" + decode-uri-component: "npm:^0.2.0" + resolve-url: "npm:^0.2.1" + source-map-url: "npm:^0.4.0" + urix: "npm:^0.1.0" + checksum: 10c0/ba7e6e4039cd0bd8cc679722c73524cc06ca083278a5e7616a4723734baf64529339fd41450139011ead7fd184bd284148c93512bac08e64dd8c391b2ae5cf68 + languageName: node + linkType: hard + +"source-map-support@npm:0.5.13, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12": + version: 0.5.13 + resolution: "source-map-support@npm:0.5.13" + dependencies: + buffer-from: "npm:^1.0.0" + source-map: "npm:^0.6.0" + checksum: 10c0/137539f8c453fa0f496ea42049ab5da4569f96781f6ac8e5bfda26937be9494f4e8891f523c5f98f0e85f71b35d74127a00c46f83f6a4f54672b58d53202565e + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.0 + resolution: "source-map-url@npm:0.4.0" + checksum: 10c0/73fff12f99aa16a49925ddbc0a92f52c07353db0de00d292a286fb6d8f2d00927ed144f646de8d2b199a5fb8d19398cbb9a0b7af629d491c99d59a97b16bdd47 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0, source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 10c0/904e767bb9c494929be013017380cbba013637da1b28e5943b566031e29df04fba57edf3f093e0914be094648b577372bd8ad247fa98cfba9c600794cd16b599 + languageName: node + linkType: hard + +"source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"sourcemap-codec@npm:^1.4.4": + version: 1.4.6 + resolution: "sourcemap-codec@npm:1.4.6" + checksum: 10c0/974f5e71a2837bdd11c1bb93402f5bba31dabac98014feed137ff613ce5f06ca23223ab944bfb844e075979de748d9a5e2db24b98f43affd183f818bd00a4415 + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.0 + resolution: "spdx-correct@npm:3.1.0" + dependencies: + spdx-expression-parse: "npm:^3.0.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/6491c5d0764dc99fa3d6960e49d1d3e1bf51ab5977bac81e925162521f7a4592603b01dba650c08077425e80a3f5bf9805657957cbed3006c275b01e78351d72 + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.2.0 + resolution: "spdx-exceptions@npm:2.2.0" + checksum: 10c0/a84078029191929776afbda61fad8dd52b4d0e4d0d84394912e2693bcb07bc981784cc809ac9466d834dfe3003f06fff9090fcb20a3156ba753f628c9baf485e + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.0 + resolution: "spdx-expression-parse@npm:3.0.0" + dependencies: + spdx-exceptions: "npm:^2.1.0" + spdx-license-ids: "npm:^3.0.0" + checksum: 10c0/58410aebe807d433be412d8db1c641b6cc2995ddb87932c77d7894a7110e2b2bffc641c26a227985d1a50929c0ee737d8ed0267b74eec6f0205ffb5fef9e92cf + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.5 + resolution: "spdx-license-ids@npm:3.0.5" + checksum: 10c0/f4f46b907cb9ab62215b17b725620f96df75f436d73abb54ed2deba59e3222e8f4b16994db6de8bfae5327d82d4eda302cf96a43af449f9de4a1f01242aeccbb + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: "npm:^3.0.0" + checksum: 10c0/72d7cd625445c7af215130e1e2bc183013bb9dd48a074eda1d35741e2b0dcb355e6df5b5558a62543a24dcec37dd1d6eb7a6228ff510d3c9de0f3dc1d1da8a70 + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" + dependencies: + asn1: "npm:~0.2.3" + assert-plus: "npm:^1.0.0" + bcrypt-pbkdf: "npm:^1.0.0" + dashdash: "npm:^1.12.0" + ecc-jsbn: "npm:~0.1.1" + getpass: "npm:^0.1.1" + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.0.2" + tweetnacl: "npm:~0.14.0" + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 10c0/0fd664954f6c9dd07d77076e26c15de4ede5ea4457df86119c0c67d28b53d7a97647431e198869ebaf680cf8d292db2114a28d4c30841125e50c0de37a4b89bf + languageName: node + linkType: hard + +"ssri@npm:^6.0.1": + version: 6.0.1 + resolution: "ssri@npm:6.0.1" + dependencies: + figgy-pudding: "npm:^3.5.1" + checksum: 10c0/9e6c53db8d0017733a8a54210500cf991b4c6990d5c0c5499a6a5482e1bdd8478bbb30d46294b53edaa3ba8d287f6b9403e2abd9501d8e87ac7106b56cd1dc2f + languageName: node + linkType: hard + +"stack-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "stack-utils@npm:1.0.2" + checksum: 10c0/41b714acbb8d887ef7801010adf430a60db64e03e37953652ecbd17d5e67d59854691816baa7ad3bf8f1bb1863b8af083762fd1a560da68ee9151e81b122f77e + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.3": + version: 2.0.6 + resolution: "stack-utils@npm:2.0.6" + dependencies: + escape-string-regexp: "npm:^2.0.0" + checksum: 10c0/651c9f87667e077584bbe848acaecc6049bc71979f1e9a46c7b920cad4431c388df0f51b8ad7cfd6eed3db97a2878d0fc8b3122979439ea8bac29c61c95eec8a + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: "npm:^0.2.5" + object-copy: "npm:^0.1.0" + checksum: 10c0/284f5865a9e19d079f1badbcd70d5f9f82e7a08393f818a220839cd5f71729e89105e1c95322bd28e833161d484cee671380ca443869ae89578eef2bf55c0653 + languageName: node + linkType: hard + +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 10c0/714b61e152ba03a5e098b5364cc3076d8036edabc2892143fe3c64291194a401b74f071fadebba94551fb013a02f3bcad56a8be29a67b3c644ac78ffda921f80 + languageName: node + linkType: hard + +"stream-browserify@npm:^2.0.1": + version: 2.0.2 + resolution: "stream-browserify@npm:2.0.2" + dependencies: + inherits: "npm:~2.0.1" + readable-stream: "npm:^2.0.2" + checksum: 10c0/485562bd5d962d633ae178449029c6fa2611052e356bdb5668f768544aa4daa94c4f9a97de718f3f30ad98f3cb98a5f396252bb3855aff153c138f79c0e8f6ac + languageName: node + linkType: hard + +"stream-each@npm:^1.1.0": + version: 1.2.3 + resolution: "stream-each@npm:1.2.3" + dependencies: + end-of-stream: "npm:^1.1.0" + stream-shift: "npm:^1.0.0" + checksum: 10c0/7ed229d3b7c24373058b5742b00066da8d3122d1487c8219a025ed53a8978545c77654a529a8e9c62ba83ae80c424cbb0204776b49abf72270d2e8154831dd5f + languageName: node + linkType: hard + +"stream-http@npm:^2.7.2": + version: 2.8.3 + resolution: "stream-http@npm:2.8.3" + dependencies: + builtin-status-codes: "npm:^3.0.0" + inherits: "npm:^2.0.1" + readable-stream: "npm:^2.3.6" + to-arraybuffer: "npm:^1.0.0" + xtend: "npm:^4.0.0" + checksum: 10c0/fbe7d327a29216bbabe88d3819bb8f7a502f11eeacf3212579e5af1f76fa7283f6ffa66134ab7d80928070051f571d1029e85f65ce3369fffd4c4df3669446c4 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0": + version: 1.0.0 + resolution: "stream-shift@npm:1.0.0" + checksum: 10c0/f9f353d38bd7564fe21961fff2db320cbb095eae8b9f032ffe757f9543af133d7d6a0688de3a5f724db8e67d077db717cfd2e0b39f753c103fbf978b00998513 + languageName: node + linkType: hard + +"strict-event-emitter@npm:^0.5.1": + version: 0.5.1 + resolution: "strict-event-emitter@npm:0.5.1" + checksum: 10c0/f5228a6e6b6393c57f52f62e673cfe3be3294b35d6f7842fc24b172ae0a6e6c209fa83241d0e433fc267c503bc2f4ffdbe41a9990ff8ffd5ac425ec0489417f7 + languageName: node + linkType: hard + +"string-length@npm:^2.0.0": + version: 2.0.0 + resolution: "string-length@npm:2.0.0" + dependencies: + astral-regex: "npm:^1.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/909e8060af60a30c2d4152df5e29b01b8e0068211d0b9eca78a945452f34b7a774002f9536dc80568bbc6f476ecd0d57b82347f9de3c229e285bdaefc02e1931 + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.2 + resolution: "string-length@npm:4.0.2" + dependencies: + char-regex: "npm:^1.0.2" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/1cd77409c3d7db7bc59406f6bcc9ef0783671dcbabb23597a1177c166906ef2ee7c8290f78cae73a8aec858768f189d2cb417797df5e15ec4eb5e16b3346340c + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: "npm:^1.0.0" + is-fullwidth-code-point: "npm:^1.0.0" + strip-ansi: "npm:^3.0.0" + checksum: 10c0/c558438baed23a9ab9370bb6a939acbdb2b2ffc517838d651aad0f5b2b674fb85d460d9b1d0b6a4c210dffd09e3235222d89a5bd4c0c1587f78b2bb7bc00c65e + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^4.0.0" + checksum: 10c0/e5f2b169fcf8a4257a399f95d069522f056e92ec97dbdcb9b0cdf14d688b7ca0b1b1439a1c7b9773cd79446cbafd582727279d6bfdd9f8edd306ea5e90e5b610 + languageName: node + linkType: hard + +"string-width@npm:^3.0.0, string-width@npm:^3.1.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: "npm:^7.0.1" + is-fullwidth-code-point: "npm:^2.0.0" + strip-ansi: "npm:^5.1.0" + checksum: 10c0/85fa0d4f106e7999bb68c1c640c76fa69fb8c069dab75b009e29c123914e2d3b532e6cfa4b9d1bd913176fc83dedd7a2d7bf40d21a81a8a1978432cedfb65b91 + languageName: node + linkType: hard + +"string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string_decoder@npm:^1.0.0": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: "npm:~5.1.0" + checksum: 10c0/b4f89f3a92fd101b5653ca3c99550e07bdf9e13b35037e9e2a1c7b47cec4e55e06ff3fc468e314a0b5e80bfbaf65c1ca5a84978764884ae9413bec1fc6ca924e + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: "npm:^3.0.0" + checksum: 10c0/d75d9681e0637ea316ddbd7d4d3be010b1895a17e885155e0ed6a39755ae0fd7ef46e14b22162e66a62db122d3a98ab7917794e255532ab461bb0a04feb03e7d + languageName: node + linkType: hard + +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: "npm:^4.1.0" + checksum: 10c0/de4658c8a097ce3b15955bc6008f67c0790f85748bdc025b7bc8c52c7aee94bc4f9e50624516150ed173c3db72d851826cd57e7a85fe4e4bb6dbbebd5d297fdf + languageName: node + linkType: hard + +"strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 10c0/51201f50e021ef16672593d7434ca239441b7b760e905d9f33df6e4f3954ff54ec0e0a06f100d028af0982d6f25c35cd5cda2ce34eaebccd0250b8befb90d8f1 + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 10c0/26abad1172d6bc48985ab9a5f96c21e440f6e7e476686de49be813b5a59b3566dccb5c525b831ec54fe348283b47f3ffb8e080bc3f965fde12e84df23f6bb7ef + languageName: node + linkType: hard + +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 10c0/f336beed8622f7c1dd02f2cbd8422da9208fae81daf184f73656332899978919d5c0ca84dc6cfc49ad1fc4dd7badcde5412a063cf4e0d7f8ed95a13a63f68f45 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"style-loader@npm:*": + version: 1.0.0 + resolution: "style-loader@npm:1.0.0" + dependencies: + loader-utils: "npm:^1.2.3" + schema-utils: "npm:^2.0.1" + peerDependencies: + webpack: ^4.0.0 + checksum: 10c0/349e259ead3747b77c0a6806ab0718c8284b7dbe1c8f70683bacace058a363ad66ccf2efdb76ee00a1219e0b45eca2079018a43bc900795fc485d0f265f5f42e + languageName: node + linkType: hard + +"supports-color@npm:6.1.0, supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/ebf2befe41b55932c6d77192b91775f1403c389440ce2dab6f72663cf32ee87a1d9dea3512131a18e45ccac91424a8873b266142828489d0206d65ee93d224b6 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: "npm:^3.0.0" + checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"supports-color@npm:^8.0.0": + version: 8.1.1 + resolution: "supports-color@npm:8.1.1" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/ea1d3c275dd604c974670f63943ed9bd83623edc102430c05adb8efc56ba492746b6e95386e7831b872ec3807fd89dd8eb43f735195f37b5ec343e4234cc7e89 + languageName: node + linkType: hard + +"supports-preserve-symlinks-flag@npm:^1.0.0": + version: 1.0.0 + resolution: "supports-preserve-symlinks-flag@npm:1.0.0" + checksum: 10c0/6c4032340701a9950865f7ae8ef38578d8d7053f5e10518076e6554a9381fa91bd9c6850193695c141f32b21f979c985db07265a758867bac95de05f7d8aeb39 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.2": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 10c0/dfbe201ae09ac6053d163578778c53aa860a784147ecf95705de0cd23f42c851e1be7889241495e95c37cabb058edb1052f141387bef68f705afc8f9dd358509 + languageName: node + linkType: hard + +"tapable@npm:^1.0.0, tapable@npm:^1.1.3": + version: 1.1.3 + resolution: "tapable@npm:1.1.3" + checksum: 10c0/c9f0265e55e45821ec672b9b9ee8a35d95bf3ea6b352199f8606a2799018e89cfe4433c554d424b31fc67c4be26b05d4f36dc3c607def416fdb2514cd63dba50 + languageName: node + linkType: hard + +"tar@npm:^4": + version: 4.4.10 + resolution: "tar@npm:4.4.10" + dependencies: + chownr: "npm:^1.1.1" + fs-minipass: "npm:^1.2.5" + minipass: "npm:^2.3.5" + minizlib: "npm:^1.2.1" + mkdirp: "npm:^0.5.0" + safe-buffer: "npm:^5.1.2" + yallist: "npm:^3.0.3" + checksum: 10c0/851b13cbfc1a587d81c63db9f6cef04e4359d7c5e05d977bac58d99d94297735faf501ba135b742e5fc7dacd4873698318f44dd735f59c7c063315c820bffed6 + languageName: node + linkType: hard + +"tar@npm:^7.5.4": + version: 7.5.19 + resolution: "tar@npm:7.5.19" + dependencies: + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.1.0" + yallist: "npm:^5.0.0" + checksum: 10c0/7022e8cb04a8ceccc0689f2c731743fa2aab2e3c3f559f7dbc37b65ef7d5913049b427284eded2ec0765c5db5ff72dd7939fe2ae15785ff422cef2116c95d798 + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^1.4.1": + version: 1.4.1 + resolution: "terser-webpack-plugin@npm:1.4.1" + dependencies: + cacache: "npm:^12.0.2" + find-cache-dir: "npm:^2.1.0" + is-wsl: "npm:^1.1.0" + schema-utils: "npm:^1.0.0" + serialize-javascript: "npm:^1.7.0" + source-map: "npm:^0.6.1" + terser: "npm:^4.1.2" + webpack-sources: "npm:^1.4.0" + worker-farm: "npm:^1.7.0" + peerDependencies: + webpack: ^4.0.0 + checksum: 10c0/07196888f260a106d3d45973c629418510bb712a2d27576cf82e9d34b5770b7714174a78e30a2a2abefb10edddb6885ebd1a7023e1d63e15b99c8839888bbdfe + languageName: node + linkType: hard + +"terser@npm:^4.1.2": + version: 4.2.1 + resolution: "terser@npm:4.2.1" + dependencies: + commander: "npm:^2.20.0" + source-map: "npm:~0.6.1" + source-map-support: "npm:~0.5.12" + bin: + terser: bin/uglifyjs + checksum: 10c0/85ad3191bbc8fb9fbda73babb1b2d1d752368e162dd20d03dcf84a6a696007e21b6b87709ac36f76a386aee050961410543aa4e6012da704555af110599acc7e + languageName: node + linkType: hard + +"test-exclude@npm:^5.2.3": + version: 5.2.3 + resolution: "test-exclude@npm:5.2.3" + dependencies: + glob: "npm:^7.1.3" + minimatch: "npm:^3.0.4" + read-pkg-up: "npm:^4.0.0" + require-main-filename: "npm:^2.0.0" + checksum: 10c0/36d767a6ab71b170aa42092a5d540d6974a350fcfed342f29351c6e47cf061b73fabb4fe8b316ce989d6a7f058475417af209818e3702f5e7e17f4544a93535c + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"throat@npm:^4.0.0": + version: 4.1.0 + resolution: "throat@npm:4.1.0" + checksum: 10c0/2719e5adee890a437b68db58725086c4296091a613229b79602f34ff5016e7411e12299ff2a04032dac9e11e3781e8c7a06c58d472bf9abf17b034fe50434d64 + languageName: node + linkType: hard + +"through2@npm:^2.0.0": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: "npm:~2.3.6" + xtend: "npm:~4.0.1" + checksum: 10c0/cbfe5b57943fa12b4f8c043658c2a00476216d79c014895cef1ac7a1d9a8b31f6b438d0e53eecbb81054b93128324a82ecd59ec1a4f91f01f7ac113dcb14eade + languageName: node + linkType: hard + +"timers-browserify@npm:^2.0.4": + version: 2.0.11 + resolution: "timers-browserify@npm:2.0.11" + dependencies: + setimmediate: "npm:^1.0.4" + checksum: 10c0/1c4f889fb6850590151cd19a69cfb1ccc28a298e3621df6c91c2cb31ca6db7b03a02367fcf76f2efc4f8bab008b2c77a3afb2067fe8f69bd78e41fdf15e35ac3 + languageName: node + linkType: hard + +"tinyglobby@npm:^0.2.12": + version: 0.2.17 + resolution: "tinyglobby@npm:0.2.17" + dependencies: + fdir: "npm:^6.5.0" + picomatch: "npm:^4.0.4" + checksum: 10c0/7f7bb0f197c88bc4b20c231e0deca4240ca3bf313a88f5a7fee93a872b84966a4d50220947c0455ad07a60b3b360961c5b7fd979222aeb716a9f99b412002e4c + languageName: node + linkType: hard + +"tmpl@npm:1.0.5": + version: 1.0.5 + resolution: "tmpl@npm:1.0.5" + checksum: 10c0/f935537799c2d1922cb5d6d3805f594388f75338fe7a4a9dac41504dd539704ca4db45b883b52e7b0aa5b2fd5ddadb1452bf95cd23a69da2f793a843f9451cc9 + languageName: node + linkType: hard + +"tmpl@npm:1.0.x": + version: 1.0.4 + resolution: "tmpl@npm:1.0.4" + checksum: 10c0/1eba5c6cefdc432ba393255d8fa1ada48c7ec3ec0d1c58955bb5293fff4f8a1cc4b305bea7940aba9301006009ea7a38a2f9333db0f332d72a732e9e4ae7ac9c + languageName: node + linkType: hard + +"to-arraybuffer@npm:^1.0.0": + version: 1.0.1 + resolution: "to-arraybuffer@npm:1.0.1" + checksum: 10c0/2460bd95524f4845a751e4f8bf9937f9f3dcd1651f104e1512868782f858f8302c1cf25bbc30794bc1b3ff65c4e135158377302f2abaff43a2d8e3c38dfe098c + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: "npm:^3.0.2" + checksum: 10c0/731832a977614c03a770363ad2bd9e9c82f233261861724a8e612bb90c705b94b1a290a19f52958e8e179180bb9b71121ed65e245691a421467726f06d1d7fc3 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: "npm:^3.0.0" + repeat-string: "npm:^1.6.1" + checksum: 10c0/440d82dbfe0b2e24f36dd8a9467240406ad1499fc8b2b0f547372c22ed1d092ace2a3eb522bb09bfd9c2f39bf1ca42eb78035cf6d2b8c9f5c78da3abc96cd949 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: "npm:^2.0.2" + extend-shallow: "npm:^3.0.2" + regex-not: "npm:^1.0.2" + safe-regex: "npm:^1.1.0" + checksum: 10c0/99d0b8ef397b3f7abed4bac757b0f0bb9f52bfd39167eb7105b144becfaa9a03756892352d01ac6a911f0c1ceef9f81db68c46899521a3eed054082042796120 + languageName: node + linkType: hard + +"todomvc-app-css@npm:^2.0.0": + version: 2.2.0 + resolution: "todomvc-app-css@npm:2.2.0" + checksum: 10c0/139b89052fabc9894d811bc87aa42ff9091b2a0271d645d232304c34e6ffc3aaa8142b295a69021e622b0b0028d337c09929e4e6f547d4876bce1c8a4de4cdb3 + languageName: node + linkType: hard + +"todomvc-common@npm:^1.0.0": + version: 1.0.5 + resolution: "todomvc-common@npm:1.0.5" + checksum: 10c0/5195933fe43b543661b3c407cea28f62d40bd5d1cbfb8cae1f479f0ac75e1636a3b1ef409235e062993307183dc5b59f0d536146aaf00f91882b2b6343c44dbc + languageName: node + linkType: hard + +"todomvc@workspace:examples/todomvc": + version: 0.0.0-use.local + resolution: "todomvc@workspace:examples/todomvc" + dependencies: + "@babel/core": "npm:*" + "@babel/plugin-proposal-class-properties": "npm:^7.5.5" + "@babel/plugin-proposal-decorators": "npm:^7.4.4" + "@babel/plugin-transform-runtime": "npm:^7.5.5" + "@babel/preset-env": "npm:^7.5.5" + "@babel/preset-react": "npm:^7.0.0" + "@type-r/models": "npm:^4.1.0" + "@type-r/react": "npm:^4.1.0" + babel-loader: "npm:*" + classnames: "npm:^2.2.6" + css-loader: "npm:*" + react: "npm:^16.1.1" + react-dom: "npm:^16.1.1" + source-map-loader: "npm:*" + style-loader: "npm:*" + todomvc-app-css: "npm:^2.0.0" + todomvc-common: "npm:^1.0.0" + webpack: "npm:^4.38.0" + webpack-cli: "npm:^3.3.6" + languageName: unknown + linkType: soft + +"tough-cookie@npm:^2.3.3, tough-cookie@npm:^2.3.4": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: "npm:^1.1.28" + punycode: "npm:^2.1.1" + checksum: 10c0/e1cadfb24d40d64ca16de05fa8192bc097b66aeeb2704199b055ff12f450e4f30c927ce250f53d01f39baad18e1c11d66f65e545c5c6269de4c366fafa4c0543 + languageName: node + linkType: hard + +"tough-cookie@npm:~2.4.3": + version: 2.4.3 + resolution: "tough-cookie@npm:2.4.3" + dependencies: + psl: "npm:^1.1.24" + punycode: "npm:^1.4.1" + checksum: 10c0/35fb214ea89533bee66917faf563dddbe494d69a0b4f2ace7c27dcf5fe8c6b3c9484e8731654d35c56c3645c896c660b488e2509b6896f29c7af1e30fc11463b + languageName: node + linkType: hard + +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + languageName: node + linkType: hard + +"trim-right@npm:^1.0.1": + version: 1.0.1 + resolution: "trim-right@npm:1.0.1" + checksum: 10c0/71989ec179c6b42a56e03db68e60190baabf39d32d4e1252fa1501c4e478398ae29d7191beffe015b9d9dc76f04f4b3a946bdb9949ad6b0c0b0c5db65f3eb672 + languageName: node + linkType: hard + +"ts-jest@npm:^29.4.11": + version: 29.4.11 + resolution: "ts-jest@npm:29.4.11" + dependencies: + bs-logger: "npm:^0.2.6" + fast-json-stable-stringify: "npm:^2.1.0" + handlebars: "npm:^4.7.9" + json5: "npm:^2.2.3" + lodash.memoize: "npm:^4.1.2" + make-error: "npm:^1.3.6" + semver: "npm:^7.8.0" + type-fest: "npm:^4.41.0" + yargs-parser: "npm:^21.1.1" + peerDependencies: + "@babel/core": ">=7.0.0-beta.0 <8" + "@jest/transform": ^29.0.0 || ^30.0.0 + "@jest/types": ^29.0.0 || ^30.0.0 + babel-jest: ^29.0.0 || ^30.0.0 + jest: ^29.0.0 || ^30.0.0 + jest-util: ^29.0.0 || ^30.0.0 + typescript: ">=4.3 <7" + peerDependenciesMeta: + "@babel/core": + optional: true + "@jest/transform": + optional: true + "@jest/types": + optional: true + babel-jest: + optional: true + esbuild: + optional: true + jest-util: + optional: true + bin: + ts-jest: cli.js + checksum: 10c0/f9e6ab3235f33088c4d6441da97d4b03b1fe9c21f4d859d7acf3f325ea36471a6c1ea9301f445b2670efa1a391dcddc31ecd8641a2d673752d074136311b8480 + languageName: node + linkType: hard + +"ts-starter@workspace:examples/ts-starter": + version: 0.0.0-use.local + resolution: "ts-starter@workspace:examples/ts-starter" + dependencies: + "@babel/core": "npm:*" + "@babel/plugin-proposal-class-properties": "npm:^7.5.5" + "@babel/plugin-proposal-decorators": "npm:^7.4.4" + "@babel/preset-env": "npm:^7.5.5" + "@babel/preset-react": "npm:^7.0.0" + "@type-r/models": "npm:^4.1.0" + "@type-r/react": "npm:^4.1.0" + babel-loader: "npm:*" + css-loader: "npm:*" + react: "npm:^16.1.1" + react-dom: "npm:^16.1.1" + source-map-loader: "npm:*" + style-loader: "npm:*" + webpack: "npm:^4.38.0" + webpack-cli: "npm:^3.3.6" + languageName: unknown + linkType: soft + +"tslib@npm:^1.10.0": + version: 1.11.1 + resolution: "tslib@npm:1.11.1" + checksum: 10c0/053e9d4bf2725a9383cbc5e8b18d0ded808f2288790c9ca40d7e3f553c051e3a010fb9f0647bd17d866f5a711a3d6cb4bf1b61360a82f0ed098431707c069ca8 + languageName: node + linkType: hard + +"tslib@npm:^1.9.0, tslib@npm:^1.9.3": + version: 1.10.0 + resolution: "tslib@npm:1.10.0" + checksum: 10c0/56ed243bdbb84430025f149a3d2676df75292cc50c552f3b09c1b008ecdb3b4959259ce79239a979b444ab0a4d90e36be24a4758b6f142b2d6ceb26079195f65 + languageName: node + linkType: hard + +"tty-browserify@npm:0.0.0": + version: 0.0.0 + resolution: "tty-browserify@npm:0.0.0" + checksum: 10c0/c0c68206565f1372e924d5cdeeff1a0d9cc729833f1da98c03d78be8f939e5f61a107bd0ab77d1ef6a47d62bb0e48b1081fbea273acf404959e22fd3891439c5 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 10c0/4612772653512c7bc19e61923fbf42903f5e0389ec76a4a1f17195859d114671ea4aa3b734c2029ce7e1fa7e5cc8b80580f67b071ecf0b46b5636d030a0102a2 + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: "npm:~1.1.2" + checksum: 10c0/776217116b2b4e50e368c7ee0c22c0a85e982881c16965b90d52f216bc296d6a52ef74f9202d22158caacc092a7645b0b8d5fe529a96e3fe35d0fb393966c875 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8, type-detect@npm:^4.0.0, type-detect@npm:^4.0.5": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.21.3": + version: 0.21.3 + resolution: "type-fest@npm:0.21.3" + checksum: 10c0/902bd57bfa30d51d4779b641c2bc403cdf1371fb9c91d3c058b0133694fcfdb817aef07a47f40faf79039eecbaa39ee9d3c532deff244f3a19ce68cea71a61e8 + languageName: node + linkType: hard + +"type-fest@npm:^4.41.0": + version: 4.41.0 + resolution: "type-fest@npm:4.41.0" + checksum: 10c0/f5ca697797ed5e88d33ac8f1fec21921839871f808dc59345c9cf67345bfb958ce41bd821165dbf3ae591cedec2bf6fe8882098dfdd8dc54320b859711a2c1e4 + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typescript@npm:6.0.3": + version: 6.0.3 + resolution: "typescript@npm:6.0.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/4a25ff5045b984370f48f196b3a0120779b1b343d40b9a68d114ea5e5fff099809b2bb777576991a63a5cd59cf7bffd96ff6fe10afcefbcb8bd6fb96ad4b6606 + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A6.0.3#optional!builtin": + version: 6.0.3 + resolution: "typescript@patch:typescript@npm%3A6.0.3#optional!builtin::version=6.0.3&hash=5786d5" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/2f25c74e65663c248fa1ade2b8459d9ce5372ff9dad07067310f132966ebec1d93f6c42f0baf77a6b6a7a91460463f708e6887013aaade22111037457c6b25df + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4, uglify-js@npm:^3.4.9": + version: 3.6.0 + resolution: "uglify-js@npm:3.6.0" + dependencies: + commander: "npm:~2.20.0" + source-map: "npm:~0.6.1" + bin: + uglifyjs: bin/uglifyjs + checksum: 10c0/c27861a3bd859bdf2ffab25c4c992690d1e167db150ad3c8807889c245bde6bf4c25b628e1626741f724f8e4218184e0430909032468afe97ab364cb05190a58 + languageName: node + linkType: hard + +"underscore@npm:*": + version: 1.9.1 + resolution: "underscore@npm:1.9.1" + checksum: 10c0/63415f33b1ba4d7f8a9c8bdd00d457ce7ebdfcb9b1bf9dd596d7550550a790986e5ce7f2319d5e5076dbd56c4a359ebd3c914dd98f6eb33122d41fd439fcb4fa + languageName: node + linkType: hard + +"undici@npm:^8.4.1": + version: 8.7.0 + resolution: "undici@npm:8.7.0" + checksum: 10c0/b7e5ecb4de82fa4f905011a77544fe7ba4da06f27167ff99313a7ae2869f3cb233d676dcd085533bc69f36989bc40871f5ae6ea6e4c9b91db92616b9e91b579d + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^1.0.4": + version: 1.0.4 + resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4" + checksum: 10c0/68707d399303178b060953d38cca4c3502fadf7fd5e74b5bf2c2bec41a6a1db336228cc8ec53e2bca8badc17f4212d677c71934d9cd4ab6f5ec2e9a9ce0ae235 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^1.0.4": + version: 1.0.4 + resolution: "unicode-match-property-ecmascript@npm:1.0.4" + dependencies: + unicode-canonical-property-names-ecmascript: "npm:^1.0.4" + unicode-property-aliases-ecmascript: "npm:^1.0.4" + checksum: 10c0/957103d97a501520dbe4f89ce8a1d8d5c1495bdfe72b706828e5c62643fcb9ccb4b4b85931d65d2f899aea5f04696e1dddaaa0114b866583d3966855272d1452 + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^1.1.0": + version: 1.1.0 + resolution: "unicode-match-property-value-ecmascript@npm:1.1.0" + checksum: 10c0/b2f289210dc36ad65a0344cfb14dffd21bbfabbdbf65783492691089a18bcff0f82d1c837cff39766c78d2942b5aeb7f67d8f83cf1c4c80611bd74073bc50623 + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^1.0.4": + version: 1.0.5 + resolution: "unicode-property-aliases-ecmascript@npm:1.0.5" + checksum: 10c0/874f235d50c3f07dac82cceb1752b0f297188eed07afae177020df088be1fbb5cc56cfcdaf01cf39cd33e55eed8891ff9a040c14aa9892c90745027fec8fbba4 + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: "npm:^3.1.0" + get-value: "npm:^2.0.6" + is-extendable: "npm:^0.1.1" + set-value: "npm:^2.0.1" + checksum: 10c0/8758d880cb9545f62ce9cfb9b791b2b7a206e0ff5cc4b9d7cd6581da2c6839837fbb45e639cf1fd8eef3cae08c0201b614b7c06dd9f5f70d9dbe7c5fe2fbf592 + languageName: node + linkType: hard + +"uniq@npm:^1.0.1": + version: 1.0.1 + resolution: "uniq@npm:1.0.1" + checksum: 10c0/369dca4a07fdd8de9e48378b9d4b6861722ca71d5f496e91687916bd4b48b8cf3d6db1677be1b40eea63bc6d4728efb4b4e0bd7a89c5fd2d23e7a2cff8009c7a + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: "npm:^2.0.0" + checksum: 10c0/d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: "npm:^0.3.1" + isobject: "npm:^3.0.0" + checksum: 10c0/68a796dde4a373afdbf017de64f08490a3573ebee549136da0b3a2245299e7f65f647ef70dc13c4ac7f47b12fba4de1646fa0967a365638578fedce02b9c0b1f + languageName: node + linkType: hard + +"upath@npm:^1.1.1": + version: 1.1.2 + resolution: "upath@npm:1.1.2" + checksum: 10c0/bf9478bd65554304b22ac66ad27f07650ad574ab3b91355c41eedec27eab557f3b0658820f9ad419d628f97fee9aac219986a8bc9aa88f45592aa632c1985557 + languageName: node + linkType: hard + +"update-browserslist-db@npm:^1.2.3": + version: 1.2.3 + resolution: "update-browserslist-db@npm:1.2.3" + dependencies: + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 10c0/13a00355ea822388f68af57410ce3255941d5fb9b7c49342c4709a07c9f230bbef7f7499ae0ca7e0de532e79a82cc0c4edbd125f1a323a1845bf914efddf8bec + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.2.2 + resolution: "uri-js@npm:4.2.2" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/883130a63b280644e290f4b34d9ee6cc38477b57904bd39e1e31c33823b1d7897cd410113a2b588f8c0fb32543b43c29aa1569235fd72c57a6a82b595a476ba0 + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 10c0/264f1b29360c33c0aec5fb9819d7e28f15d1a3b83175d2bcc9131efe8583f459f07364957ae3527f1478659ec5b2d0f1ad401dfb625f73e4d424b3ae35fc5fc0 + languageName: node + linkType: hard + +"url@npm:^0.11.0": + version: 0.11.0 + resolution: "url@npm:0.11.0" + dependencies: + punycode: "npm:1.3.2" + querystring: "npm:0.2.0" + checksum: 10c0/bbe05f9f570ec5c06421c50ca63f287e61279092eed0891db69a9619323703ccd3987e6eed234c468794cf25680c599680d5c1f58d26090f1956c8e9ed8346a2 + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 10c0/75b48673ab80d5139c76922630d5a8a44e72ed58dbaf54dee1b88352d10e1c1c1fc332066c782d8ae9a56503b85d3dc67ff6d2ffbd9821120466d1280ebb6d6e + languageName: node + linkType: hard + +"userslist@workspace:examples/userslist": + version: 0.0.0-use.local + resolution: "userslist@workspace:examples/userslist" + dependencies: + "@babel/core": "npm:*" + "@babel/plugin-proposal-class-properties": "npm:^7.5.5" + "@babel/plugin-proposal-decorators": "npm:^7.4.4" + "@babel/plugin-transform-runtime": "npm:^7.5.5" + "@babel/preset-env": "npm:^7.5.5" + "@babel/preset-react": "npm:^7.0.0" + "@type-r/models": "npm:^4.1.0" + "@type-r/react": "npm:^4.1.0" + babel-loader: "npm:*" + css-loader: "npm:*" + react: "npm:^16.1.1" + react-dom: "npm:^16.1.1" + react-modal: "npm:^3.1.2" + source-map-loader: "npm:*" + style-loader: "npm:*" + webpack: "npm:^4.38.0" + webpack-cli: "npm:^3.3.6" + languageName: unknown + linkType: soft + +"util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"util.promisify@npm:^1.0.0": + version: 1.0.0 + resolution: "util.promisify@npm:1.0.0" + dependencies: + define-properties: "npm:^1.1.2" + object.getownpropertydescriptors: "npm:^2.0.3" + checksum: 10c0/af9df9d111b1464586e4fa414ccf6de61c3a14c0664a66a497438a0507d47f65389f5e025c048ef7e2bf6dba73e95adc3d0c56111a0952ae0282817fc4dd83b2 + languageName: node + linkType: hard + +"util@npm:0.10.3": + version: 0.10.3 + resolution: "util@npm:0.10.3" + dependencies: + inherits: "npm:2.0.1" + checksum: 10c0/88bb58fec3b1f5f43dea27795f61f24b3b505bbba6f3ad6e91b32db0cd0928b2acb54ebe21603a75743c6e21a52f954cd2ffb6cddafed5a01169dd1287db3ff3 + languageName: node + linkType: hard + +"util@npm:^0.11.0": + version: 0.11.1 + resolution: "util@npm:0.11.1" + dependencies: + inherits: "npm:2.0.3" + checksum: 10c0/8e9d1a85e661c8a8d9883d821aedbff3f8d9c3accd85357020905386ada5653b20389fc3591901e2a0bde64f8dc86b28c3f990114aa5a38eaaf30b455fa3cdf6 + languageName: node + linkType: hard + +"uuid@npm:^3.3.2": + version: 3.3.3 + resolution: "uuid@npm:3.3.3" + bin: + uuid: ./bin/uuid + checksum: 10c0/6808339bfeabca4c3ca33a790a907a2172c904a19701e9997c7a5103aced30a73c4c8c3e2e0e0c298832928a5a6f4f7d52843a26ed0c7d22fec27458f40101e5 + languageName: node + linkType: hard + +"v8-compile-cache@npm:2.0.3": + version: 2.0.3 + resolution: "v8-compile-cache@npm:2.0.3" + checksum: 10c0/6f60e9e13602ac92be6b084333c1090f9f60d3f79ae762d9e623780c0d8d20a0a789d8ef7176a8f3f92a6b05ccdfde1028975bd9158311e20b2b2a03a398fa3f + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.0.1": + version: 9.3.0 + resolution: "v8-to-istanbul@npm:9.3.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10c0/968bcf1c7c88c04df1ffb463c179558a2ec17aa49e49376120504958239d9e9dad5281aa05f2a78542b8557f2be0b0b4c325710262f3b838b40d703d5ed30c23 + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: "npm:^3.0.0" + spdx-expression-parse: "npm:^3.0.0" + checksum: 10c0/7b91e455a8de9a0beaa9fe961e536b677da7f48c9a493edf4d4d4a87fd80a7a10267d438723364e432c2fcd00b5650b5378275cded362383ef570276e6312f4f + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: "npm:^1.0.0" + core-util-is: "npm:1.0.2" + extsprintf: "npm:^1.2.0" + checksum: 10c0/37ccdf8542b5863c525128908ac80f2b476eed36a32cb944de930ca1e2e78584cc435c4b9b4c68d0fc13a47b45ff364b4be43aa74f8804f9050140f660fb660d + languageName: node + linkType: hard + +"vm-browserify@npm:^1.0.1": + version: 1.1.0 + resolution: "vm-browserify@npm:1.1.0" + checksum: 10c0/6f38024237a95fb9039860c96f0386193f76742a7063bc2f5ae5cb81e38fc6092eeea66243158972b3c73cb6883570d3bf112ee6ea57a149c0b732605d6762e1 + languageName: node + linkType: hard + +"w3c-hr-time@npm:^1.0.1": + version: 1.0.1 + resolution: "w3c-hr-time@npm:1.0.1" + dependencies: + browser-process-hrtime: "npm:^0.1.2" + checksum: 10c0/edb062efe4c15a509c041ff16b9890480d3c44c80c994f26dffd6b2e9f39d17df4b60597b450f80e20777435e56f570eea98f0252765554b58995b89103d6686 + languageName: node + linkType: hard + +"walker@npm:^1.0.7, walker@npm:~1.0.5": + version: 1.0.7 + resolution: "walker@npm:1.0.7" + dependencies: + makeerror: "npm:1.0.x" + checksum: 10c0/c726d584482985fc5bd96a87fec0c5b804c4badf5e7cafdeb736204390a7ed222bb5cdce9e2dace7655ea23f9c8efa96fdd3217d8f64f86c5d509d5fed865ab4 + languageName: node + linkType: hard + +"walker@npm:^1.0.8": + version: 1.0.8 + resolution: "walker@npm:1.0.8" + dependencies: + makeerror: "npm:1.0.12" + checksum: 10c0/a17e037bccd3ca8a25a80cb850903facdfed0de4864bd8728f1782370715d679fa72e0a0f5da7c1c1379365159901e5935f35be531229da53bbfc0efdabdb48e + languageName: node + linkType: hard + +"warning@npm:^4.0.3": + version: 4.0.3 + resolution: "warning@npm:4.0.3" + dependencies: + loose-envify: "npm:^1.0.0" + checksum: 10c0/aebab445129f3e104c271f1637fa38e55eb25f968593e3825bd2f7a12bd58dc3738bb70dc8ec85826621d80b4acfed5a29ebc9da17397c6125864d72301b937e + languageName: node + linkType: hard + +"watchpack@npm:^1.6.0": + version: 1.6.0 + resolution: "watchpack@npm:1.6.0" + dependencies: + chokidar: "npm:^2.0.2" + graceful-fs: "npm:^4.1.2" + neo-async: "npm:^2.5.0" + checksum: 10c0/313bf29e51f3934b61dc577d8a0e827f173401de810a2d8d6ac5bd1022d46c0c331b738cbb2adc73670ffe691ea7d85a11128a5b381bed3bf61bf55d9649a754 + languageName: node + linkType: hard + +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f + languageName: node + linkType: hard + +"webpack-cli@npm:^3.3.6": + version: 3.3.7 + resolution: "webpack-cli@npm:3.3.7" + dependencies: + chalk: "npm:2.4.2" + cross-spawn: "npm:6.0.5" + enhanced-resolve: "npm:4.1.0" + findup-sync: "npm:3.0.0" + global-modules: "npm:2.0.0" + import-local: "npm:2.0.0" + interpret: "npm:1.2.0" + loader-utils: "npm:1.2.3" + supports-color: "npm:6.1.0" + v8-compile-cache: "npm:2.0.3" + yargs: "npm:13.2.4" + peerDependencies: + webpack: 4.x.x + bin: + webpack-cli: ./bin/cli.js + checksum: 10c0/8bb028b5f700c590affd86cfad26d531f4c274eceaf10303a6aca06eaafe6f4b03a3c1cc1bfac2d4436c30e60a1f99acb0baf7137c9d3f3340d06293e47f5a84 + languageName: node + linkType: hard + +"webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1": + version: 1.4.3 + resolution: "webpack-sources@npm:1.4.3" + dependencies: + source-list-map: "npm:^2.0.0" + source-map: "npm:~0.6.1" + checksum: 10c0/78dafb3e1e297d3f4eb6204311e8c64d28cd028f82887ba33aaf03fffc82482d8e1fdf6de25a60f4dde621d3565f4c3b1bfb350f09add8f4e54e00279ff3db5e + languageName: node + linkType: hard + +"webpack@npm:^4.38.0": + version: 4.39.2 + resolution: "webpack@npm:4.39.2" + dependencies: + "@webassemblyjs/ast": "npm:1.8.5" + "@webassemblyjs/helper-module-context": "npm:1.8.5" + "@webassemblyjs/wasm-edit": "npm:1.8.5" + "@webassemblyjs/wasm-parser": "npm:1.8.5" + acorn: "npm:^6.2.1" + ajv: "npm:^6.10.2" + ajv-keywords: "npm:^3.4.1" + chrome-trace-event: "npm:^1.0.2" + enhanced-resolve: "npm:^4.1.0" + eslint-scope: "npm:^4.0.3" + json-parse-better-errors: "npm:^1.0.2" + loader-runner: "npm:^2.4.0" + loader-utils: "npm:^1.2.3" + memory-fs: "npm:^0.4.1" + micromatch: "npm:^3.1.10" + mkdirp: "npm:^0.5.1" + neo-async: "npm:^2.6.1" + node-libs-browser: "npm:^2.2.1" + schema-utils: "npm:^1.0.0" + tapable: "npm:^1.1.3" + terser-webpack-plugin: "npm:^1.4.1" + watchpack: "npm:^1.6.0" + webpack-sources: "npm:^1.4.1" + bin: + webpack: ./bin/webpack.js + checksum: 10c0/9fbfe6cc7e2a7849f55d7e67c493bcf507aeeb9358c4a2b79f73b49e1979e5d4490e858e5940e7fef35f606165d91133bdf2036332e52cba54147db195a142e0 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.3": + version: 1.0.5 + resolution: "whatwg-encoding@npm:1.0.5" + dependencies: + iconv-lite: "npm:0.4.24" + checksum: 10c0/79d9f276234fd06bb27de4c1f9137a0471bfa578efaec0474ab46b6d64bf30bb14492e6f88eff0e6794bdd6fa48b44f4d7a2e9c41424a837a63bba9626e35c62 + languageName: node + linkType: hard + +"whatwg-fetch@npm:>=0.10.0": + version: 3.0.0 + resolution: "whatwg-fetch@npm:3.0.0" + checksum: 10c0/c4b4b0058df2358e5c8d1c7320069d89ac02d815a01dca66f838edf6498207f0c5a7a88029442e945042f61b54d29a16db1fed12c41abbe1f7f959e26d9134e6 + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^2.1.0, whatwg-mimetype@npm:^2.2.0": + version: 2.3.0 + resolution: "whatwg-mimetype@npm:2.3.0" + checksum: 10c0/81c5eaf660b1d1c27575406bcfdf58557b599e302211e13e3c8209020bbac903e73c17f9990f887232b39ce570cc8638331b0c3ff0842ba224a5c2925e830b06 + languageName: node + linkType: hard + +"whatwg-url@npm:^6.4.1": + version: 6.5.0 + resolution: "whatwg-url@npm:6.5.0" + dependencies: + lodash.sortby: "npm:^4.7.0" + tr46: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + checksum: 10c0/5afeff7da025fbaecceca6a5e0cdc6d10666efab245d0e5d785263a09a16b3afce7a81712512e184c98e70bdb79fb20d0ecd34553e9c121a9ba4f36760db4226 + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.0.0 + resolution: "whatwg-url@npm:7.0.0" + dependencies: + lodash.sortby: "npm:^4.7.0" + tr46: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + checksum: 10c0/5f788999ba5b82b84b99c6aa047e55f028bb502cc84a086251e14ed9451bd20727b34c1f819c0a4be51b45cad7246e169334d53f2dd5e5b91b42c8b90ca64f30 + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 10c0/946ffdbcd6f0cf517638f8f2319c6d51e528c3b41bc2c0f5dc3dc46047347abd7326aea5cdf5def0a8b32bdca313ac87a32ce5a76b943fe1ca876c4557e6b716 + languageName: node + linkType: hard + +"which@npm:^1.2.14, which@npm:^1.2.9, which@npm:^1.3.0, which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: "npm:^2.0.0" + bin: + which: ./bin/which + checksum: 10c0/e945a8b6bbf6821aaaef7f6e0c309d4b615ef35699576d5489b4261da9539f70393c6b2ce700ee4321c18f914ebe5644bc4631b15466ffbaad37d83151f6af59 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^7.0.0": + version: 7.0.0 + resolution: "which@npm:7.0.0" + dependencies: + isexe: "npm:^4.0.0" + bin: + node-which: bin/which.js + checksum: 10c0/ca0b54f198f78bbc4b7c02e34bda8d335cb352e0adb4cbca1c37b1a957af3a879a82c4c27ca6525bc942f548d8b64f816ef6528360af9f3de55ffb9b979b620d + languageName: node + linkType: hard + +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: "npm:^1.0.2 || 2" + checksum: 10c0/9bf69ad55f7bcccd5a7af2ebbb8115aebf1b17e6d4f0a2a40a84f5676e099153b9adeab331e306661bf2a8419361bacba83057a62163947507473ce7ac4116b7 + languageName: node + linkType: hard + +"wordwrap@npm:^1.0.0, wordwrap@npm:~1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 10c0/7ed2e44f3c33c5c3e3771134d2b0aee4314c9e49c749e37f464bf69f2bcdf0cbf9419ca638098e2717cff4875c47f56a007532f6111c3319f557a2ca91278e92 + languageName: node + linkType: hard + +"wordwrap@npm:~0.0.2": + version: 0.0.3 + resolution: "wordwrap@npm:0.0.3" + checksum: 10c0/b3b212f8b2167091f59bc60929ada2166eb157abb6c8c82e2a705fe5aa5876440c3966ab39eb6c7bcb2ff0ac0c8d9fba726a9c2057b83bd65cdc1858f9d816ce + languageName: node + linkType: hard + +"worker-farm@npm:^1.7.0": + version: 1.7.0 + resolution: "worker-farm@npm:1.7.0" + dependencies: + errno: "npm:~0.1.7" + checksum: 10c0/069a032f9198a07273a7608dc0c23d7288c1c25256b66008e1ae95838cda6fa2c7aefb3b7ba760f975c8d18120ca54eb193afb66d7237b2a05e5da12c1c961f7 + languageName: node + linkType: hard + +"wrap-ansi@npm:^5.1.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: "npm:^3.2.0" + string-width: "npm:^3.0.0" + strip-ansi: "npm:^5.0.0" + checksum: 10c0/fcd0b39b7453df512f2fe8c714a1c1b147fe3e6a4b5a2e4de6cadc3af47212f335eceaffe588e98322d6345e72672137e2c0b834d8a662e73a32296c1c8216bb + languageName: node + linkType: hard + +"wrap-ansi@npm:^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"write-file-atomic@npm:2.4.1": + version: 2.4.1 + resolution: "write-file-atomic@npm:2.4.1" + dependencies: + graceful-fs: "npm:^4.1.11" + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.2" + checksum: 10c0/51f5927aeb8b2c8bf43cc37db23e3abd24c870b383e6773ad1b655bb119dcc50a9e262b023d427d6e82d079a901cdf42f42d7ea78045a57e4d50e64831817b21 + languageName: node + linkType: hard + +"write-file-atomic@npm:^4.0.2": + version: 4.0.2 + resolution: "write-file-atomic@npm:4.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + signal-exit: "npm:^3.0.7" + checksum: 10c0/a2c282c95ef5d8e1c27b335ae897b5eca00e85590d92a3fd69a437919b7b93ff36a69ea04145da55829d2164e724bc62202cdb5f4b208b425aba0807889375c7 + languageName: node + linkType: hard + +"ws@npm:^5.2.0": + version: 5.2.2 + resolution: "ws@npm:5.2.2" + dependencies: + async-limiter: "npm:~1.0.0" + checksum: 10c0/23c75681caa438c8b9e21f8cc30feb9fd4e8dfd2ed986ee9f130eaca0494b79ab9fd4441ddfc3faadf7f6a206dc095fdde961106a0616eeca66b17f22efb0033 + languageName: node + linkType: hard + +"xml-name-validator@npm:^3.0.0": + version: 3.0.0 + resolution: "xml-name-validator@npm:3.0.0" + checksum: 10c0/da310f6a7a52f8eb0fce3d04ffa1f97387ca68f47e8620ae3a259909c4e832f7003313b918e53840a6bf57fb38d5ae3c5f79f31f911b2818a7439f7898f8fbf1 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"y18n@npm:^4.0.0": + version: 4.0.0 + resolution: "y18n@npm:4.0.0" + checksum: 10c0/2db291a3288e96916e0afb5cf5d230b9ce75acb7b3d2cd50bfc75b83df512e7a58a69094dab07d72c9f77c0be7c15f50e940c1863c79f5c18f42b8ca90bbfeb2 + languageName: node + linkType: hard + +"y18n@npm:^5.0.5": + version: 5.0.8 + resolution: "y18n@npm:5.0.8" + checksum: 10c0/4df2842c36e468590c3691c894bc9cdbac41f520566e76e24f59401ba7d8b4811eb1e34524d57e54bc6d864bcb66baab7ffd9ca42bf1eda596618f9162b91249 + languageName: node + linkType: hard + +"yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.0.3": + version: 3.0.3 + resolution: "yallist@npm:3.0.3" + checksum: 10c0/c5172bffcfc7fedab0b138f2a14f2dfed5f8c4e35dd8b31f4b8e2f0c15acbcf6ee3a7421713c8eccb86bac30270d0ddfbd48e7298fc0b4e2584ceb6382312281 + languageName: node + linkType: hard + +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + +"yargs-parser@npm:^13.1.0, yargs-parser@npm:^13.1.1": + version: 13.1.1 + resolution: "yargs-parser@npm:13.1.1" + dependencies: + camelcase: "npm:^5.0.0" + decamelize: "npm:^1.2.0" + checksum: 10c0/4e1bc25a2442d9a9955030c8cf4165ea9c20392fc6737ed11b217164dfcb3274e6e32235aaa90a3321f861c60a31bb9a4d82e6975d008ed7bf7c53a255c0f760 + languageName: node + linkType: hard + +"yargs-parser@npm:^21.1.1": + version: 21.1.1 + resolution: "yargs-parser@npm:21.1.1" + checksum: 10c0/f84b5e48169479d2f402239c59f084cfd1c3acc197a05c59b98bab067452e6b3ea46d4dd8ba2985ba7b3d32a343d77df0debd6b343e5dae3da2aab2cdf5886b2 + languageName: node + linkType: hard + +"yargs@npm:13.2.4": + version: 13.2.4 + resolution: "yargs@npm:13.2.4" + dependencies: + cliui: "npm:^5.0.0" + find-up: "npm:^3.0.0" + get-caller-file: "npm:^2.0.1" + os-locale: "npm:^3.1.0" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^2.0.0" + set-blocking: "npm:^2.0.0" + string-width: "npm:^3.0.0" + which-module: "npm:^2.0.0" + y18n: "npm:^4.0.0" + yargs-parser: "npm:^13.1.0" + checksum: 10c0/7909814a6347d7bf162d7bd209d9bfd5789d88ae6bf488d567c83fc558c0a729cc8eb80beccd56b15039e345e0d4ee03d7f9a057f685c73eac8641f4c3722795 + languageName: node + linkType: hard + +"yargs@npm:^13.3.0": + version: 13.3.0 + resolution: "yargs@npm:13.3.0" + dependencies: + cliui: "npm:^5.0.0" + find-up: "npm:^3.0.0" + get-caller-file: "npm:^2.0.1" + require-directory: "npm:^2.1.1" + require-main-filename: "npm:^2.0.0" + set-blocking: "npm:^2.0.0" + string-width: "npm:^3.0.0" + which-module: "npm:^2.0.0" + y18n: "npm:^4.0.0" + yargs-parser: "npm:^13.1.1" + checksum: 10c0/7247f3af7da0fb4e4610818609dad222217d040df4cd58dd7e60f42a3251771f165f8815080454c5a8c714db20f72fb2bc4a1186a7ff619b2e5838d5ed9662ed + languageName: node + linkType: hard + +"yargs@npm:^17.3.1": + version: 17.7.3 + resolution: "yargs@npm:17.7.3" + dependencies: + cliui: "npm:^8.0.1" + escalade: "npm:^3.1.1" + get-caller-file: "npm:^2.0.5" + require-directory: "npm:^2.1.1" + string-width: "npm:^4.2.3" + y18n: "npm:^5.0.5" + yargs-parser: "npm:^21.1.1" + checksum: 10c0/7a28572f7e785a57886e34fdbddb9b28756dec552e1453d5f6e7cdd00ad8721a4e8c4321d33683f5e61cacb36ad43258adbb48396b71ec4ed14abee0fc0d0c1f + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard From fb024227ff6fd7077c7f30db06e85c3d2f59f12f Mon Sep 17 00:00:00 2001 From: Alexey Slynko Date: Sun, 5 Jul 2026 14:43:39 +0300 Subject: [PATCH 2/2] Keep package versions unchanged --- endpoints/package.json | 2 +- models/package.json | 2 +- react/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/endpoints/package.json b/endpoints/package.json index f633fdda..b07c7822 100644 --- a/endpoints/package.json +++ b/endpoints/package.json @@ -1,7 +1,7 @@ { "name": "@type-r/endpoints", "description": "I/O endpoint for Type-R models", - "version": "4.0.3", + "version": "4.0.2", "main": "./dist/index.js", "jsnext:main": "./lib/index.js", "module": "./lib/index.js", diff --git a/models/package.json b/models/package.json index 6304e1b5..3e07a001 100644 --- a/models/package.json +++ b/models/package.json @@ -1,6 +1,6 @@ { "name": "@type-r/models", - "version": "4.1.1", + "version": "4.1.0", "description": "The serializable type system for JS and TypeScript", "main": "./dist/index.js", "jsnext:main": "./lib/index.js", diff --git a/react/package.json b/react/package.json index 200ecb58..45e7a236 100644 --- a/react/package.json +++ b/react/package.json @@ -1,6 +1,6 @@ { "name": "@type-r/react", - "version": "4.1.1", + "version": "4.1.0", "description": "React bindings for Type-R/models", "main": "dist/index.js", "module": "./lib/index.js",
    UNIX Timestamp Date.timestampimport { Timestamp } from 'type-r/ext-types'import { Timestamp } from '@type-r/ext-types'
    Microsoft date Date.microsoftimport { MicrosoftDate } from 'type-r/ext-types'import { MicrosoftDate } from '@type-r/ext-types'
    Integer Integer and Number.integerimport { Integer } from 'type-r/ext-types'import { Integer } from '@type-r/ext-types'
    Create metatype from constructor