@warp-drive/core 5.8.0-beta.0 → 5.8.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -36
- package/declarations/build-config.d.ts +18 -1
- package/declarations/configure.d.ts +1 -1
- package/declarations/graph/-private/-edge-definition.d.ts +12 -2
- package/declarations/index.d.ts +90 -8
- package/declarations/reactive/-private/default-mode.d.ts +1 -1
- package/declarations/reactive/-private/document.d.ts +58 -46
- package/declarations/reactive/-private/fields/extension.d.ts +1 -1
- package/declarations/reactive/-private/fields/managed-array.d.ts +2 -2
- package/declarations/reactive/-private/fields/managed-object.d.ts +1 -1
- package/declarations/reactive/-private/record.d.ts +10 -1
- package/declarations/reactive/-private/schema.d.ts +77 -4
- package/declarations/reactive/-private.d.ts +1 -0
- package/declarations/reactive.d.ts +13 -8
- package/declarations/request/-private/types.d.ts +1 -1
- package/declarations/request.d.ts +47 -0
- package/declarations/signals/-leaked.d.ts +2 -0
- package/declarations/signals/-private.d.ts +6 -0
- package/declarations/{store/-private/new-core-tmp → signals}/promise-state.d.ts +2 -1
- package/declarations/{store/-private/new-core-tmp → signals}/request-state.d.ts +6 -6
- package/declarations/{store/-private/new-core-tmp → signals}/request-subscription.d.ts +4 -4
- package/declarations/store/-private/cache-handler/types.d.ts +2 -16
- package/declarations/store/-private/caches/instance-cache.d.ts +5 -6
- package/declarations/store/-private/default-cache-policy.d.ts +147 -129
- package/declarations/store/-private/managers/cache-capabilities-manager.d.ts +1 -1
- package/declarations/store/-private/managers/cache-key-manager.d.ts +26 -8
- package/declarations/store/-private/managers/cache-manager.d.ts +7 -18
- package/declarations/store/-private/managers/notification-manager.d.ts +1 -1
- package/declarations/store/-private/record-arrays/legacy-many-array.d.ts +1 -1
- package/declarations/store/-private/record-arrays/resource-array.d.ts +1 -1
- package/declarations/store/-private/store-service.d.ts +43 -64
- package/declarations/store/-private.d.ts +0 -6
- package/declarations/store/-types/q/cache-capabilities-manager.d.ts +1 -1
- package/declarations/store/deprecated/-private.d.ts +2 -2
- package/declarations/store/deprecated/store.d.ts +33 -32
- package/declarations/store.d.ts +1 -0
- package/declarations/types/cache.d.ts +8 -6
- package/declarations/types/record.d.ts +132 -0
- package/declarations/types/request.d.ts +26 -14
- package/declarations/types/schema/fields.d.ts +37 -13
- package/declarations/{store/-types/q → types/schema}/schema-service.d.ts +15 -13
- package/declarations/types/spec/document.d.ts +34 -0
- package/declarations/types/symbols.d.ts +2 -2
- package/declarations/types.d.ts +1 -1
- package/dist/build-config.js +1 -1
- package/dist/configure-DPUFCemT.js +1940 -0
- package/dist/configure.js +2 -1
- package/dist/default-cache-policy-D7_u4YRH.js +572 -0
- package/dist/{context-C_7OLieY.js → future-BKkJJkj7.js} +174 -174
- package/dist/graph/-private.js +16 -6
- package/dist/{request-state-C955e0AL.js → index-CQP2NSqg.js} +8830 -9427
- package/dist/index.js +6 -382
- package/dist/reactive/-private.js +1 -1
- package/dist/reactive.js +4 -903
- package/dist/request.js +49 -1
- package/dist/signals/-leaked.js +1 -0
- package/dist/store/-private.js +1 -2
- package/dist/store.js +1 -533
- package/dist/symbols-3C1OkYtZ.js +39 -0
- package/dist/types/-private.js +1 -1
- package/dist/types/record.js +127 -0
- package/dist/types/request.js +14 -12
- package/dist/types/runtime.js +1 -1
- package/dist/types/schema/fields.js +14 -0
- package/dist/types/schema/schema-service.js +0 -0
- package/dist/types/symbols.js +2 -2
- package/dist/unpkg/dev/-leaked-Co0EI6Go.js +1939 -0
- package/dist/unpkg/dev/build-config/babel-macros.js +1 -0
- package/dist/unpkg/dev/build-config/canary-features.js +1 -0
- package/dist/unpkg/dev/build-config/debugging.js +1 -0
- package/dist/unpkg/dev/build-config/deprecations.js +1 -0
- package/dist/unpkg/dev/build-config/env.js +1 -0
- package/dist/unpkg/dev/build-config/macros.js +1 -0
- package/dist/unpkg/dev/build-config.js +1 -0
- package/dist/unpkg/dev/configure.js +1 -0
- package/dist/unpkg/dev/future-DFfOzSoe.js +672 -0
- package/dist/unpkg/dev/graph/-private.js +3132 -0
- package/dist/unpkg/dev/index-BzcBOnw9.js +9392 -0
- package/dist/unpkg/dev/index.js +6 -0
- package/dist/unpkg/dev/reactive/-private.js +1 -0
- package/dist/unpkg/dev/reactive.js +3 -0
- package/dist/unpkg/dev/request.js +49 -0
- package/dist/unpkg/dev/runtime-E1M51_-O.js +135 -0
- package/dist/unpkg/dev/signals/-leaked.js +1 -0
- package/dist/unpkg/dev/store/-private.js +55 -0
- package/dist/unpkg/dev/store.js +558 -0
- package/dist/unpkg/dev/types/-private.js +69 -0
- package/dist/unpkg/dev/types/cache/aliases.js +0 -0
- package/dist/unpkg/dev/types/cache/change.js +0 -0
- package/dist/unpkg/dev/types/cache/mutations.js +0 -0
- package/dist/unpkg/dev/types/cache/operations.js +0 -0
- package/dist/unpkg/dev/types/cache/relationship.js +0 -0
- package/dist/unpkg/dev/types/cache.js +0 -0
- package/dist/unpkg/dev/types/graph.js +0 -0
- package/dist/unpkg/dev/types/identifier.js +61 -0
- package/dist/unpkg/dev/types/json/raw.js +0 -0
- package/dist/unpkg/dev/types/params.js +0 -0
- package/dist/unpkg/dev/types/record.js +191 -0
- package/dist/unpkg/dev/types/request.js +77 -0
- package/dist/unpkg/dev/types/runtime.js +34 -0
- package/dist/unpkg/dev/types/schema/concepts.js +0 -0
- package/dist/unpkg/dev/types/schema/fields.js +505 -0
- package/dist/unpkg/dev/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/dev/types/schema/schema-service.js +0 -0
- package/dist/unpkg/dev/types/spec/document.js +0 -0
- package/dist/unpkg/dev/types/spec/error.js +0 -0
- package/dist/unpkg/dev/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/dev/types/symbols.js +84 -0
- package/dist/unpkg/dev/types/utils.js +0 -0
- package/dist/unpkg/dev/types.js +0 -0
- package/dist/unpkg/dev/utils/string.js +91 -0
- package/dist/unpkg/dev-deprecated/-leaked-DjMeRqdU.js +1939 -0
- package/dist/unpkg/dev-deprecated/-private-3C1OkYtZ.js +39 -0
- package/dist/unpkg/dev-deprecated/build-config/babel-macros.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/canary-features.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/debugging.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/deprecations.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/env.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config/macros.js +1 -0
- package/dist/unpkg/dev-deprecated/build-config.js +1 -0
- package/dist/unpkg/dev-deprecated/configure.js +1 -0
- package/dist/unpkg/dev-deprecated/future-DFfOzSoe.js +672 -0
- package/dist/unpkg/dev-deprecated/graph/-private.js +3327 -0
- package/dist/unpkg/dev-deprecated/index-6TnTv-WG.js +10007 -0
- package/dist/unpkg/dev-deprecated/index.js +5 -0
- package/dist/unpkg/dev-deprecated/reactive/-private.js +1 -0
- package/dist/unpkg/dev-deprecated/reactive.js +3 -0
- package/dist/unpkg/dev-deprecated/request.js +49 -0
- package/dist/unpkg/dev-deprecated/runtime-DAu5b0IR.js +135 -0
- package/dist/unpkg/dev-deprecated/signals/-leaked.js +1 -0
- package/dist/unpkg/dev-deprecated/store/-private.js +1 -0
- package/dist/unpkg/dev-deprecated/store.js +558 -0
- package/dist/unpkg/dev-deprecated/types/-private.js +69 -0
- package/dist/unpkg/dev-deprecated/types/cache/aliases.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/change.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/mutations.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/operations.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache/relationship.js +0 -0
- package/dist/unpkg/dev-deprecated/types/cache.js +0 -0
- package/dist/unpkg/dev-deprecated/types/graph.js +0 -0
- package/dist/unpkg/dev-deprecated/types/identifier.js +61 -0
- package/dist/unpkg/dev-deprecated/types/json/raw.js +0 -0
- package/dist/unpkg/dev-deprecated/types/params.js +0 -0
- package/dist/unpkg/dev-deprecated/types/record.js +191 -0
- package/dist/unpkg/dev-deprecated/types/request.js +77 -0
- package/dist/unpkg/dev-deprecated/types/runtime.js +34 -0
- package/dist/unpkg/dev-deprecated/types/schema/concepts.js +0 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.js +505 -0
- package/dist/unpkg/dev-deprecated/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/dev-deprecated/types/schema/schema-service.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/document.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/error.js +0 -0
- package/dist/unpkg/dev-deprecated/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/dev-deprecated/types/symbols.js +84 -0
- package/dist/unpkg/dev-deprecated/types/utils.js +0 -0
- package/dist/unpkg/dev-deprecated/types.js +0 -0
- package/dist/unpkg/dev-deprecated/utils/string.js +91 -0
- package/dist/unpkg/prod/-leaked-DUONXQDB.js +1676 -0
- package/dist/unpkg/prod/-private-sql1_mdx.js +39 -0
- package/dist/unpkg/prod/build-config/babel-macros.js +1 -0
- package/dist/unpkg/prod/build-config/canary-features.js +1 -0
- package/dist/unpkg/prod/build-config/debugging.js +1 -0
- package/dist/unpkg/prod/build-config/deprecations.js +1 -0
- package/dist/unpkg/prod/build-config/env.js +1 -0
- package/dist/unpkg/prod/build-config/macros.js +1 -0
- package/dist/unpkg/prod/build-config.js +1 -0
- package/dist/unpkg/prod/configure.js +2 -0
- package/dist/unpkg/prod/graph/-private.js +2235 -0
- package/dist/unpkg/prod/handler-EU_8ncB2.js +1619 -0
- package/dist/unpkg/prod/index.js +483 -0
- package/dist/unpkg/prod/promise-cache-DIT8Ypjq.js +19 -0
- package/dist/unpkg/prod/reactive/-private.js +1 -0
- package/dist/unpkg/prod/reactive.js +30 -0
- package/dist/unpkg/prod/request-BrJSCG6r.js +421 -0
- package/dist/unpkg/prod/request.js +2 -0
- package/dist/unpkg/prod/schema-BSkHyoWz.js +5219 -0
- package/dist/unpkg/prod/signals/-leaked.js +1 -0
- package/dist/unpkg/prod/store/-private.js +126 -0
- package/dist/unpkg/prod/store.js +437 -0
- package/dist/unpkg/prod/types/-private.js +49 -0
- package/dist/unpkg/prod/types/cache/aliases.js +0 -0
- package/dist/unpkg/prod/types/cache/change.js +0 -0
- package/dist/unpkg/prod/types/cache/mutations.js +0 -0
- package/dist/unpkg/prod/types/cache/operations.js +0 -0
- package/dist/unpkg/prod/types/cache/relationship.js +0 -0
- package/dist/unpkg/prod/types/cache.js +0 -0
- package/dist/unpkg/prod/types/graph.js +0 -0
- package/dist/unpkg/prod/types/identifier.js +61 -0
- package/dist/unpkg/prod/types/json/raw.js +0 -0
- package/dist/unpkg/prod/types/params.js +0 -0
- package/dist/unpkg/prod/types/record.js +191 -0
- package/dist/unpkg/prod/types/request.js +77 -0
- package/dist/unpkg/prod/types/runtime.js +34 -0
- package/dist/unpkg/prod/types/schema/concepts.js +0 -0
- package/dist/unpkg/prod/types/schema/fields.js +505 -0
- package/dist/unpkg/prod/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/prod/types/schema/schema-service.js +0 -0
- package/dist/unpkg/prod/types/spec/document.js +0 -0
- package/dist/unpkg/prod/types/spec/error.js +0 -0
- package/dist/unpkg/prod/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/prod/types/symbols.js +84 -0
- package/dist/unpkg/prod/types/utils.js +0 -0
- package/dist/unpkg/prod/types.js +0 -0
- package/dist/unpkg/prod/utils/string.js +72 -0
- package/dist/unpkg/prod-deprecated/-leaked-DRNv9VIX.js +1676 -0
- package/dist/unpkg/prod-deprecated/-private-3C1OkYtZ.js +39 -0
- package/dist/unpkg/prod-deprecated/build-config/babel-macros.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/canary-features.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/debugging.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/deprecations.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/env.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config/macros.js +1 -0
- package/dist/unpkg/prod-deprecated/build-config.js +1 -0
- package/dist/unpkg/prod-deprecated/configure.js +2 -0
- package/dist/unpkg/prod-deprecated/graph/-private.js +2408 -0
- package/dist/unpkg/prod-deprecated/handler-CCIu4sQ3.js +334 -0
- package/dist/unpkg/prod-deprecated/hooks-Dv4Np0MY.js +26 -0
- package/dist/unpkg/prod-deprecated/index.js +483 -0
- package/dist/unpkg/prod-deprecated/promise-cache-DIT8Ypjq.js +19 -0
- package/dist/unpkg/prod-deprecated/reactive/-private.js +1 -0
- package/dist/unpkg/prod-deprecated/reactive.js +5 -0
- package/dist/unpkg/prod-deprecated/request-BrJSCG6r.js +421 -0
- package/dist/unpkg/prod-deprecated/request.js +2 -0
- package/dist/unpkg/prod-deprecated/schema-CJcjHv0E.js +6939 -0
- package/dist/unpkg/prod-deprecated/signals/-leaked.js +1 -0
- package/dist/unpkg/prod-deprecated/store/-private.js +88 -0
- package/dist/unpkg/prod-deprecated/store.js +437 -0
- package/dist/unpkg/prod-deprecated/types/-private.js +49 -0
- package/dist/unpkg/prod-deprecated/types/cache/aliases.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/change.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/mutations.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/operations.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache/relationship.js +0 -0
- package/dist/unpkg/prod-deprecated/types/cache.js +0 -0
- package/dist/unpkg/prod-deprecated/types/graph.js +0 -0
- package/dist/unpkg/prod-deprecated/types/identifier.js +61 -0
- package/dist/unpkg/prod-deprecated/types/json/raw.js +0 -0
- package/dist/unpkg/prod-deprecated/types/params.js +0 -0
- package/dist/unpkg/prod-deprecated/types/record.js +191 -0
- package/dist/unpkg/prod-deprecated/types/request.js +77 -0
- package/dist/unpkg/prod-deprecated/types/runtime.js +34 -0
- package/dist/unpkg/prod-deprecated/types/schema/concepts.js +0 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.js +505 -0
- package/dist/unpkg/prod-deprecated/types/schema/fields.type-test.js +0 -0
- package/dist/unpkg/prod-deprecated/types/schema/schema-service.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/document.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/error.js +0 -0
- package/dist/unpkg/prod-deprecated/types/spec/json-api-raw.js +0 -0
- package/dist/unpkg/prod-deprecated/types/symbols.js +84 -0
- package/dist/unpkg/prod-deprecated/types/utils.js +0 -0
- package/dist/unpkg/prod-deprecated/types.js +0 -0
- package/dist/unpkg/prod-deprecated/utils/string.js +72 -0
- package/logos/README.md +2 -2
- package/logos/logo-yellow-slab.svg +1 -0
- package/logos/word-mark-black.svg +1 -0
- package/logos/word-mark-white.svg +1 -0
- package/package.json +12 -4
- package/declarations/store/-private/new-core-tmp/expensive-subscription.d.ts +0 -24
- package/dist/configure-C3x8YXzL.js +0 -181
- package/logos/NCC-1701-a-blue.svg +0 -4
- package/logos/NCC-1701-a-gold.svg +0 -4
- package/logos/NCC-1701-a-gold_100.svg +0 -1
- package/logos/NCC-1701-a-gold_base-64.txt +0 -1
- package/logos/NCC-1701-a.svg +0 -4
- package/logos/docs-badge.svg +0 -2
- package/logos/ember-data-logo-dark.svg +0 -12
- package/logos/ember-data-logo-light.svg +0 -12
- package/logos/social1.png +0 -0
- package/logos/social2.png +0 -0
- package/logos/warp-drive-logo-dark.svg +0 -4
- package/logos/warp-drive-logo-gold.svg +0 -4
- /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/configure.d.ts +0 -0
- /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/internal.d.ts +0 -0
- /package/declarations/{store/-private/new-core-tmp → signals}/reactivity/signal.d.ts +0 -0
- /package/dist/{symbols-sql1_mdx.js → unpkg/dev/-private-sql1_mdx.js} +0 -0
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
2
|
+
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Options signature for Legacy Attributes.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A generic "field" that can be used to define
|
|
11
|
+
* primitive value fields.
|
|
12
|
+
*
|
|
13
|
+
* Replaces "attribute" for primitive value fields.
|
|
14
|
+
* Can also be used to eject from deep-tracking of
|
|
15
|
+
* objects or arrays.
|
|
16
|
+
*
|
|
17
|
+
* A major difference between "field" and "attribute"
|
|
18
|
+
* is that "type" points to a legacy transform on
|
|
19
|
+
* "attribute" that a serializer *might* use, while
|
|
20
|
+
* "type" points to a new-style transform on "field"
|
|
21
|
+
* that a record implmentation *must* use.
|
|
22
|
+
*
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* A field that can be used to alias one key to another
|
|
28
|
+
* key present in the cache version of the resource.
|
|
29
|
+
*
|
|
30
|
+
* Unlike DerivedField, an AliasField may write to its
|
|
31
|
+
* source when a record is in an editable mode.
|
|
32
|
+
*
|
|
33
|
+
* ~~AliasFields may utilize a transform, specified by type,
|
|
34
|
+
* to pre/post process the raw data for the field.~~ (not yet implemented)
|
|
35
|
+
*
|
|
36
|
+
* An AliasField may also specify a `kind` via options.
|
|
37
|
+
* `kind` may be any other valid field kind other than
|
|
38
|
+
*
|
|
39
|
+
* - `@hash`
|
|
40
|
+
* - `@id`
|
|
41
|
+
* - `@local`
|
|
42
|
+
* - `derived`
|
|
43
|
+
*
|
|
44
|
+
* This allows an AliasField to rename any field in the cache.
|
|
45
|
+
*
|
|
46
|
+
* Alias fields are generally intended to be used to support migrating
|
|
47
|
+
* between different schemas, though there are times where they are useful
|
|
48
|
+
* as a form of advanced derivation when used with a transform. For instance,
|
|
49
|
+
* an AliasField could be used to expose both a string and a Date version of the
|
|
50
|
+
* same field, with both being capable of being written to.
|
|
51
|
+
*
|
|
52
|
+
* @public
|
|
53
|
+
*/
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* A field that can be used to alias one key to another
|
|
57
|
+
* key present in the cache version of the resource.
|
|
58
|
+
*
|
|
59
|
+
* Unlike DerivedField, an AliasField may write to its
|
|
60
|
+
* source when a record is in an editable mode.
|
|
61
|
+
*
|
|
62
|
+
* ~~AliasFields may utilize a transform, specified by type,
|
|
63
|
+
* to pre/post process the raw data for the field.~~ (not yet implemented)
|
|
64
|
+
*
|
|
65
|
+
* An AliasField may also specify a `kind` via options.
|
|
66
|
+
* `kind` may be any other valid field kind other than
|
|
67
|
+
*
|
|
68
|
+
* - `@hash`
|
|
69
|
+
* - `@id`
|
|
70
|
+
* - `@local`
|
|
71
|
+
* - `derived`
|
|
72
|
+
*
|
|
73
|
+
* This allows an AliasField to rename any field in the cache.
|
|
74
|
+
*
|
|
75
|
+
* Alias fields are generally intended to be used to support migrating
|
|
76
|
+
* between different schemas, though there are times where they are useful
|
|
77
|
+
* as a form of advanced derivation when used with a transform. For instance,
|
|
78
|
+
* an AliasField could be used to expose both a string and a Date version of the
|
|
79
|
+
* same field, with both being capable of being written to.
|
|
80
|
+
*
|
|
81
|
+
* @public
|
|
82
|
+
*/
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* A field that can be used to alias one key to another
|
|
86
|
+
* key present in the cache version of the resource.
|
|
87
|
+
*
|
|
88
|
+
* Unlike DerivedField, an AliasField may write to its
|
|
89
|
+
* source when a record is in an editable mode.
|
|
90
|
+
*
|
|
91
|
+
* AliasFields may utilize a transform, specified by type,
|
|
92
|
+
* to pre/post process the field.
|
|
93
|
+
*
|
|
94
|
+
* An AliasField may also specify a `kind` via options.
|
|
95
|
+
* `kind` may be any other valid field kind other than
|
|
96
|
+
*
|
|
97
|
+
* - `@hash`
|
|
98
|
+
* - `@id`
|
|
99
|
+
* - `@local`
|
|
100
|
+
* - `derived`
|
|
101
|
+
*
|
|
102
|
+
* This allows an AliasField to rename any field in the cache.
|
|
103
|
+
*
|
|
104
|
+
* Alias fields are generally intended to be used to support migrating
|
|
105
|
+
* between different schemas, though there are times where they are useful
|
|
106
|
+
* as a form of advanced derivation when used with a transform. For instance,
|
|
107
|
+
* an AliasField could be used to expose both a string and a Date version of the
|
|
108
|
+
* same field, with both being capable of being written to.
|
|
109
|
+
*
|
|
110
|
+
* @public
|
|
111
|
+
*/
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Represents a field whose value is the primary
|
|
115
|
+
* key of the resource.
|
|
116
|
+
*
|
|
117
|
+
* This allows any field to serve as the primary
|
|
118
|
+
* key while still being able to drive identity
|
|
119
|
+
* needs within the system.
|
|
120
|
+
*
|
|
121
|
+
* This is useful for resources that use for instance
|
|
122
|
+
* 'uuid', 'urn' or 'entityUrn' or 'primaryKey' as their
|
|
123
|
+
* primary key field instead of 'id'.
|
|
124
|
+
*
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Represents a specialized field whose computed value
|
|
130
|
+
* will be used as the primary key of a schema-object
|
|
131
|
+
* for serializability and comparison purposes.
|
|
132
|
+
*
|
|
133
|
+
* This field functions similarly to derived fields in that
|
|
134
|
+
* it is non-settable, derived state but differs in that
|
|
135
|
+
* it is only able to compute off of cache state and is given
|
|
136
|
+
* no access to a record instance.
|
|
137
|
+
*
|
|
138
|
+
* This means that if a hashing function wants to compute its value
|
|
139
|
+
* taking into account transformations and derivations it must
|
|
140
|
+
* perform those itself.
|
|
141
|
+
*
|
|
142
|
+
* A schema-array can declare its "key" value to be `@hash` if
|
|
143
|
+
* the schema-objects it contains have such a field.
|
|
144
|
+
*
|
|
145
|
+
* Only one hash field is permittable per schema-object, and
|
|
146
|
+
* it should be placed in the `ResourceSchema`'s `@id` field
|
|
147
|
+
* in place of an `IdentityField`.
|
|
148
|
+
*
|
|
149
|
+
* @public
|
|
150
|
+
*/
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Represents a field whose value is a local
|
|
154
|
+
* value that is not stored in the cache, nor
|
|
155
|
+
* is it sent to the server.
|
|
156
|
+
*
|
|
157
|
+
* Local fields can be written to, and their
|
|
158
|
+
* value is both memoized and reactive (though
|
|
159
|
+
* not deep-tracked).
|
|
160
|
+
*
|
|
161
|
+
* Because their state is not derived from the cache
|
|
162
|
+
* data or the server, they represent a divorced
|
|
163
|
+
* uncanonical source of state.
|
|
164
|
+
*
|
|
165
|
+
* For this reason Local fields should be used sparingly.
|
|
166
|
+
*
|
|
167
|
+
* Currently, while we document this feature here,
|
|
168
|
+
* only allow our own ReactiveResource default fields to
|
|
169
|
+
* utilize them and the feature should be considered private.
|
|
170
|
+
*
|
|
171
|
+
* Example use cases that drove the creation of local
|
|
172
|
+
* fields are states like `isDestroying` and `isDestroyed`
|
|
173
|
+
* which are specific to a record instance but not
|
|
174
|
+
* stored in the cache. We wanted to be able to drive
|
|
175
|
+
* these fields from schema the same as all other fields.
|
|
176
|
+
*
|
|
177
|
+
* Don't make us regret this decision.
|
|
178
|
+
*
|
|
179
|
+
* @public
|
|
180
|
+
*/
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Represents a field whose value is an object
|
|
184
|
+
* with keys pointing to values that are primitive
|
|
185
|
+
* values.
|
|
186
|
+
*
|
|
187
|
+
* If values of the keys are not primitives, or
|
|
188
|
+
* if the key/value pairs have well-defined shape,
|
|
189
|
+
* use 'schema-object' instead.
|
|
190
|
+
*
|
|
191
|
+
* @public
|
|
192
|
+
*/
|
|
193
|
+
|
|
194
|
+
/**
|
|
195
|
+
* Represents a field whose value is an object
|
|
196
|
+
* with a well-defined structure described by
|
|
197
|
+
* a schema-object (a non-resource schema).
|
|
198
|
+
*
|
|
199
|
+
* If the object's structure is not well-defined,
|
|
200
|
+
* use 'object' instead.
|
|
201
|
+
*
|
|
202
|
+
* By default, a SchemaObject within
|
|
203
|
+
*
|
|
204
|
+
* @public
|
|
205
|
+
*/
|
|
206
|
+
|
|
207
|
+
/**
|
|
208
|
+
* Represents a field whose value is an array
|
|
209
|
+
* of primitive values.
|
|
210
|
+
*
|
|
211
|
+
* If the array's elements are not primitive
|
|
212
|
+
* values, use 'schema-array' instead.
|
|
213
|
+
*
|
|
214
|
+
* @public
|
|
215
|
+
*/
|
|
216
|
+
|
|
217
|
+
/**
|
|
218
|
+
* Represents a field whose value is an array
|
|
219
|
+
* of objects with a well-defined structure
|
|
220
|
+
* described by a non-resource schema.
|
|
221
|
+
*
|
|
222
|
+
* If the array's elements are not well-defined,
|
|
223
|
+
* use 'array' instead.
|
|
224
|
+
*
|
|
225
|
+
* @public
|
|
226
|
+
*/
|
|
227
|
+
|
|
228
|
+
/**
|
|
229
|
+
* Represents a field whose value is derived
|
|
230
|
+
* from other fields in the schema.
|
|
231
|
+
*
|
|
232
|
+
* The value is read-only, and is not stored
|
|
233
|
+
* in the cache, nor is it sent to the server.
|
|
234
|
+
*
|
|
235
|
+
* Usage of derived fields should be minimized
|
|
236
|
+
* to scenarios where the derivation is known
|
|
237
|
+
* to be safe. For instance, derivations that
|
|
238
|
+
* required fields that are not always loaded
|
|
239
|
+
* or that require access to related resources
|
|
240
|
+
* that may not be loaded should be avoided.
|
|
241
|
+
*
|
|
242
|
+
* @public
|
|
243
|
+
*/
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* Represents a field that is a reference to
|
|
247
|
+
* another resource.
|
|
248
|
+
*
|
|
249
|
+
* SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
|
|
250
|
+
* BY ReactiveResource
|
|
251
|
+
*
|
|
252
|
+
* @public
|
|
253
|
+
*/
|
|
254
|
+
|
|
255
|
+
/**
|
|
256
|
+
* Represents a field that is a reference to
|
|
257
|
+
* a collection of other resources, potentially
|
|
258
|
+
* paginate.
|
|
259
|
+
*
|
|
260
|
+
* SUPPORT FOR THIS FEATURE IS NOT YET IMPLEMENTED
|
|
261
|
+
* BY ReactiveResource
|
|
262
|
+
*
|
|
263
|
+
* @public
|
|
264
|
+
*/
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* > [!CAUTION]
|
|
268
|
+
* > This Field is LEGACY
|
|
269
|
+
* > It cannot be used with PolarisMode
|
|
270
|
+
*
|
|
271
|
+
* A generic "field" that can be used to define
|
|
272
|
+
* primitive value fields.
|
|
273
|
+
*
|
|
274
|
+
* If the field points to an object or array,
|
|
275
|
+
* it will not be deep-tracked.
|
|
276
|
+
*
|
|
277
|
+
* Transforms when defined are legacy transforms
|
|
278
|
+
* that a serializer *might* use, but their usage
|
|
279
|
+
* is not guaranteed.
|
|
280
|
+
*
|
|
281
|
+
* @public
|
|
282
|
+
*/
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* > [!CAUTION]
|
|
286
|
+
* > This Field is LEGACY
|
|
287
|
+
*
|
|
288
|
+
* Represents a field that is a reference to
|
|
289
|
+
* another resource.
|
|
290
|
+
*
|
|
291
|
+
* This is the legacy version of the `ResourceField`.
|
|
292
|
+
*
|
|
293
|
+
* @public
|
|
294
|
+
*/
|
|
295
|
+
|
|
296
|
+
/**
|
|
297
|
+
* > [!CAUTION]
|
|
298
|
+
* > This Field is LEGACY
|
|
299
|
+
*
|
|
300
|
+
* Represents a field that is a reference to
|
|
301
|
+
* another resource.
|
|
302
|
+
*
|
|
303
|
+
* This is the legacy version of the `ResourceField`.
|
|
304
|
+
*
|
|
305
|
+
* @public
|
|
306
|
+
*/
|
|
307
|
+
|
|
308
|
+
/**
|
|
309
|
+
* > [!CAUTION]
|
|
310
|
+
* > This Field is LEGACY
|
|
311
|
+
*
|
|
312
|
+
* Represents a field that is a reference to
|
|
313
|
+
* a collection of other resources.
|
|
314
|
+
*
|
|
315
|
+
* This is the legacy version of the `CollectionField`.
|
|
316
|
+
*
|
|
317
|
+
* @public
|
|
318
|
+
*/
|
|
319
|
+
|
|
320
|
+
/**
|
|
321
|
+
* > [!CAUTION]
|
|
322
|
+
* > This Field is LEGACY
|
|
323
|
+
*
|
|
324
|
+
* Represents a field that is a reference to
|
|
325
|
+
* a collection of other resources.
|
|
326
|
+
*
|
|
327
|
+
* This is the legacy version of the `CollectionField`.
|
|
328
|
+
*
|
|
329
|
+
* @public
|
|
330
|
+
*/
|
|
331
|
+
|
|
332
|
+
/**
|
|
333
|
+
* A union of all possible LegacyMode field schemas.
|
|
334
|
+
*
|
|
335
|
+
* Available field schemas are:
|
|
336
|
+
*
|
|
337
|
+
* - {@link GenericField}
|
|
338
|
+
* - {@link LegacyAliasField}
|
|
339
|
+
* - {@link LocalField}
|
|
340
|
+
* - {@link ObjectField}
|
|
341
|
+
* - {@link SchemaObjectField}
|
|
342
|
+
* - {@link ArrayField}
|
|
343
|
+
* - {@link SchemaArrayField}
|
|
344
|
+
* - {@link DerivedField}
|
|
345
|
+
* - {@link ResourceField | ResourceField (not yet implemented)}
|
|
346
|
+
* - {@link CollectionField | CollectionField (not yet implemented)}
|
|
347
|
+
* - {@link LegacyAttributeField}
|
|
348
|
+
* - {@link LegacyBelongsToField}
|
|
349
|
+
* - {@link LegacyHasManyField}
|
|
350
|
+
*
|
|
351
|
+
* @public
|
|
352
|
+
*/
|
|
353
|
+
|
|
354
|
+
/**
|
|
355
|
+
* A union of all possible PolarisMode field schemas.
|
|
356
|
+
*
|
|
357
|
+
* Available field schemas are:
|
|
358
|
+
*
|
|
359
|
+
* - {@link GenericField}
|
|
360
|
+
* - {@link PolarisAliasField}
|
|
361
|
+
* - {@link LocalField}
|
|
362
|
+
* - {@link ObjectField}
|
|
363
|
+
* - {@link SchemaObjectField}
|
|
364
|
+
* - {@link ArrayField}
|
|
365
|
+
* - {@link SchemaArrayField}
|
|
366
|
+
* - {@link DerivedField}
|
|
367
|
+
* - {@link ResourceField | ResourceField (not yet implemented)}
|
|
368
|
+
* - {@link CollectionField | CollectionField (not yet implemented)}
|
|
369
|
+
* - {@link LinksModeBelongsToField}
|
|
370
|
+
* - {@link LinksModeHasManyField}
|
|
371
|
+
*
|
|
372
|
+
* @public
|
|
373
|
+
*/
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* A union of all possible LegacyMode and PolarisMode
|
|
377
|
+
* field schemas.
|
|
378
|
+
*
|
|
379
|
+
* You likely will want to use PolarisModeFieldSchema,
|
|
380
|
+
* LegacyModeFieldSchema, or ObjectFieldSchema instead
|
|
381
|
+
* as appropriate as they are more specific and will
|
|
382
|
+
* provide better guidance around what is valid.
|
|
383
|
+
*
|
|
384
|
+
* @public
|
|
385
|
+
*/
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* A union of all possible LegacyMode and PolarisMode
|
|
389
|
+
* field schemas that represent data that could be in
|
|
390
|
+
* the cache.
|
|
391
|
+
*
|
|
392
|
+
* In other words this will not include types like alias
|
|
393
|
+
* fields, local fields, or derived fields.
|
|
394
|
+
*
|
|
395
|
+
* @public
|
|
396
|
+
*/
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* A union of all possible field schemas that can be
|
|
400
|
+
* used in an ObjectSchema.
|
|
401
|
+
*
|
|
402
|
+
* @public
|
|
403
|
+
*/
|
|
404
|
+
|
|
405
|
+
/**
|
|
406
|
+
* Represents a schema for a primary resource in PolarisMode.
|
|
407
|
+
*
|
|
408
|
+
* Primary resources are objects with a unique identity of their
|
|
409
|
+
* own which may allow them to appear in relationships, or in multiple
|
|
410
|
+
* response documents.
|
|
411
|
+
*
|
|
412
|
+
* @public
|
|
413
|
+
*/
|
|
414
|
+
|
|
415
|
+
/**
|
|
416
|
+
* Represents a schema for a primary resource in LegacyMode
|
|
417
|
+
*
|
|
418
|
+
* Primary resources are objects with a unique identity of their
|
|
419
|
+
* own which may allow them to appear in relationships, or in multiple
|
|
420
|
+
* response documents.
|
|
421
|
+
*
|
|
422
|
+
* @public
|
|
423
|
+
*/
|
|
424
|
+
|
|
425
|
+
/**
|
|
426
|
+
* A type which represents a valid JSON schema
|
|
427
|
+
* definition for either a PolarisMode or a
|
|
428
|
+
* LegacyMode resource.
|
|
429
|
+
*
|
|
430
|
+
* Note, this is separate from the type returned
|
|
431
|
+
* by the SchemaService which provides fields as a Map
|
|
432
|
+
* instead of as an Array.
|
|
433
|
+
*
|
|
434
|
+
* @public
|
|
435
|
+
*/
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Represents a schema for an object that is not
|
|
439
|
+
* a primary resource (has no unique identity of its own).
|
|
440
|
+
*
|
|
441
|
+
* ObjectSchemas may not currently contain relationships.
|
|
442
|
+
*
|
|
443
|
+
* @public
|
|
444
|
+
*/
|
|
445
|
+
|
|
446
|
+
/**
|
|
447
|
+
* A trait for use on a PolarisMode record
|
|
448
|
+
*/
|
|
449
|
+
|
|
450
|
+
/**
|
|
451
|
+
* A trait for use on a LegacyMode record
|
|
452
|
+
*/
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* A union of
|
|
456
|
+
* - {@link LegacyTrait}
|
|
457
|
+
* - {@link PolarisTrait}
|
|
458
|
+
*/
|
|
459
|
+
|
|
460
|
+
/**
|
|
461
|
+
* A no-op type utility that enables type-checking resource schema
|
|
462
|
+
* definitions.
|
|
463
|
+
*
|
|
464
|
+
* Will return the passed in schema.
|
|
465
|
+
*
|
|
466
|
+
* This will not validate relationship inverses or related types,
|
|
467
|
+
* as doing so would require a full schema graph to be passed in
|
|
468
|
+
* and no cycles in the graph to be present.
|
|
469
|
+
*
|
|
470
|
+
* @public
|
|
471
|
+
*/
|
|
472
|
+
function resourceSchema(schema) {
|
|
473
|
+
return schema;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
/**
|
|
477
|
+
* A no-op type utility that enables type-checking object schema
|
|
478
|
+
* definitions.
|
|
479
|
+
*
|
|
480
|
+
* Will return the passed in schema.
|
|
481
|
+
*
|
|
482
|
+
* @public
|
|
483
|
+
*/
|
|
484
|
+
function objectSchema(schema) {
|
|
485
|
+
return schema;
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* A type utility to narrow a schema to a ResourceSchema
|
|
490
|
+
*
|
|
491
|
+
* @public
|
|
492
|
+
*/
|
|
493
|
+
function isResourceSchema(schema) {
|
|
494
|
+
return schema?.identity?.kind === '@id';
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* A type utility to narrow a schema to LegacyResourceSchema
|
|
499
|
+
*
|
|
500
|
+
* @public
|
|
501
|
+
*/
|
|
502
|
+
function isLegacyResourceSchema(schema) {
|
|
503
|
+
return isResourceSchema(schema) && schema.legacy === true;
|
|
504
|
+
}
|
|
505
|
+
export { isLegacyResourceSchema, isResourceSchema, objectSchema, resourceSchema };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { getOrSetGlobal } from './-private.js';
|
|
2
|
+
const RecordStore = getOrSetGlobal('Store', Symbol('Store'));
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Symbol for the name of a resource, transformation
|
|
6
|
+
* or derivation.
|
|
7
|
+
*
|
|
8
|
+
* ### With Resources
|
|
9
|
+
*
|
|
10
|
+
* This is an optional feature that can be used by
|
|
11
|
+
* record implementations to provide a typescript
|
|
12
|
+
* hint for the type of the resource.
|
|
13
|
+
*
|
|
14
|
+
* When used, WarpDrive APIs can
|
|
15
|
+
* take advantage of this to provide better type
|
|
16
|
+
* safety and intellisense.
|
|
17
|
+
*
|
|
18
|
+
* ### With Derivations
|
|
19
|
+
*
|
|
20
|
+
* Required for derivations registered with
|
|
21
|
+
* `store.registerDerivation(derivation)`.
|
|
22
|
+
*
|
|
23
|
+
* ```ts
|
|
24
|
+
* function concat(record: object, options: ObjectValue | null, prop: string): string {}
|
|
25
|
+
* concat[Name] = 'concat';
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* ### With Transforms
|
|
29
|
+
*
|
|
30
|
+
* Required for new-style transformations registered
|
|
31
|
+
* with `store.registerTransform(transform)`.
|
|
32
|
+
*
|
|
33
|
+
* For legacy transforms, if not used,
|
|
34
|
+
* `attr<Transform>('name')` will allow any string name.
|
|
35
|
+
* `attr('name')` will always allow any string name.
|
|
36
|
+
*
|
|
37
|
+
* If used, `attr<Transform>('name')` will enforce
|
|
38
|
+
* that the name is the same as the transform name.
|
|
39
|
+
*
|
|
40
|
+
* @type {Symbol}
|
|
41
|
+
*/
|
|
42
|
+
const Type = getOrSetGlobal('$type', Symbol('$type'));
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Symbol for the type of a resource.
|
|
46
|
+
*
|
|
47
|
+
* This is an optional feature that can be used by
|
|
48
|
+
* record implementations to provide a typescript
|
|
49
|
+
* hint for the type of the resource.
|
|
50
|
+
*
|
|
51
|
+
* When used, WarpDrive APIs can
|
|
52
|
+
* take advantage of this to provide better type
|
|
53
|
+
* safety and intellisense.
|
|
54
|
+
*
|
|
55
|
+
* @type {Symbol}
|
|
56
|
+
*/
|
|
57
|
+
const ResourceType = Type;
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* Symbol for the name of a transform.
|
|
61
|
+
*
|
|
62
|
+
* This is an optional feature that can be used by
|
|
63
|
+
* transform implementations to provide a typescript
|
|
64
|
+
* hint for the name of the transform.
|
|
65
|
+
*
|
|
66
|
+
* If not used, `attr<Transform>('name')` will
|
|
67
|
+
* allow any string name. `attr('name')` will always
|
|
68
|
+
* allow any string name.
|
|
69
|
+
*
|
|
70
|
+
* If used, `attr<Transform>('name')` will enforce
|
|
71
|
+
* that the name is the same as the transform name.
|
|
72
|
+
*
|
|
73
|
+
* @type {Symbol}
|
|
74
|
+
*/
|
|
75
|
+
const TransformName = Type;
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Symbol for use by builders to indicate the return type
|
|
79
|
+
* generic to use for store.request()
|
|
80
|
+
*
|
|
81
|
+
* @type {Symbol}
|
|
82
|
+
*/
|
|
83
|
+
const RequestSignature = getOrSetGlobal('RequestSignature', Symbol('RequestSignature'));
|
|
84
|
+
export { RecordStore, RequestSignature, ResourceType, TransformName, Type };
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
const DEFAULT_MAX_CACHE_SIZE = 10_000;
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* An LRUCache implementation with upsert semantics.
|
|
5
|
+
*
|
|
6
|
+
* This implementation is *not* generic, but focuses on
|
|
7
|
+
* performance tuning for the string transformation cases
|
|
8
|
+
* where the key maps to the value very simply.
|
|
9
|
+
*
|
|
10
|
+
* It takes a work function that should generate a new value
|
|
11
|
+
* for a given key when called. It will be called when the key
|
|
12
|
+
* is not found in the cache.
|
|
13
|
+
*
|
|
14
|
+
* It keeps track of the number of hits, misses, and ejections
|
|
15
|
+
* in DEBUG envs, which is useful for tuning the cache size.
|
|
16
|
+
*
|
|
17
|
+
* This is an internal utility class for use by this module
|
|
18
|
+
* and by `@warp-drive/utilities/string`. It is not intended
|
|
19
|
+
* for use outside of these modules at this time.
|
|
20
|
+
*
|
|
21
|
+
* @private
|
|
22
|
+
*/
|
|
23
|
+
class LRUCache {
|
|
24
|
+
// debug stats
|
|
25
|
+
|
|
26
|
+
constructor(doWork, size) {
|
|
27
|
+
this.size = size || DEFAULT_MAX_CACHE_SIZE;
|
|
28
|
+
this.state = new Map();
|
|
29
|
+
this.doWork = doWork;
|
|
30
|
+
}
|
|
31
|
+
get(key) {
|
|
32
|
+
const value = this.state.get(key);
|
|
33
|
+
if (value) {
|
|
34
|
+
this.state.delete(key);
|
|
35
|
+
this.state.set(key, value);
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
const newValue = this.doWork(key);
|
|
39
|
+
this.set(key, newValue);
|
|
40
|
+
return newValue;
|
|
41
|
+
}
|
|
42
|
+
set(key, value) {
|
|
43
|
+
if (this.state.size === this.size) {
|
|
44
|
+
for (const [k] of this.state) {
|
|
45
|
+
this.state.delete(k);
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
this.state.set(key, value);
|
|
50
|
+
}
|
|
51
|
+
clear() {
|
|
52
|
+
this.state.clear();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const STRING_DASHERIZE_REGEXP = /[ _]/g;
|
|
56
|
+
const STRING_DECAMELIZE_REGEXP = /([a-z\d])([A-Z])/g;
|
|
57
|
+
const STRING_DASHERIZE_CACHE = new LRUCache(key => key.replace(STRING_DECAMELIZE_REGEXP, '$1_$2').toLowerCase().replace(STRING_DASHERIZE_REGEXP, '-'));
|
|
58
|
+
|
|
59
|
+
/**
|
|
60
|
+
* This is an internal utility function that converts a string
|
|
61
|
+
* to a dasherized format. Library consumers should use the
|
|
62
|
+
* re-exported version from `@warp-drive/utilities/string` instead.
|
|
63
|
+
*
|
|
64
|
+
* This version is only in this location to support a deprecated
|
|
65
|
+
* behavior in the core package and will be removed in a future.
|
|
66
|
+
*
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
function dasherize(str) {
|
|
70
|
+
return STRING_DASHERIZE_CACHE.get(str);
|
|
71
|
+
}
|
|
72
|
+
export { LRUCache, STRING_DASHERIZE_CACHE, dasherize };
|
package/logos/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
# Autogeneration Notice
|
|
2
2
|
|
|
3
|
-
This directory is maintained in the root of the monorepo and sync'd
|
|
4
|
-
repositories by running `bun sync-logos`
|
|
3
|
+
This directory is maintained in the root of the monorepo in `/logos/synced` and sync'd
|
|
4
|
+
to public repositories by running `bun sync-logos`
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="1498" height="1047" fill="none" viewBox="0 0 1498 1047"><g filter="url(#a)"><path fill="url(#b)" d="M132 175.075C132 149.076 153.138 128 179.213 128H1318.23c26.08 0 47.22 21.076 47.22 47.075v688.85c0 25.999-21.14 47.075-47.22 47.075H179.213C153.138 911 132 889.924 132 863.925z"/><path fill="#201328" d="M1043.4 587.312c0-39.962 30.84-72.357 68.87-72.357h53.09c38.04 0 68.88-32.395 68.88-72.357v-92.651c0-39.962-30.84-72.358-68.88-72.358h-53.09c-38.01 0-68.82 32.351-68.87 72.275v92.734c0 39.962-30.83 72.357-68.869 72.357h-53.089c-38.036 0-68.871-32.395-68.871-72.357v-87.409c0-39.962-30.835-72.358-68.872-72.358h-51.654c-38.037 0-68.872 32.396-68.872 72.358v87.409c0 39.962-30.835 72.357-68.872 72.357h-53.088c-38.037 0-68.872-32.395-68.872-72.357v-92.652c0-39.961-30.835-72.357-68.872-72.357h-53.088c-38.037 0-68.872 32.396-68.872 72.357v92.652c0 39.962 30.835 72.357 68.872 72.357h53.088c38.037 0 68.872 32.395 68.872 72.357v101.741c0 39.962 30.835 72.358 68.872 72.358h53.088c38.037 0 68.872-32.396 68.872-72.358V587.312c0-39.962 30.835-72.357 68.872-72.357h51.654c38.037 0 68.872 32.395 68.872 72.357v101.741c0 39.962 30.835 72.358 68.871 72.358h53.089c38.039 0 68.869-32.396 68.869-72.358z"/></g><defs><linearGradient id="b" x1="748.724" x2="1167.5" y1="128" y2="1070.23" gradientUnits="userSpaceOnUse"><stop stop-color="#ffc474"/><stop offset="1" stop-color="#ff9809"/></linearGradient><filter id="a" width="1497.45" height="1047" x="0" y="0" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="4"/><feGaussianBlur stdDeviation="66"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0"/><feBlend in2="BackgroundImageFix" result="effect1_dropShadow_757_188"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="4"/><feGaussianBlur stdDeviation="18"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend in2="effect1_dropShadow_757_188" result="effect2_dropShadow_757_188"/><feColorMatrix in="SourceAlpha" result="hardAlpha" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/><feOffset dy="4"/><feGaussianBlur stdDeviation="2"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/><feBlend in2="effect2_dropShadow_757_188" result="effect3_dropShadow_757_188"/><feBlend in="SourceGraphic" in2="effect3_dropShadow_757_188" result="shape"/></filter></defs></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="2081" height="200" fill="none" viewBox="0 0 2081 200"><path fill="#000" d="M2064.89 185.359c-15.57 5.16-31.15 8.846-46.72 11.058q-23.22 3.456-47.55 3.456c-20.73 0-39.21-2.212-55.43-6.635q-24.18-6.773-40.77-19.49c-11.06-8.478-19.49-18.844-25.3-31.1-5.8-12.256-8.71-26.125-8.71-41.606 0-14.375 2.91-27.69 8.71-39.947 5.9-12.348 14.19-23.037 24.88-32.068 10.78-9.123 23.78-16.218 38.98-21.286C1928.19 2.58 1945.14 0 1963.85 0c17.23 0 32.99 2.35 47.27 7.05 14.38 4.607 26.68 11.472 36.91 20.595q15.48 13.684 23.91 33.727c5.71 13.361 8.57 28.75 8.57 46.167v12.716h-187.16a48.3 48.3 0 0 0 8.16 16.449c3.87 4.976 9.08 9.215 15.62 12.717 6.54 3.501 14.56 6.22 24.05 8.155 9.58 1.935 21.01 2.903 34.28 2.903 9.4 0 18.61-.553 27.64-1.659 9.04-1.198 17.47-2.719 25.3-4.562q11.745-2.902 21.15-6.358c6.36-2.304 11.47-4.607 15.34-6.911zm-35.38-102.7c-.47-4.7-1.89-9.538-4.29-14.514-2.3-5.069-5.99-9.63-11.06-13.685s-11.7-7.371-19.9-9.952q-12.3-4.008-30.69-4.008-17.28 0-29.85 4.285-12.585 4.284-21.15 10.643c-5.62 4.239-10 8.8-13.13 13.684-3.14 4.884-5.16 9.4-6.09 13.546zm-284.63 112.099h-59.71l-96.06-189.92h57.22l69.11 142.924 68.98-142.924h57.22zm-238.29 0V4.838h51.28v189.92zm-32.63-146.932c-1.38-.461-3.4-1.06-6.08-1.797q-3.87-1.245-9.12-2.35-5.25-1.244-11.61-2.073c-4.15-.553-8.43-.83-12.86-.83-9.21 0-17.83 1.152-25.84 3.456q-11.895 3.317-22.26 8.984a125.3 125.3 0 0 0-19.35 12.717c-5.9 4.7-11.33 9.537-16.31 14.514v114.311h-51.28V4.838h51.28v30.824c6.17-4.608 12.49-9.03 18.94-13.27a163 163 0 0 1 20.32-11.472c7.09-3.318 14.56-5.944 22.39-7.88 7.83-2.026 16.12-3.04 24.88-3.04 3.32 0 6.68.184 10.09.553 3.5.276 6.86.645 10.09 1.106 3.32.46 6.4.967 9.26 1.52s5.35 1.106 7.46 1.659zM1263.71 99.66c0 12.164-1.33 22.991-4 32.483-2.68 9.399-6.45 17.6-11.34 24.604-4.79 7.003-10.6 12.947-17.42 17.831q-10.08 7.325-22.53 11.749c-8.29 2.948-17.23 5.114-26.81 6.496q-14.37 1.935-30 1.935h-120.53V4.838h120.26c10.41 0 20.41.691 29.99 2.073 9.59 1.29 18.52 3.41 26.82 6.359 8.38 2.948 15.99 6.865 22.8 11.749 6.82 4.791 12.63 10.735 17.42 17.83 4.89 7.004 8.66 15.205 11.34 24.605 2.67 9.399 4 20.134 4 32.206m-51.69 0q0-13.685-3.6-23.775c-2.3-6.727-6.08-12.256-11.33-16.587-5.16-4.423-11.93-7.694-20.32-9.814-8.38-2.211-18.61-3.317-30.68-3.317h-63.73v107.262h63.73c12.07 0 22.3-1.06 30.68-3.179 8.39-2.212 15.16-5.529 20.32-9.952 5.25-4.515 9.03-10.137 11.33-16.864q3.6-10.09 3.6-23.774M986.574 63.169q0 14.237-4.699 25.157-4.562 10.92-14.514 18.383-9.952 7.464-25.71 11.335-15.62 3.732-37.735 3.732h-85.285v72.982h-17.278V4.838h102.563q22.116 0 37.735 3.87 15.758 3.732 25.71 11.058t14.514 18.246q4.7 10.92 4.699 25.157m-17.831 0q0-13.546-4.561-21.84-4.423-8.294-13.823-12.716-9.26-4.562-23.636-6.082-14.237-1.52-33.865-1.52h-74.227v84.593h74.227q7.602 0 16.172.138 8.709 0 17.14-.83 8.432-.967 16.034-3.179 7.74-2.349 13.546-7.05 5.945-4.699 9.399-12.301 3.594-7.602 3.594-19.213M766.455 19.49q-4.01-1.244-11.197-2.627-7.049-1.52-18.245-1.52-15.481 0-29.166 3.87-13.545 3.732-25.295 10.229a126.3 126.3 0 0 0-21.563 15.205q-9.951 8.57-17.969 18.245v131.866h-17.278V4.838h17.278V43.54a166 166 0 0 1 20.043-17.555q10.92-8.017 22.945-13.684a125.8 125.8 0 0 1 25.157-8.985Q724.435 0 738.533 0q4.839 0 8.708.276 3.87.14 7.05.553 3.317.277 6.22.691 2.902.416 5.944.968zm-220.33 175.268v-21.01q-9.952 5.39-22.669 9.952-12.579 4.562-26.677 7.879-13.96 3.318-28.751 5.114-14.79 1.797-29.027 1.797-18.522 0-33.312-3.317-14.652-3.318-24.881-9.814-10.228-6.635-15.757-16.31-5.529-9.814-5.529-22.669 0-12.717 6.358-22.393 6.497-9.813 18.384-17.001 11.887-7.326 28.612-12.302 16.864-5.115 37.598-8.57 20.733-3.594 44.784-5.806 24.19-2.349 50.867-3.87V61.925q0-8.846-3.318-15.62-3.317-6.772-9.261-11.749-5.943-5.115-13.96-8.431-8.017-3.456-17.416-5.53-9.262-2.074-19.628-2.902a219 219 0 0 0-20.596-.968q-13.96 0-25.433 1.383-11.473 1.381-21.425 3.87-9.952 2.35-19.075 5.529a563 563 0 0 0-18.384 6.773V14.099q19.213-5.114 40.915-8.846 21.839-3.87 46.305-3.87 20.733 0 38.703 3.593 17.969 3.456 31.238 11.196 13.27 7.74 20.872 20.043 7.603 12.164 7.603 29.718v128.825zm0-102.977q-45.2 2.489-77.268 7.05-31.929 4.561-52.248 11.196-20.32 6.634-29.857 15.481-9.399 8.846-9.399 20.042 0 9.123 4.561 16.173 4.7 7.049 13.408 11.887 8.708 4.7 21.148 7.188 12.44 2.349 27.922 2.349 9.123 0 18.798-.967a276 276 0 0 0 19.49-2.903 319 319 0 0 0 19.075-4.423q9.4-2.627 17.693-5.667t15.066-6.497q6.912-3.455 11.611-7.049zM180.245 4.838l67.73 176.098L318.193 4.838h19.213l-76.438 189.92h-25.71L168.634 23.222l-66.486 171.536h-25.71L0 4.838h19.213l70.218 176.098L157.023 4.838z"/></svg>
|