* feat(tns-platform-declarations): Generate iOS typings from iOS 12.1 SDK
* Instructions for generating iOS typescript definitions
* Refactor `typings-gen.sh` to use {N} CLI and generate fuller
metadata for the system libraries
* Automatically generate `ios.d.ts` wrapper
* Add interop pointers and references as alternatives
to `string` for `char*` args
(implemented in https://github.com/NativeScript/ios-runtime/pull/1022)
BREAKING CHANGE: Several enum values have changed because
they have been wrongly generated.
To migrate your app or plugin code use the new names of the
following:
* enum NSUnderlineStyle:
- `StyleNone` -> `None`
- `StyleSingle` -> `Single`
- `StyleThick` -> `Thick`
- `StyleDouble` -> `Double`
* enum AVAudioSessionErrorCode:
- `CodeNone` -> `None`
- `CodeMediaServicesFailed` -> `MediaServicesFailed`
- `CodeIsBusy` -> `IsBusy`
- `CodeIncompatibleCategory` -> `IncompatibleCategory`
- `CodeCannotInterruptOthers` -> `CannotInterruptOthers`
- `CodeMissingEntitlement` -> `MissingEntitlement`
- `CodeSiriIsRecording` -> `SiriIsRecording`
- `CodeCannotStartPlaying` -> `CannotStartPlaying`
- `CodeCannotStartRecording` -> `CannotStartRecording`
- `CodeBadParam` -> `BadParam`
- `CodeResourceNotAvailable` -> `ResourceNotAvailable`
- `CodeUnspecified` -> `Unspecified`
* fix(ui/text-base): Update NSUnderlineStyle.StyleSingle constant
After the typings regeneration its and several others' names have
changed to the expected `NSUnderlineStyle.Single`.
* fix(tns-platform-declarations): Restore deprecated enum values
In order to not introduce a breaking change in a patch version, we
are keeping `Style...` and `Code...` values that have been wrongly
generated till now. In the next major/minor release of the package
when the typings are regenerated we can safely remove them.
Revert to using the deprecated one's in `text-base.ios.ts` so that
the introduction of this breaking change doesn't slip in undetected.
* fix(application.ios): Directly call presetnNativeScriptApp
We've been using `performSelectorWithObject` but it's
declaration has been manually added. Moreover it's more
convenient to directly call the method.
* feat: Pass NS app native controller to the native app instead of presenting it over the rootViewController
When NativeScript embedded app is created from the native one we check for whether the topmost UIViewController has NativeScriptEmbedder protocol (implemented in the iOS Runtime) method 'presentNativeScriptApp:'. If yes, we call it with the NS app viewcontroller as a parameter so the embedder has control over the NS app (where and how to present it etc.) For backwards compatibility we present the NS app on top of the topmost UIViewController as a fallback.
* style: Fix lint errors
* feat: Check for protocol instead of selector in embedding
I
* Check for rootController instead of topViewController to prevent crash if !rootController
* feat: Introduce NativeScriptEmbedder singleton
NativeScriptEmbedder is responsive for communication between the NS and the native iOS app. His delegate will implement methods which we can call from javascript such as "presentNativeScriptApp:".
- Use path mappings in tsconfig.json to resolve module typings
- Only use ambient mobules for global API's
- Move single-file modules to a subdir with the same name so that
we can provide a hand-written typing next to it (via package.json)
- Delete all mentions of tns-core-modules.d.ts
- Delete reference d.ts assembly build steps. Not needed anymore.
- HACK! Use a <reference> for global typings in application.d.ts
to avoid publishing a separate @types/tns-core-modules package.
- Rename declarations.d.ts to tns-core-modules.d.ts to preserve
JS project mappings in references.d.ts (the only place we use those)
* Fix action-bar systemIcon
Fix CSS applying
* refactoring
* fix console
* remove StyleScope import - it is private and cannot be imported in public .d.ts
Fixes name clashes and uses Node-compatible typings where possible.
Changes:
- setTimout et al now return NodeJS.Timer instead of number
- No "console" module anymore. Everyone uses it through global.console
anyway.
- We have a typed "global" instance with exposed properties now. Any
"freeform" accesses must go through a `(<any>global).blah` cast.
- remove tns-core-modules.{base,es6,es2015}.d.ts. Those were needed
as workarounds for the ES6/DOM/Node type clashes.
Less than 30 erros left, let's hope it still works
Added lib.*.d.ts from typescript, removed lib and dom stuff, added by hand XHR, alert etc. .d.ts-es for polyfills
Roll back some changes involved in separating UIEvent for dom and ios
Test combined dts-es will now use lib, while internally we will not to avoid UIEvent conflict with dom stuff