Comments (3)
Ok I double checked, and the error is ok because your code is not safe at runtime.
If your structure is Readonly it cannot have methods like pop because it's mutable method.
here is a correct constraint
type Thing = { prop: string };
type Arr = DeepReadonly<Thing[]>;
function first<T extends ReadonlyArray<any>>(arr: T) {
return arr[0];
}
const arr: Arr = [{ prop: 'foo' }];
const initial = first(arr);
from utility-types.
Hey, thanks for the report I know how to fix it
from utility-types.
Good call, the suggestion solves my problem, thanks!
from utility-types.
Related Issues (20)
- New utility type: Widen object's primitives
- New Type "AsyncReturnType"
- '_DeepPartialArray' is not generic.
- rfc: implement Dictionary<T>
- Module '"utility-types"' has no exported member 'Nullish'. HOT 4
- New Type "RequiredByValueExcept<T, ValueType>", "PartialByValueExcept<T, ValueType>"
- TypeScript: `DeepPartial` not working for union of string and string literals
- Add support for generic Event utility types
- Add a type "Swap<T, Replaced, Replacing> HOT 1
- Is there any reason for using yarn add instead of yarn add -D HOT 1
- Idea is Great, Why don't you commit your types utility to Typescript official built-in rather extra types? HOT 1
- $ElementType does not work with keyofStringsOnly TS option HOT 2
- Non Empty Array Type HOT 2
- Inconsistency with Assign docs HOT 1
- DeepPartial does not allow empty object for generics HOT 2
- Type Falsey doesn't include `0n` and `HTMLAllCollection`. HOT 1
- rfc: add DeepAssign HOT 1
- Is there any way to use these types without import 'utility-types' HOT 3
- add "has_property" and "has_value" type guards for objects HOT 1
- Allow for a AllUnionKeys HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from utility-types.