Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ON_HOLD] feat: add additional state-machine states to handle unload/loading edge cases #7475

Closed
wants to merge 1 commit into from

Conversation

runspired
Copy link
Contributor

resolves emberjs/rfcs#358
resolves emberjs/rfcs#359

While working on #7470 and #7471 I noticed that we don't properly inform RecordData today whether the teardown of relationships is occurring for a new record or not. This is primarily because the context is lost. It's also currently impossible to tell internally if an empty record is empty because it was unloaded after a persisted deletion, has never been fetched, or has been unloaded but retained. This resolves this which will allow us to do nicer things internally in many locations.

We may desire to RFC these, though in most ways this is additive backfill to fix existing bugs with the state machine. It's unclear whether new substates which result in new currentState.stateName strings require RFC or not.

I scanned ember-observer and no actively maintained addons will be affected (two that were never published and haven't been touched in years would have had a marginal migration to make).

@github-actions
Copy link

Asset Size Report for 9ffe5bf

IE11 Builds

🛑 The size of the library EmberData has increased by +385.0 B (+31.0 B compressed) which exceeds the failure threshold of 75 bytes.

Warnings

⚠️ The uncompressed size of the package @ember-data/store has increased by +385.0 B.

Changeset


EmberData +177.54 KB +385.0 B (+36.29 KB +31.0 B compressed)
    @ember-data/store +76.98 KB +385.0 B (+15.74 KB +31.0 B compressed)
        @ember-data/store/-private +76.07 KB +385.0 B (+15.55 KB +31.0 B compressed)

Full Asset Analysis (IE11)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '177.54 KB' │
│ compressed │ '36.29 KB'  │
│  packages  │      8      │
│  modules   │     44      │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '76.98 KB' │
│  compressed  │ '15.74 KB' │
│ % Of Library │   '43.4'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/store/-private                        | 76.07 KB  | 15.55 KB   | 98.8          | 42.8
	@ember-data/store/index                           | 936.00 B  | 191.35 B   | 1.2           | 0.5

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '25.09 KB' │
│  compressed  │ '5.13 KB'  │
│ % Of Library │   '14.1'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private                  | 25.09 KB  | 5.13 KB    | 100.0         | 14.1

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '20.84 KB' │
│  compressed  │ '4.26 KB'  │
│ % Of Library │   '11.7'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                       | 7.75 KB   | 1.58 KB    | 37.2          | 4.4
	@ember-data/serializer/-private                   | 5.69 KB   | 1.16 KB    | 27.3          | 3.2
	@ember-data/serializer/json-api                   | 3.95 KB   | 826.54 B   | 18.9          | 2.2
	@ember-data/serializer/rest                       | 3.00 KB   | 627.21 B   | 14.4          | 1.7
	@ember-data/serializer/index                      | 258.00 B  | 52.74 B    | 1.2           | 0.1
	@ember-data/serializer/transform                  | 215.00 B  | 43.95 B    | 1.0           | 0.1

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '18.47 KB' │
│  compressed  │ '3.78 KB'  │
│ % Of Library │   '10.4'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                          | 9.31 KB   | 1.90 KB    | 50.4          | 5.2
	@ember-data/adapter/-private                      | 3.80 KB   | 796.48 B   | 20.6          | 2.1
	@ember-data/adapter/error                         | 1.95 KB   | 407.64 B   | 10.5          | 1.1
	@ember-data/adapter/index                         | 1.81 KB   | 378.20 B   | 9.8           | 1.0
	@ember-data/adapter/json-api                      | 1.60 KB   | 335.68 B   | 8.7           | 0.9

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '15.80 KB' │
│  compressed  │ '3.23 KB'  │
│ % Of Library │   '8.9'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/model/-private                        | 15.32 KB  | 3.13 KB    | 97.0          | 8.6
	@ember-data/model/index                           | 486.00 B  | 99.35 B    | 3.0           | 0.3

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.24 KB' │
│  compressed  │ '1.89 KB' │
│ % Of Library │   '5.2'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 486.35 B   | 25.1          | 1.3
	ember-data/-private                               | 1.98 KB   | 414.80 B   | 21.4          | 1.1
	ember-data/adapters/errors                        | 1.19 KB   | 248.80 B   | 12.9          | 0.7
	ember-data/setup-container                        | 503.00 B  | 102.83 B   | 5.3           | 0.3
	ember-data/relationships                          | 318.00 B  | 65.01 B    | 3.4           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 56.01 B    | 2.9           | 0.2
	ember-data/serializers/json-api                   | 251.00 B  | 51.31 B    | 2.7           | 0.1
	ember-data/adapters/json-api                      | 245.00 B  | 50.08 B    | 2.6           | 0.1
	ember-data/serializers/json                       | 243.00 B  | 49.67 B    | 2.6           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 49.67 B    | 2.6           | 0.1
	ember-data/transform                              | 241.00 B  | 49.26 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 48.45 B    | 2.5           | 0.1
	ember-data/serializer                             | 232.00 B  | 47.42 B    | 2.5           | 0.1
	ember-data/adapter                                | 226.00 B  | 46.20 B    | 2.4           | 0.1
	ember-data/model                                  | 222.00 B  | 45.38 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 45.38 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 44.56 B    | 2.3           | 0.1
	ember-data/version                                | 162.00 B  | 33.11 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '8.15 KB' │
│  compressed  │ '1.67 KB' │
│ % Of Library │   '4.6'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 3.11 KB   | 650.92 B   | 38.1          | 1.8
	ember-inflector/lib/helpers/pluralize             | 1.62 KB   | 338.95 B   | 19.9          | 0.9
	ember-inflector/lib/system/inflections            | 1.59 KB   | 332.62 B   | 19.5          | 0.9
	ember-inflector/index                             | 473.00 B  | 96.69 B    | 5.7           | 0.3
	ember-inflector/lib/system                        | 471.00 B  | 96.29 B    | 5.6           | 0.3
	ember-inflector/lib/system/string                 | 332.00 B  | 67.87 B    | 4.0           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 62.96 B    | 3.7           | 0.2
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 60.51 B    | 3.5           | 0.2

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.96 KB'  │
│  compressed  │ '619.65 B' │
│ % Of Library │   '1.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.47 KB   | 517.43 B   | 83.5          | 1.4
	@ember-data/debug/setup                           | 500.00 B  | 102.21 B   | 16.5          | 0.3

Modern Builds

🛑 The size of the library EmberData has increased by +381.0 B (+139.0 B compressed) which exceeds the failure threshold of 75 bytes.

Warnings

⚠️ The uncompressed size of the package @ember-data/store has increased by +381.0 B.

Changeset


EmberData +158.25 KB +381.0 B (+34.3 KB +139.0 B compressed)
    @ember-data/store +67.88 KB +381.0 B (+14.71 KB +139.0 B compressed)
        @ember-data/store/-private +66.96 KB +381.0 B (+14.51 KB +139.0 B compressed)

Full Asset Analysis (Modern)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '158.25 KB' │
│ compressed │ '34.30 KB'  │
│  packages  │      8      │
│  modules   │     44      │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '67.88 KB' │
│  compressed  │ '14.71 KB' │
│ % Of Library │   '42.9'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/store/-private                        | 66.96 KB  | 14.51 KB   | 98.7          | 42.3
	@ember-data/store/index                           | 936.00 B  | 202.86 B   | 1.3           | 0.6

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '22.00 KB' │
│  compressed  │ '4.77 KB'  │
│ % Of Library │   '13.9'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private                  | 22.00 KB  | 4.77 KB    | 100.0         | 13.9

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '19.37 KB' │
│  compressed  │ '4.20 KB'  │
│ % Of Library │   '12.2'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                       | 7.12 KB   | 1.54 KB    | 36.8          | 4.5
	@ember-data/serializer/-private                   | 5.37 KB   | 1.16 KB    | 27.7          | 3.4
	@ember-data/serializer/json-api                   | 3.72 KB   | 824.91 B   | 19.2          | 2.3
	@ember-data/serializer/rest                       | 2.71 KB   | 602.10 B   | 14.0          | 1.7
	@ember-data/serializer/index                      | 243.00 B  | 52.66 B    | 1.2           | 0.1
	@ember-data/serializer/transform                  | 215.00 B  | 46.59 B    | 1.1           | 0.1

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '16.02 KB' │
│  compressed  │ '3.47 KB'  │
│ % Of Library │   '10.1'   │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                          | 8.37 KB   | 1.81 KB    | 52.2          | 5.3
	@ember-data/adapter/-private                      | 3.58 KB   | 795.43 B   | 22.4          | 2.3
	@ember-data/adapter/error                         | 1.91 KB   | 424.59 B   | 11.9          | 1.2
	@ember-data/adapter/index                         | 1.14 KB   | 252.28 B   | 7.1           | 0.7
	@ember-data/adapter/json-api                      | 1.02 KB   | 226.05 B   | 6.4           | 0.6

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '14.40 KB' │
│  compressed  │ '3.12 KB'  │
│ % Of Library │   '9.1'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/model/-private                        | 13.92 KB  | 3.02 KB    | 96.7          | 8.8
	@ember-data/model/index                           | 486.00 B  | 105.33 B   | 3.3           | 0.3

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.24 KB' │
│  compressed  │ '2.00 KB' │
│ % Of Library │   '5.8'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 515.62 B   | 25.1          | 1.5
	ember-data/-private                               | 1.98 KB   | 439.76 B   | 21.4          | 1.3
	ember-data/adapters/errors                        | 1.19 KB   | 263.77 B   | 12.9          | 0.8
	ember-data/setup-container                        | 503.00 B  | 109.02 B   | 5.3           | 0.3
	ember-data/relationships                          | 318.00 B  | 68.92 B    | 3.4           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 59.38 B    | 2.9           | 0.2
	ember-data/serializers/json-api                   | 251.00 B  | 54.40 B    | 2.7           | 0.2
	ember-data/adapters/json-api                      | 245.00 B  | 53.10 B    | 2.6           | 0.2
	ember-data/serializers/json                       | 243.00 B  | 52.66 B    | 2.6           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 52.66 B    | 2.6           | 0.1
	ember-data/transform                              | 241.00 B  | 52.23 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 51.36 B    | 2.5           | 0.1
	ember-data/serializer                             | 232.00 B  | 50.28 B    | 2.5           | 0.1
	ember-data/adapter                                | 226.00 B  | 48.98 B    | 2.4           | 0.1
	ember-data/model                                  | 222.00 B  | 48.11 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 48.11 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 47.24 B    | 2.3           | 0.1
	ember-data/version                                | 162.00 B  | 35.11 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.66 KB' │
│  compressed  │ '1.44 KB' │
│ % Of Library │   '4.2'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.88 KB   | 639.16 B   | 43.3          | 1.8
	ember-inflector/lib/system/inflections            | 1.59 KB   | 352.63 B   | 23.9          | 1.0
	ember-inflector/index                             | 473.00 B  | 102.51 B   | 6.9           | 0.3
	ember-inflector/lib/system                        | 471.00 B  | 102.08 B   | 6.9           | 0.3
	ember-inflector/lib/helpers/pluralize             | 373.00 B  | 80.84 B    | 5.5           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 68.92 B    | 4.7           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 66.75 B    | 4.5           | 0.2
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 64.15 B    | 4.3           | 0.2

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.70 KB'  │
│  compressed  │ '599.28 B' │
│ % Of Library │   '1.7'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.21 KB   | 491.12 B   | 82.0          | 1.4
	@ember-data/debug/setup                           | 499.00 B  | 108.15 B   | 18.0          | 0.3

Modern Builds (No Rollup)

🛑 The size of the library EmberData has increased by +388.0 B (+78.0 B compressed) which exceeds the failure threshold of 75 bytes.

Warnings

⚠️ The uncompressed size of the package @ember-data/store has increased by +388.0 B.

Changeset


EmberData +202.33 KB +388.0 B (+38.69 KB +78.0 B compressed)
    @ember-data/store +99.22 KB +388.0 B (+18.97 KB +78.0 B compressed)
        @ember-data/store/-private/system/core-store +17.15 KB +22.0 B (+3.28 KB +4.42 B compressed)
        @ember-data/store/-private/system/model/internal-model +15.5 KB +173.0 B (+2.96 KB +34.78 B compressed)
        @ember-data/store/-private/system/model/states +5.66 KB +193.0 B (+1.08 KB +38.8 B compressed)

Full Asset Analysis (Modern)

Asset Size Report
=================


Library: EmberData
┌────────────┬─────────────┐
│  (index)   │   Values    │
├────────────┼─────────────┤
│   bytes    │ '202.33 KB' │
│ compressed │ '38.69 KB'  │
│  packages  │      8      │
│  modules   │     143     │
└────────────┴─────────────┘

Package: @ember-data/store
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '99.22 KB' │
│  compressed  │ '18.97 KB' │
│ % Of Library │   '49.0'   │
└──────────────┴────────────┘
	Module                                                                             | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------------------------------------
	@ember-data/store/-private/system/core-store                                       | 17.15 KB  | 3.28 KB    | 17.3          | 8.5
	@ember-data/store/-private/system/model/internal-model                             | 15.50 KB  | 2.96 KB    | 15.6          | 7.7
	@ember-data/store/-private/system/model/states                                     | 5.66 KB   | 1.08 KB    | 5.7           | 2.8
	@ember-data/store/-private/system/fetch-manager                                    | 4.96 KB   | 971.56 B   | 5.0           | 2.5
	@ember-data/store/-private/system/record-array-manager                             | 4.47 KB   | 874.42 B   | 4.5           | 2.2
	@ember-data/store/-private/system/store/finders                                    | 4.37 KB   | 855.69 B   | 4.4           | 2.2
	@ember-data/store/-private/index                                                   | 4.16 KB   | 814.57 B   | 4.2           | 2.1
	@ember-data/store/-private/identifiers/cache                                       | 3.86 KB   | 756.06 B   | 3.9           | 1.9
	@ember-data/store/-private/system/store/record-data-store-wrapper                  | 3.37 KB   | 659.69 B   | 3.4           | 1.7
	@ember-data/store/-private/system/store/internal-model-factory                     | 2.91 KB   | 570.01 B   | 2.9           | 1.4
	@ember-data/store/-private/system/snapshot                                         | 2.85 KB   | 558.15 B   | 2.9           | 1.4
	@ember-data/store/-private/system/record-arrays/record-array                       | 2.25 KB   | 440.36 B   | 2.3           | 1.1
	@ember-data/store/-private/system/ds-model-store                                   | 1.99 KB   | 389.69 B   | 2.0           | 1.0
	@ember-data/store/-private/system/request-cache                                    | 1.89 KB   | 369.23 B   | 1.9           | 0.9
	@ember-data/store/-private/system/references/has-many                              | 1.52 KB   | 296.95 B   | 1.5           | 0.7
	@ember-data/store/-private/system/schema-definition-service                        | 1.47 KB   | 288.54 B   | 1.5           | 0.7
	@ember-data/store/-private/system/model/shim-model-class                           | 1.27 KB   | 248.58 B   | 1.3           | 0.6
	@ember-data/store/-private/system/references/belongs-to                            | 1.25 KB   | 244.18 B   | 1.3           | 0.6
	@ember-data/store/-private/system/store/serializer-response                        | 1.12 KB   | 220.08 B   | 1.1           | 0.6
	@ember-data/store/-private/identifiers/utils/uuid-v4                               | 1.05 KB   | 206.13 B   | 1.1           | 0.5
	@ember-data/store/-private/system/internal-model-map                               | 983.00 B  | 187.96 B   | 1.0           | 0.5
	@ember-data/store/-private/system/references/record                                | 979.00 B  | 187.20 B   | 1.0           | 0.5
	@ember-data/store/index                                                            | 936.00 B  | 178.97 B   | 0.9           | 0.5
	@ember-data/store/-private/system/references/reference                             | 917.00 B  | 175.34 B   | 0.9           | 0.4
	@ember-data/store/-private/system/record-arrays/adapter-populated-record-array     | 892.00 B  | 170.56 B   | 0.9           | 0.4
	@ember-data/store/-private/system/model/notify-changes                             | 866.00 B  | 165.59 B   | 0.9           | 0.4
	@ember-data/store/-private/system/errors-utils                                     | 764.00 B  | 146.08 B   | 0.8           | 0.4
	@ember-data/store/-private/system/snapshot-record-array                            | 753.00 B  | 143.98 B   | 0.7           | 0.4
	@ember-data/store/-private/system/record-notification-manager                      | 689.00 B  | 131.74 B   | 0.7           | 0.3
	@ember-data/store/-private/system/references                                       | 598.00 B  | 114.34 B   | 0.6           | 0.3
	@ember-data/store/-private/system/promise-proxies                                  | 556.00 B  | 106.31 B   | 0.5           | 0.3
	@ember-data/store/-private/utils/construct-resource                                | 506.00 B  | 96.75 B    | 0.5           | 0.2
	@ember-data/store/-private/system/store/common                                     | 505.00 B  | 96.56 B    | 0.5           | 0.2
	@ember-data/store/-private/system/coerce-id                                        | 496.00 B  | 94.84 B    | 0.5           | 0.2
	@ember-data/store/-private/system/record-arrays                                    | 487.00 B  | 93.12 B    | 0.5           | 0.2
	@ember-data/store/-private/system/identity-map                                     | 450.00 B  | 86.04 B    | 0.4           | 0.2
	@ember-data/store/-private/system/diff-array                                       | 438.00 B  | 83.75 B    | 0.4           | 0.2
	@ember-data/store/-private/ts-interfaces/identifier                                | 400.00 B  | 76.48 B    | 0.4           | 0.2
	@ember-data/store/-private/utils/symbol                                            | 393.00 B  | 75.14 B    | 0.4           | 0.2
	@ember-data/store/-private/identifiers/is-stable-identifier                        | 327.00 B  | 62.52 B    | 0.3           | 0.2
	@ember-data/store/-private/ts-interfaces/fetch-manager                             | 316.00 B  | 60.42 B    | 0.3           | 0.2
	@ember-data/store/-private/utils/promise-record                                    | 290.00 B  | 55.45 B    | 0.3           | 0.1
	@ember-data/store/-private/system/backburner                                       | 268.00 B  | 51.24 B    | 0.3           | 0.1
	@ember-data/store/-private/utils/brand                                             | 258.00 B  | 49.33 B    | 0.3           | 0.1
	@ember-data/store/-private/system/record-data-for                                  | 235.00 B  | 44.93 B    | 0.2           | 0.1
	@ember-data/store/-private/system/ts-upgrade-map                                   | 234.00 B  | 44.74 B    | 0.2           | 0.1
	@ember-data/store/-private/system/normalize-model-name                             | 220.00 B  | 42.06 B    | 0.2           | 0.1
	@ember-data/store/-private/utils/is-non-empty-string                               | 212.00 B  | 40.53 B    | 0.2           | 0.1
	@ember-data/store/-debug/index                                                     | 193.00 B  | 36.90 B    | 0.2           | 0.1
	@ember-data/store/-private/system/deprecated-evented                               | 190.00 B  | 36.33 B    | 0.2           | 0.1
	@ember-data/store/-private/ts-interfaces/record-data-store-wrapper                 | 136.00 B  | 26.00 B    | 0.1           | 0.1
	@ember-data/store/-private/ts-interfaces/minimum-serializer-interface              | 98.00 B   | 18.73 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data-record-wrapper                | 96.00 B   | 18.35 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/minimum-adapter-interface                 | 95.00 B   | 18.16 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/schema-definition-service                 | 95.00 B   | 18.16 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data-json-api                      | 90.00 B   | 17.20 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/ember-data-json-api                       | 89.00 B   | 17.01 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data-schemas                       | 89.00 B   | 17.01 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/promise-proxies                           | 85.00 B   | 16.25 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-instance                           | 85.00 B   | 16.25 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/record-data                               | 81.00 B   | 15.48 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/ds-model                                  | 78.00 B   | 14.91 B    | 0.1           | 0.0
	@ember-data/store/-private/ts-interfaces/utils                                     | 75.00 B   | 14.34 B    | 0.1           | 0.0

Package: @ember-data/record-data
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '25.64 KB' │
│  compressed  │ '4.90 KB'  │
│ % Of Library │   '12.7'   │
└──────────────┴────────────┘
	Module                                                                      | Bytes     | Compressed | % of Package  | % Of Library
	-------------------------------------------------------------------------------------------------------------------------------
	@ember-data/record-data/-private/relationships/state/relationship           | 7.90 KB   | 1.51 KB    | 30.8          | 3.9
	@ember-data/record-data/-private/record-data                                | 7.76 KB   | 1.48 KB    | 30.3          | 3.8
	@ember-data/record-data/-private/relationships/state/belongs-to             | 2.92 KB   | 572.69 B   | 11.4          | 1.4
	@ember-data/record-data/-private/relationships/state/has-many               | 2.67 KB   | 522.78 B   | 10.4          | 1.3
	@ember-data/record-data/-private/ordered-set                                | 1.14 KB   | 223.72 B   | 4.5           | 0.6
	@ember-data/record-data/-private/relationships/state/create                 | 1.05 KB   | 205.17 B   | 4.1           | 0.5
	@ember-data/record-data/-private/index                                      | 1017.00 B | 194.46 B   | 3.9           | 0.5
	@ember-data/record-data/-private/accessors                                  | 475.00 B  | 90.82 B    | 1.8           | 0.2
	@ember-data/record-data/-private/coerce-id                                  | 406.00 B  | 77.63 B    | 1.5           | 0.2
	@ember-data/record-data/-private/normalize-link                             | 249.00 B  | 47.61 B    | 0.9           | 0.1
	@ember-data/record-data/-private/ts-interfaces/relationship-record-data     | 100.00 B  | 19.12 B    | 0.4           | 0.0

Package: @ember-data/serializer
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '21.76 KB' │
│  compressed  │ '4.16 KB'  │
│ % Of Library │   '10.8'   │
└──────────────┴────────────┘
	Module                                                     | Bytes     | Compressed | % of Package  | % Of Library
	--------------------------------------------------------------------------------------------------------------
	@ember-data/serializer/json                                | 7.12 KB   | 1.36 KB    | 32.7          | 3.5
	@ember-data/serializer/-private/embedded-records-mixin     | 4.30 KB   | 841.73 B   | 19.8          | 2.1
	@ember-data/serializer/json-api                            | 3.72 KB   | 727.76 B   | 17.1          | 1.8
	@ember-data/serializer/rest                                | 2.71 KB   | 531.19 B   | 12.5          | 1.3
	@ember-data/serializer/-private/index                      | 1.18 KB   | 231.37 B   | 5.4           | 0.6
	@ember-data/serializer/-private/transforms/date            | 523.00 B  | 100.00 B   | 2.3           | 0.3
	@ember-data/serializer/-private/transforms/boolean         | 490.00 B  | 93.69 B    | 2.2           | 0.2
	@ember-data/serializer/-private/transforms/number          | 446.00 B  | 85.28 B    | 2.0           | 0.2
	@ember-data/serializer/-private/transforms/string          | 351.00 B  | 67.11 B    | 1.6           | 0.2
	@ember-data/serializer/-private/utils                      | 286.00 B  | 54.68 B    | 1.3           | 0.1
	@ember-data/serializer/index                               | 243.00 B  | 46.46 B    | 1.1           | 0.1
	@ember-data/serializer/-private/transforms/transform       | 242.00 B  | 46.27 B    | 1.1           | 0.1
	@ember-data/serializer/transform                           | 215.00 B  | 41.11 B    | 1.0           | 0.1

Package: @ember-data/model
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '18.72 KB' │
│  compressed  │ '3.58 KB'  │
│ % Of Library │   '9.3'    │
└──────────────┴────────────┘
	Module                                                                | Bytes     | Compressed | % of Package  | % Of Library
	-------------------------------------------------------------------------------------------------------------------------
	@ember-data/model/-private/model                                      | 6.20 KB   | 1.19 KB    | 33.1          | 3.1
	@ember-data/model/-private/system/many-array                          | 2.41 KB   | 472.11 B   | 12.9          | 1.2
	@ember-data/model/-private/errors                                     | 2.03 KB   | 398.11 B   | 10.9          | 1.0
	@ember-data/model/-private/system/relationships/relationship-meta     | 1.30 KB   | 254.89 B   | 7.0           | 0.6
	@ember-data/model/-private/index                                      | 1.29 KB   | 252.59 B   | 6.9           | 0.6
	@ember-data/model/-private/system/relationships/ext                   | 1.23 KB   | 240.93 B   | 6.6           | 0.6
	@ember-data/model/-private/attr                                       | 673.00 B  | 128.68 B   | 3.5           | 0.3
	@ember-data/model/-private/belongs-to                                 | 663.00 B  | 126.77 B   | 3.5           | 0.3
	@ember-data/model/-private/system/promise-many-array                  | 642.00 B  | 122.76 B   | 3.3           | 0.3
	@ember-data/model/-private/has-many                                   | 626.00 B  | 119.70 B   | 3.3           | 0.3
	@ember-data/model/index                                               | 486.00 B  | 92.93 B    | 2.5           | 0.2
	@ember-data/model/-private/util                                       | 442.00 B  | 84.51 B    | 2.3           | 0.2
	@ember-data/model/-private/system/promise-belongs-to                  | 412.00 B  | 78.78 B    | 2.1           | 0.2
	@ember-data/model/-private/system/model-for-mixin                     | 408.00 B  | 78.01 B    | 2.1           | 0.2

Package: @ember-data/adapter
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '18.14 KB' │
│  compressed  │ '3.47 KB'  │
│ % Of Library │   '9.0'    │
└──────────────┴────────────┘
	Module                                                        | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------------------
	@ember-data/adapter/rest                                      | 8.37 KB   | 1.60 KB    | 46.1          | 4.1
	@ember-data/adapter/error                                     | 1.91 KB   | 374.59 B   | 10.5          | 0.9
	@ember-data/adapter/-private/build-url-mixin                  | 1.82 KB   | 356.99 B   | 10.1          | 0.9
	@ember-data/adapter/index                                     | 1.14 KB   | 222.57 B   | 6.3           | 0.6
	@ember-data/adapter/-private/index                            | 1.03 KB   | 201.92 B   | 5.7           | 0.5
	@ember-data/adapter/json-api                                  | 1.02 KB   | 199.43 B   | 5.6           | 0.5
	@ember-data/adapter/-private/utils/serialize-query-params     | 792.00 B  | 151.44 B   | 4.3           | 0.4
	@ember-data/adapter/-private/utils/determine-body-promise     | 549.00 B  | 104.97 B   | 3.0           | 0.3
	@ember-data/adapter/-private/utils/parse-response-headers     | 480.00 B  | 91.78 B    | 2.6           | 0.2
	@ember-data/adapter/-private/utils/fetch                      | 454.00 B  | 86.81 B    | 2.4           | 0.2
	@ember-data/adapter/-private/utils/serialize-into-hash        | 347.00 B  | 66.35 B    | 1.9           | 0.2
	@ember-data/adapter/-private/utils/continue-on-reject         | 219.00 B  | 41.87 B    | 1.2           | 0.1
	@ember-data/adapter/-private/fastboot-interface               | 76.00 B   | 14.53 B    | 0.4           | 0.0

Package: ember-data
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '9.50 KB' │
│  compressed  │ '1.82 KB' │
│ % Of Library │   '4.7'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-data/index                                  | 2.32 KB   | 454.90 B   | 24.5          | 1.1
	ember-data/-private/index                         | 1.93 KB   | 377.45 B   | 20.3          | 1.0
	ember-data/adapters/errors                        | 1.19 KB   | 232.70 B   | 12.5          | 0.6
	ember-data/setup-container                        | 503.00 B  | 96.18 B    | 5.2           | 0.2
	ember-data/-private/core                          | 321.00 B  | 61.38 B    | 3.3           | 0.2
	ember-data/relationships                          | 318.00 B  | 60.80 B    | 3.3           | 0.2
	ember-data/serializers/embedded-records-mixin     | 274.00 B  | 52.39 B    | 2.8           | 0.1
	ember-data/serializers/json-api                   | 251.00 B  | 47.99 B    | 2.6           | 0.1
	ember-data/adapters/json-api                      | 245.00 B  | 46.84 B    | 2.5           | 0.1
	ember-data/serializers/json                       | 243.00 B  | 46.46 B    | 2.5           | 0.1
	ember-data/serializers/rest                       | 243.00 B  | 46.46 B    | 2.5           | 0.1
	ember-data/transform                              | 241.00 B  | 46.08 B    | 2.5           | 0.1
	ember-data/adapters/rest                          | 237.00 B  | 45.31 B    | 2.4           | 0.1
	ember-data/serializer                             | 232.00 B  | 44.36 B    | 2.4           | 0.1
	ember-data/adapter                                | 226.00 B  | 43.21 B    | 2.3           | 0.1
	ember-data/model                                  | 222.00 B  | 42.44 B    | 2.3           | 0.1
	ember-data/store                                  | 222.00 B  | 42.44 B    | 2.3           | 0.1
	ember-data/attr                                   | 218.00 B  | 41.68 B    | 2.2           | 0.1
	ember-data/version                                | 162.00 B  | 30.97 B    | 1.7           | 0.1

Package: ember-inflector
┌──────────────┬───────────┐
│   (index)    │  Values   │
├──────────────┼───────────┤
│    bytes     │ '6.66 KB' │
│  compressed  │ '1.27 KB' │
│ % Of Library │   '3.3'   │
└──────────────┴───────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	ember-inflector/lib/system/inflector              | 2.88 KB   | 563.89 B   | 43.3          | 1.4
	ember-inflector/lib/system/inflections            | 1.59 KB   | 311.10 B   | 23.9          | 0.8
	ember-inflector/index                             | 473.00 B  | 90.44 B    | 6.9           | 0.2
	ember-inflector/lib/system                        | 471.00 B  | 90.06 B    | 6.9           | 0.2
	ember-inflector/lib/helpers/pluralize             | 373.00 B  | 71.32 B    | 5.5           | 0.2
	ember-inflector/lib/system/string                 | 318.00 B  | 60.80 B    | 4.7           | 0.2
	ember-inflector/lib/utils/make-helper             | 308.00 B  | 58.89 B    | 4.5           | 0.1
	ember-inflector/lib/helpers/singularize           | 296.00 B  | 56.59 B    | 4.3           | 0.1

Package: @ember-data/debug
┌──────────────┬────────────┐
│   (index)    │   Values   │
├──────────────┼────────────┤
│    bytes     │ '2.70 KB'  │
│  compressed  │ '528.71 B' │
│ % Of Library │   '1.3'    │
└──────────────┴────────────┘
	Module                                            | Bytes     | Compressed | % of Package  | % Of Library
	-----------------------------------------------------------------------------------------------------
	@ember-data/debug/index                           | 2.21 KB   | 433.29 B   | 82.0          | 1.1
	@ember-data/debug/setup                           | 499.00 B  | 95.41 B    | 18.0          | 0.2

@runspired runspired changed the title feat: add additional state-machine states to handle unload/loading edge cases [ON_HOLD] feat: add additional state-machine states to handle unload/loading edge cases Apr 29, 2021
@runspired
Copy link
Contributor Author

Closing in favor of the state machine refactor in #7258

@runspired runspired closed this May 11, 2021
@runspired runspired deleted the feat/state-machine-cleanup branch November 29, 2022 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEAT] root.loading state should be considered empty [FEAT] root.deleted.empty state
1 participant