├── .cz-config.js
├── .github
└── FUNDING.yml
├── .gitignore
├── .npmignore
├── .travis.yml
├── .vscode
└── settings.json
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── demo
├── .editorconfig
├── .gitignore
├── app
│ ├── App_Resources
│ │ ├── Android
│ │ │ ├── app.gradle
│ │ │ └── src
│ │ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── res
│ │ │ │ ├── drawable-hdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-ldpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-mdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-nodpi
│ │ │ │ └── splash_screen.xml
│ │ │ │ ├── drawable-xhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── drawable-xxxhdpi
│ │ │ │ ├── background.png
│ │ │ │ ├── icon.png
│ │ │ │ └── logo.png
│ │ │ │ ├── values-v21
│ │ │ │ ├── colors.xml
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ ├── colors.xml
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ └── iOS
│ │ │ ├── Assets.xcassets
│ │ │ ├── AppIcon.appiconset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── icon-29.png
│ │ │ │ ├── icon-29@2x.png
│ │ │ │ ├── icon-29@3x.png
│ │ │ │ ├── icon-40.png
│ │ │ │ ├── icon-40@2x.png
│ │ │ │ ├── icon-40@3x.png
│ │ │ │ ├── icon-50.png
│ │ │ │ ├── icon-50@2x.png
│ │ │ │ ├── icon-57.png
│ │ │ │ ├── icon-57@2x.png
│ │ │ │ ├── icon-60@2x.png
│ │ │ │ ├── icon-60@3x.png
│ │ │ │ ├── icon-72.png
│ │ │ │ ├── icon-72@2x.png
│ │ │ │ ├── icon-76.png
│ │ │ │ ├── icon-76@2x.png
│ │ │ │ └── icon-83.5@2x.png
│ │ │ ├── Contents.json
│ │ │ ├── LaunchImage.launchimage
│ │ │ │ ├── Contents.json
│ │ │ │ ├── Default-568h@2x.png
│ │ │ │ ├── Default-667h@2x.png
│ │ │ │ ├── Default-736h@3x.png
│ │ │ │ ├── Default-Landscape.png
│ │ │ │ ├── Default-Landscape@2x.png
│ │ │ │ ├── Default-Landscape@3x.png
│ │ │ │ ├── Default-Portrait.png
│ │ │ │ ├── Default-Portrait@2x.png
│ │ │ │ ├── Default.png
│ │ │ │ └── Default@2x.png
│ │ │ ├── LaunchScreen.AspectFill.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-AspectFill.png
│ │ │ │ └── LaunchScreen-AspectFill@2x.png
│ │ │ └── LaunchScreen.Center.imageset
│ │ │ │ ├── Contents.json
│ │ │ │ ├── LaunchScreen-Center.png
│ │ │ │ └── LaunchScreen-Center@2x.png
│ │ │ ├── Info.plist
│ │ │ ├── LaunchScreen.storyboard
│ │ │ └── build.xcconfig
│ ├── app.css
│ ├── app.ts
│ ├── main-page.ts
│ ├── main-page.xml
│ ├── main-view-model.ts
│ ├── package.json
│ └── tests
│ │ └── tests.js
├── karma.conf.js
├── nsconfig.json
├── package-lock.json
├── package.json
├── tsconfig.json
├── tsconfig.tns.json
├── tsfmt.json
└── webpack.config.js
├── package-lock.json
├── package.json
└── src
├── .gitignore
├── .npmignore
├── AndroidPdfViewer.d.ts
├── index.d.ts
├── package-lock.json
├── package.json
├── pdf-view.android.d.ts
├── pdf-view.android.ts
├── pdf-view.common.d.ts
├── pdf-view.common.ts
├── pdf-view.ios.d.ts
├── pdf-view.ios.ts
├── platforms
└── android
│ └── include.gradle
├── references.d.ts
├── tsconfig.json
└── tslint.json
/.cz-config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | types: [
3 | { value: 'feat', name: 'feat: A new feature' },
4 | { value: 'fix', name: 'fix: A bug fix' },
5 | { value: 'docs', name: 'docs: Documentation only changes' },
6 | {
7 | value: 'style',
8 | name:
9 | 'style: Changes that do not affect the meaning of the code\n (white-space, formatting, missing semi-colons, etc)',
10 | },
11 | {
12 | value: 'refactor',
13 | name: 'refactor: A code change that neither fixes a bug nor adds a feature',
14 | },
15 | {
16 | value: 'perf',
17 | name: 'perf: A code change that improves performance',
18 | },
19 | { value: 'test', name: 'test: Adding missing tests' },
20 | {
21 | value: 'chore',
22 | name:
23 | 'chore: Changes to the build process or auxiliary tools\n and libraries such as documentation generation',
24 | },
25 | { value: 'revert', name: 'revert: Revert to a commit' },
26 | { value: 'WIP', name: 'WIP: Work in progress' },
27 | ],
28 |
29 | scopes: [{ name: 'accounts' }, { name: 'admin' }, { name: 'exampleScope' }, { name: 'changeMe' }],
30 |
31 | allowTicketNumber: false,
32 | isTicketNumberRequired: false,
33 | ticketNumberPrefix: 'TICKET-',
34 | ticketNumberRegExp: '\\d{1,5}',
35 |
36 | // it needs to match the value for field type. Eg.: 'fix'
37 | /*
38 | scopeOverrides: {
39 | fix: [
40 |
41 | {name: 'merge'},
42 | {name: 'style'},
43 | {name: 'e2eTest'},
44 | {name: 'unitTest'}
45 | ]
46 | },
47 | */
48 | // override the messages, defaults are as follows
49 | messages: {
50 | type: "Select the type of change that you're committing:",
51 | scope: '\nDenote the SCOPE of this change (optional):',
52 | // used if allowCustomScopes is true
53 | customScope: 'Denote the SCOPE of this change:',
54 | subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
55 | body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
56 | breaking: 'List any BREAKING CHANGES (optional):\n',
57 | footer: 'List any ISSUES CLOSED by this change (optional). E.g.: #31, #34:\n',
58 | confirmCommit: 'Are you sure you want to proceed with the commit above?',
59 | },
60 |
61 | allowCustomScopes: true,
62 | allowBreakingChanges: ['feat', 'fix'],
63 | // skip any questions you want
64 | skipQuestions: ['body', 'footer'],
65 |
66 | // limit subject length
67 | subjectLimit: 100,
68 | // breaklineChar: '|', // It is supported for fields body and footer.
69 | // footerPrefix : 'ISSUES CLOSED:', // default value
70 |
71 | appendBranchNameToCommitMessage: false,
72 | };
73 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: madmas # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: madmas # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | otechie: # Replace with a single Otechie username
12 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
13 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .npmrc
2 | *.js
3 | *.js.map
4 | *.log
5 | !.cz-config.js
6 |
7 | node_modules
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | .vscode
2 | demo/
3 | screenshots/
4 | *.gif
5 | *.png
6 | *.log
7 | *.map
8 | *.ts
9 | !*.d.ts
10 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: node_js
2 | cache:
3 | directories:
4 | - ~/.npm
5 | notifications:
6 | email: true
7 | node_js:
8 | - 10
9 |
10 | jobs:
11 | include:
12 | - stage: test
13 | script:
14 | - cd src
15 | - npm ci && npm run lint
16 | - stage: build
17 | script:
18 | - cd src
19 | - npm ci && npm run build
20 | - stage: release
21 | # Advanced: optionally overwrite your default `script` step to skip the tests
22 | # script: skip
23 | deploy:
24 | provider: script
25 | skip_cleanup: true
26 | script: cp README.md src/ && cd src && npm ci && npx semantic-release
27 | on:
28 | all_branches: true
29 | branches:
30 | except:
31 | - /^v\d+\.\d+\.\d+$/
32 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "files.exclude": {
3 | "**/*.js": {
4 | "when": "$(basename).ts"
5 | },
6 | "**/*.js.map": {
7 | "when": "$(basename)"
8 | }
9 | }
10 | }
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing
2 |
3 | First of all, thank you!
4 |
5 | ## Commit Messages
6 |
7 | This project uses [`semantic-release`](https://github.com/semantic-release/semantic-release) to manage its releases, and therefore your commit messages must follow a [strict commit message format](https://github.com/semantic-release/semantic-release#default-commit-message-format).
8 |
9 | You may choose to use `npm run commit` instead of `git commit`, and you'll be presented with an interactive session that will generate your commit message for you.
10 |
11 | ## Linting TypeScript Code
12 |
13 | Make sure that your code changes pass the project TSLint rules. You can find out by running `npm run lint`. The task also runs on the Continuous Integration environment and will fail the build if it does not pass.
14 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | nativescript-pdf-view
4 |
5 | Copyright (c) 2019, Markus Schlichting
6 | Copyright (c) 2017, Merott Movahedi
7 |
8 | Permission is hereby granted, free of charge, to any person obtaining a copy of
9 | this software and associated documentation files (the "Software"), to deal in
10 | the Software without restriction, including without limitation the rights to
11 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
12 | the Software, and to permit persons to whom the Software is furnished to do so,
13 | subject to the following conditions:
14 |
15 | The above copyright notice and this permission notice shall be included in all
16 | copies or substantial portions of the Software.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
20 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
21 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
22 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
23 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # *IMPORTANT*
2 |
3 | This plugin has moved into the NativeScript plugin repository: https://github.com/NativeScript/plugins/blob/main/packages/pdf/
4 |
5 | Please use `npm install @nativescript/pdf`from now on.
6 |
7 | There will be no more releases from this repository.
8 |
9 |
10 |
11 | # NativeScript PDFView
12 |
13 | > *Remark* [This repository](https://github.com/madmas/nativescript-pdf-view) is a fork of [the original by Merott](https://github.com/Merott/nativescript-pdf-view) that will be used with his consent to provide further maintenance of this NativeScript plugin.
14 |
15 | A minimal PDF view implementation that does only one thing, and that is to display PDF files in the simplest way possible. It conveniently uses the iOS `WKWebView`, and for Android it uses [`AndroidPdfViewer`](https://github.com/barteksc/AndroidPdfViewer).
16 |
17 | This plugin does the bare minimum required to render the PDF, no configuration options, and no error handling have been built yet. I welcome all Pull Requests!
18 |
19 | My aim is to keep the features consistent across iOS and Android.
20 |
21 | ## Installation
22 |
23 | ```
24 | tns plugin add nativescript-pdf-view
25 | ```
26 |
27 | ## Usage
28 |
29 | ### Vanilla NativeScript
30 |
31 | ```xml
32 |
36 |
37 |
38 | ```
39 |
40 | ### Angular NativeScript
41 |
42 | ```ts
43 | import { PDFView } from 'nativescript-pdf-view';
44 | import { registerElement } from 'nativescript-angular';
45 | registerElement('PDFView', () => PDFView);
46 | ```
47 |
48 | ```html
49 |
50 | ```
51 |
52 | ## Demo
53 |
54 | Check out the [demo](./demo) folder for a demo application using this plugin. You can run the demo by executing `npm run demo.ios` and `npm run demo.android` from the root directory of the project.
55 |
56 |
57 | ## Samples
58 |
59 | There are sample applications avalable:
60 |
61 | * *Plain TypeScript*: see [demo/](https://github.com/madmas/nativescript-pdf-view/tree/master/demo) folder in this repository
62 | * *NativeScript+Angular*: [nativescript-pdf-view-angular-sample](https://github.com/madmas/nativescript-pdf-view-angular-sample) repository
63 | * *NativeScript+VueJs*: [nativescript-pdf-view-vue-sample](https://github.com/madmas/nativescript-pdf-view-vue-sample) repository
64 |
--------------------------------------------------------------------------------
/demo/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | trim_trailing_whitespace = true
7 | charset = utf-8
8 |
9 | [*.json]
10 | indent_style = space
11 | indent_size = 2
12 |
13 | [*.ts]
14 | indent_style = space
15 | indent_size = 4
16 |
--------------------------------------------------------------------------------
/demo/.gitignore:
--------------------------------------------------------------------------------
1 | # NativeScript
2 | hooks/
3 | node_modules/
4 | platforms/
5 |
6 | # NativeScript Template
7 | *.js.map
8 | *.js
9 | !webpack.config.js
10 |
11 | # Logs
12 | logs
13 | *.log
14 | npm-debug.log*
15 | yarn-debug.log*
16 | yarn-error.log*
17 |
18 | # General
19 | .DS_Store
20 | .AppleDouble
21 | .LSOverride
22 | .idea
23 | .cloud
24 | .project
25 | tmp/
26 | typings/
27 |
28 | # Visual Studio Code
29 | .vscode/*
30 | !.vscode/settings.json
31 | !.vscode/tasks.json
32 | !.vscode/launch.json
33 | !.vscode/extensions.json
34 |
35 | lib
36 | platforms
37 | node_modules
38 | .migration_backup
39 | node_modules
40 |
41 | app/*.js
42 | !karma.conf.js
43 | !app/tests/*.js
44 |
45 | *.d.ts
46 | !references.d.ts
47 | app/main-page.d.ts
48 | app/main-view-model.d.ts
49 | app/app.d.ts
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/app.gradle:
--------------------------------------------------------------------------------
1 | android {
2 | defaultConfig {
3 | generatedDensities = []
4 | applicationId = "de.mynethome.nativescriptpdfviewdemo"
5 | }
6 | aaptOptions {
7 | additionalParameters "--no-version-vectors"
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
12 |
13 |
16 |
17 |
18 |
19 |
20 |
21 |
27 |
28 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-hdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-ldpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-mdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-nodpi/splash_screen.xml:
--------------------------------------------------------------------------------
1 |
2 | -
3 |
4 |
5 | -
6 |
7 |
8 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/background.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/icon.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/Android/src/main/res/drawable-xxxhdpi/logo.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values-v21/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #3d5afe
4 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 |
11 |
14 |
15 |
16 |
19 |
20 |
23 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #F5F5F5
4 | #757575
5 | #33B5E5
6 | #272734
7 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | PdfView Demo
4 | PdfView Demo
5 |
6 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/Android/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
21 |
22 |
23 |
31 |
32 |
34 |
35 |
36 |
42 |
43 |
45 |
46 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "size" : "29x29",
5 | "idiom" : "iphone",
6 | "filename" : "icon-29.png",
7 | "scale" : "1x"
8 | },
9 | {
10 | "size" : "29x29",
11 | "idiom" : "iphone",
12 | "filename" : "icon-29@2x.png",
13 | "scale" : "2x"
14 | },
15 | {
16 | "size" : "29x29",
17 | "idiom" : "iphone",
18 | "filename" : "icon-29@3x.png",
19 | "scale" : "3x"
20 | },
21 | {
22 | "size" : "40x40",
23 | "idiom" : "iphone",
24 | "filename" : "icon-40@2x.png",
25 | "scale" : "2x"
26 | },
27 | {
28 | "size" : "40x40",
29 | "idiom" : "iphone",
30 | "filename" : "icon-40@3x.png",
31 | "scale" : "3x"
32 | },
33 | {
34 | "size" : "57x57",
35 | "idiom" : "iphone",
36 | "filename" : "icon-57.png",
37 | "scale" : "1x"
38 | },
39 | {
40 | "size" : "57x57",
41 | "idiom" : "iphone",
42 | "filename" : "icon-57@2x.png",
43 | "scale" : "2x"
44 | },
45 | {
46 | "size" : "60x60",
47 | "idiom" : "iphone",
48 | "filename" : "icon-60@2x.png",
49 | "scale" : "2x"
50 | },
51 | {
52 | "size" : "60x60",
53 | "idiom" : "iphone",
54 | "filename" : "icon-60@3x.png",
55 | "scale" : "3x"
56 | },
57 | {
58 | "size" : "29x29",
59 | "idiom" : "ipad",
60 | "filename" : "icon-29.png",
61 | "scale" : "1x"
62 | },
63 | {
64 | "size" : "29x29",
65 | "idiom" : "ipad",
66 | "filename" : "icon-29@2x.png",
67 | "scale" : "2x"
68 | },
69 | {
70 | "size" : "40x40",
71 | "idiom" : "ipad",
72 | "filename" : "icon-40.png",
73 | "scale" : "1x"
74 | },
75 | {
76 | "size" : "40x40",
77 | "idiom" : "ipad",
78 | "filename" : "icon-40@2x.png",
79 | "scale" : "2x"
80 | },
81 | {
82 | "size" : "50x50",
83 | "idiom" : "ipad",
84 | "filename" : "icon-50.png",
85 | "scale" : "1x"
86 | },
87 | {
88 | "size" : "50x50",
89 | "idiom" : "ipad",
90 | "filename" : "icon-50@2x.png",
91 | "scale" : "2x"
92 | },
93 | {
94 | "size" : "72x72",
95 | "idiom" : "ipad",
96 | "filename" : "icon-72.png",
97 | "scale" : "1x"
98 | },
99 | {
100 | "size" : "72x72",
101 | "idiom" : "ipad",
102 | "filename" : "icon-72@2x.png",
103 | "scale" : "2x"
104 | },
105 | {
106 | "size" : "76x76",
107 | "idiom" : "ipad",
108 | "filename" : "icon-76.png",
109 | "scale" : "1x"
110 | },
111 | {
112 | "size" : "76x76",
113 | "idiom" : "ipad",
114 | "filename" : "icon-76@2x.png",
115 | "scale" : "2x"
116 | },
117 | {
118 | "size" : "83.5x83.5",
119 | "idiom" : "ipad",
120 | "filename" : "icon-83.5@2x.png",
121 | "scale" : "2x"
122 | }
123 | ],
124 | "info" : {
125 | "version" : 1,
126 | "author" : "xcode"
127 | }
128 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-50@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-72@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-76@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/AppIcon.appiconset/icon-83.5@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "extent" : "full-screen",
5 | "idiom" : "iphone",
6 | "subtype" : "736h",
7 | "filename" : "Default-736h@3x.png",
8 | "minimum-system-version" : "8.0",
9 | "orientation" : "portrait",
10 | "scale" : "3x"
11 | },
12 | {
13 | "extent" : "full-screen",
14 | "idiom" : "iphone",
15 | "subtype" : "736h",
16 | "filename" : "Default-Landscape@3x.png",
17 | "minimum-system-version" : "8.0",
18 | "orientation" : "landscape",
19 | "scale" : "3x"
20 | },
21 | {
22 | "extent" : "full-screen",
23 | "idiom" : "iphone",
24 | "subtype" : "667h",
25 | "filename" : "Default-667h@2x.png",
26 | "minimum-system-version" : "8.0",
27 | "orientation" : "portrait",
28 | "scale" : "2x"
29 | },
30 | {
31 | "orientation" : "portrait",
32 | "idiom" : "iphone",
33 | "filename" : "Default@2x.png",
34 | "extent" : "full-screen",
35 | "minimum-system-version" : "7.0",
36 | "scale" : "2x"
37 | },
38 | {
39 | "extent" : "full-screen",
40 | "idiom" : "iphone",
41 | "subtype" : "retina4",
42 | "filename" : "Default-568h@2x.png",
43 | "minimum-system-version" : "7.0",
44 | "orientation" : "portrait",
45 | "scale" : "2x"
46 | },
47 | {
48 | "orientation" : "portrait",
49 | "idiom" : "ipad",
50 | "filename" : "Default-Portrait.png",
51 | "extent" : "full-screen",
52 | "minimum-system-version" : "7.0",
53 | "scale" : "1x"
54 | },
55 | {
56 | "orientation" : "landscape",
57 | "idiom" : "ipad",
58 | "filename" : "Default-Landscape.png",
59 | "extent" : "full-screen",
60 | "minimum-system-version" : "7.0",
61 | "scale" : "1x"
62 | },
63 | {
64 | "orientation" : "portrait",
65 | "idiom" : "ipad",
66 | "filename" : "Default-Portrait@2x.png",
67 | "extent" : "full-screen",
68 | "minimum-system-version" : "7.0",
69 | "scale" : "2x"
70 | },
71 | {
72 | "orientation" : "landscape",
73 | "idiom" : "ipad",
74 | "filename" : "Default-Landscape@2x.png",
75 | "extent" : "full-screen",
76 | "minimum-system-version" : "7.0",
77 | "scale" : "2x"
78 | },
79 | {
80 | "orientation" : "portrait",
81 | "idiom" : "iphone",
82 | "filename" : "Default.png",
83 | "extent" : "full-screen",
84 | "scale" : "1x"
85 | },
86 | {
87 | "orientation" : "portrait",
88 | "idiom" : "iphone",
89 | "filename" : "Default@2x.png",
90 | "extent" : "full-screen",
91 | "scale" : "2x"
92 | },
93 | {
94 | "orientation" : "portrait",
95 | "idiom" : "iphone",
96 | "filename" : "Default-568h@2x.png",
97 | "extent" : "full-screen",
98 | "subtype" : "retina4",
99 | "scale" : "2x"
100 | },
101 | {
102 | "orientation" : "portrait",
103 | "idiom" : "ipad",
104 | "extent" : "to-status-bar",
105 | "scale" : "1x"
106 | },
107 | {
108 | "orientation" : "portrait",
109 | "idiom" : "ipad",
110 | "filename" : "Default-Portrait.png",
111 | "extent" : "full-screen",
112 | "scale" : "1x"
113 | },
114 | {
115 | "orientation" : "landscape",
116 | "idiom" : "ipad",
117 | "extent" : "to-status-bar",
118 | "scale" : "1x"
119 | },
120 | {
121 | "orientation" : "landscape",
122 | "idiom" : "ipad",
123 | "filename" : "Default-Landscape.png",
124 | "extent" : "full-screen",
125 | "scale" : "1x"
126 | },
127 | {
128 | "orientation" : "portrait",
129 | "idiom" : "ipad",
130 | "extent" : "to-status-bar",
131 | "scale" : "2x"
132 | },
133 | {
134 | "orientation" : "portrait",
135 | "idiom" : "ipad",
136 | "filename" : "Default-Portrait@2x.png",
137 | "extent" : "full-screen",
138 | "scale" : "2x"
139 | },
140 | {
141 | "orientation" : "landscape",
142 | "idiom" : "ipad",
143 | "extent" : "to-status-bar",
144 | "scale" : "2x"
145 | },
146 | {
147 | "orientation" : "landscape",
148 | "idiom" : "ipad",
149 | "filename" : "Default-Landscape@2x.png",
150 | "extent" : "full-screen",
151 | "scale" : "2x"
152 | }
153 | ],
154 | "info" : {
155 | "version" : 1,
156 | "author" : "xcode"
157 | }
158 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-667h@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-736h@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Landscape@3x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-AspectFill.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-AspectFill@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.AspectFill.imageset/LaunchScreen-AspectFill@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "universal",
5 | "filename" : "LaunchScreen-Center.png",
6 | "scale" : "1x"
7 | },
8 | {
9 | "idiom" : "universal",
10 | "filename" : "LaunchScreen-Center@2x.png",
11 | "scale" : "2x"
12 | },
13 | {
14 | "idiom" : "universal",
15 | "scale" : "3x"
16 | }
17 | ],
18 | "info" : {
19 | "version" : 1,
20 | "author" : "xcode"
21 | }
22 | }
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/demo/app/App_Resources/iOS/Assets.xcassets/LaunchScreen.Center.imageset/LaunchScreen-Center@2x.png
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleDisplayName
8 | ${PRODUCT_NAME}
9 | CFBundleExecutable
10 | ${EXECUTABLE_NAME}
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | ${PRODUCT_NAME}
15 | CFBundlePackageType
16 | APPL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1.0
23 | LSRequiresIPhoneOS
24 |
25 | UILaunchStoryboardName
26 | LaunchScreen
27 | UIRequiresFullScreen
28 |
29 | UIRequiredDeviceCapabilities
30 |
31 | armv7
32 |
33 | UISupportedInterfaceOrientations
34 |
35 | UIInterfaceOrientationPortrait
36 | UIInterfaceOrientationLandscapeLeft
37 | UIInterfaceOrientationLandscapeRight
38 |
39 | UISupportedInterfaceOrientations~ipad
40 |
41 | UIInterfaceOrientationPortrait
42 | UIInterfaceOrientationPortraitUpsideDown
43 | UIInterfaceOrientationLandscapeLeft
44 | UIInterfaceOrientationLandscapeRight
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
--------------------------------------------------------------------------------
/demo/app/App_Resources/iOS/build.xcconfig:
--------------------------------------------------------------------------------
1 | // You can add custom settings here
2 | // for example you can uncomment the following line to force distribution code signing
3 | // CODE_SIGN_IDENTITY = iPhone Distribution
4 | ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
5 | ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
6 |
--------------------------------------------------------------------------------
/demo/app/app.css:
--------------------------------------------------------------------------------
1 | @import '~@nativescript/theme/css/core.css';
2 | @import '~@nativescript/theme/css/default.css';
3 |
--------------------------------------------------------------------------------
/demo/app/app.ts:
--------------------------------------------------------------------------------
1 | /*
2 | In NativeScript, the app.ts file is the entry point to your application.
3 | You can use this file to perform app-level initialization, but the primary
4 | purpose of the file is to pass control to the app’s first module.
5 | */
6 |
7 | import * as application from "@nativescript/core/application";
8 |
9 | application.run({ moduleName: "main-page" });
10 |
11 | /*
12 | Do not place any code after the application has been started as it will not
13 | be executed on iOS.
14 | */
15 |
--------------------------------------------------------------------------------
/demo/app/main-page.ts:
--------------------------------------------------------------------------------
1 | import { EventData, Page } from '@nativescript/core/ui/page';
2 |
3 | import { MainViewModel } from './main-view-model';
4 |
5 | // Event handler for Page 'loaded' event attached in main-page.xml
6 | export function pageLoaded(args: EventData) {
7 | // Get the event sender
8 | const page = args.object;
9 | page.bindingContext = new MainViewModel();
10 | }
11 |
--------------------------------------------------------------------------------
/demo/app/main-page.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/demo/app/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "main": "app.js",
3 | "android": {
4 | "v8Flags": "--expose_gc",
5 | "markingMode": "none",
6 | "codeCache" : "true"
7 | },
8 | "main": "app.js",
9 | "name": "nativescript-pdf-view-demo",
10 | "version": "3.0.0",
11 | "private": true
12 | }
--------------------------------------------------------------------------------
/demo/app/tests/tests.js:
--------------------------------------------------------------------------------
1 | var PDFView = require("nativescript-pdf-view").PDFView;
2 | var pdfView = new PDFView();
3 |
4 | describe("PDFView", function() {
5 | it("exists", function() {
6 | expect(pdfView).toBeDefined();
7 | });
8 | });
--------------------------------------------------------------------------------
/demo/karma.conf.js:
--------------------------------------------------------------------------------
1 | module.exports = function (config) {
2 | const options = {
3 |
4 | // base path that will be used to resolve all patterns (eg. files, exclude)
5 | basePath: '',
6 |
7 |
8 | // frameworks to use
9 | // available frameworks: https://npmjs.org/browse/keyword/karma-adapter
10 | frameworks: ['jasmine'],
11 |
12 |
13 | // list of files / patterns to load in the browser
14 | files: ['app/tests/**/*.*'],
15 |
16 |
17 | // list of files to exclude
18 | exclude: [
19 | ],
20 |
21 |
22 | // preprocess matching files before serving them to the browser
23 | // available preprocessors: https://npmjs.org/browse/keyword/karma-preprocessor
24 | preprocessors: {
25 | },
26 |
27 |
28 | // test results reporter to use
29 | // possible values: 'dots', 'progress'
30 | // available reporters: https://npmjs.org/browse/keyword/karma-reporter
31 | reporters: ['progress'],
32 |
33 |
34 | // web server port
35 | port: 9876,
36 |
37 |
38 | // enable / disable colors in the output (reporters and logs)
39 | colors: true,
40 |
41 |
42 | // level of logging
43 | // possible values: config.LOG_DISABLE || config.LOG_ERROR || config.LOG_WARN || config.LOG_INFO || config.LOG_DEBUG
44 | logLevel: config.LOG_INFO,
45 |
46 |
47 | // enable / disable watching file and executing tests whenever any file changes
48 | autoWatch: true,
49 |
50 |
51 | // start these browsers
52 | // available browser launchers: https://npmjs.org/browse/keyword/karma-launcher
53 | browsers: [],
54 |
55 | customLaunchers: {
56 | android: {
57 | base: 'NS',
58 | platform: 'android'
59 | },
60 | ios: {
61 | base: 'NS',
62 | platform: 'ios'
63 | },
64 | ios_simulator: {
65 | base: 'NS',
66 | platform: 'ios',
67 | arguments: ['--emulator']
68 | }
69 | },
70 |
71 | // Continuous Integration mode
72 | // if true, Karma captures browsers, runs the tests and exits
73 | singleRun: false
74 | };
75 |
76 | setWebpackPreprocessor(config, options);
77 | setWebpack(config, options);
78 |
79 | config.set(options);
80 | }
81 |
82 | function setWebpackPreprocessor(config, options) {
83 | if (config && config.bundle) {
84 | if (!options.preprocessors) {
85 | options.preprocessors = {};
86 | }
87 |
88 | options.files.forEach(file => {
89 | if (!options.preprocessors[file]) {
90 | options.preprocessors[file] = [];
91 | }
92 | options.preprocessors[file].push('webpack');
93 | });
94 | }
95 | }
96 |
97 | function setWebpack(config, options) {
98 | if (config && config.bundle) {
99 | const env = {};
100 | env[config.platform] = true;
101 | env.sourceMap = config.debugBrk;
102 | options.webpack = require('./webpack.config')(env);
103 | delete options.webpack.entry;
104 | delete options.webpack.output.libraryTarget;
105 | const invalidPluginsForUnitTesting = ["GenerateBundleStarterPlugin", "GenerateNativeScriptEntryPointsPlugin"];
106 | options.webpack.plugins = options.webpack.plugins.filter(p => !invalidPluginsForUnitTesting.includes(p.constructor.name));
107 | }
108 | }
109 |
--------------------------------------------------------------------------------
/demo/nsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "useLegacyWorkflow": false
3 | }
4 |
--------------------------------------------------------------------------------
/demo/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-pdf-view-demo",
3 | "description": "Demo application for nativescript-pdf-view",
4 | "private": true,
5 | "license": "MIT",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/madmas/nativescript-pdf-view.git"
9 | },
10 | "nativescript": {
11 | "id": "de.mynethome.nativescriptpdfviewdemo",
12 | "tns-android": {
13 | "version": "6.5.3"
14 | },
15 | "tns-ios": {
16 | "version": "6.5.2"
17 | }
18 | },
19 | "dependencies": {
20 | "@nativescript/core": "6.5.12",
21 | "@nativescript/theme": "^2.3.3",
22 | "nativescript-pdf-view": "file:../src"
23 | },
24 | "devDependencies": {
25 | "babel-traverse": "6.24.1",
26 | "babel-types": "6.24.1",
27 | "babylon": "6.17.1",
28 | "filewalker": "0.1.3",
29 | "jasmine-core": "^2.6.1",
30 | "karma": "4.1.0",
31 | "karma-jasmine": "2.0.1",
32 | "karma-nativescript-launcher": "^0.4.0",
33 | "lazy": "1.0.11",
34 | "typescript": "~3.5.3",
35 | "nativescript-dev-webpack": "~1.5.1",
36 | "karma-webpack": "3.0.5"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/demo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "commonjs",
4 | "target": "es5",
5 | "experimentalDecorators": true,
6 | "declaration": false,
7 | "removeComments": true,
8 | "emitDecoratorMetadata": true,
9 | "noEmitHelpers": true,
10 | "noEmitOnError": true,
11 | "skipLibCheck": true,
12 | "lib": [
13 | "es6",
14 | "dom"
15 | ],
16 | "pretty": true,
17 | "allowUnreachableCode": false,
18 | "allowUnusedLabels": false,
19 | "noImplicitAny": false,
20 | "noImplicitReturns": true,
21 | "noImplicitUseStrict": false,
22 | "noFallthroughCasesInSwitch": true,
23 | "baseUrl": ".",
24 | "paths": {
25 | "~/*": [
26 | "app/*"
27 | ],
28 | "*": [
29 | "./node_modules/*"
30 | ]
31 | }
32 | },
33 | "exclude": [
34 | "node_modules",
35 | "platforms",
36 | "../src/node_modules"
37 | ],
38 | "include": [
39 | "../src",
40 | "**/*"
41 | ]
42 | }
--------------------------------------------------------------------------------
/demo/tsconfig.tns.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./tsconfig",
3 | "compilerOptions": {
4 | "module": "esNext",
5 | "moduleResolution": "node"
6 | }
7 | }
8 |
--------------------------------------------------------------------------------
/demo/tsfmt.json:
--------------------------------------------------------------------------------
1 | {
2 | "indentSize": 4,
3 | "tabSize": 4
4 | }
5 |
--------------------------------------------------------------------------------
/demo/webpack.config.js:
--------------------------------------------------------------------------------
1 | const { join, relative, resolve, sep } = require("path");
2 |
3 | const webpack = require("webpack");
4 | const nsWebpack = require("nativescript-dev-webpack");
5 | const nativescriptTarget = require("nativescript-dev-webpack/nativescript-target");
6 | const { getNoEmitOnErrorFromTSConfig } = require("nativescript-dev-webpack/utils/tsconfig-utils");
7 | const CleanWebpackPlugin = require("clean-webpack-plugin");
8 | const CopyWebpackPlugin = require("copy-webpack-plugin");
9 | const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
10 | const { BundleAnalyzerPlugin } = require("webpack-bundle-analyzer");
11 | const { NativeScriptWorkerPlugin } = require("nativescript-worker-loader/NativeScriptWorkerPlugin");
12 | const TerserPlugin = require("terser-webpack-plugin");
13 | const hashSalt = Date.now().toString();
14 |
15 | module.exports = env => {
16 | // Add your custom Activities, Services and other Android app components here.
17 | const appComponents = env.appComponents || [];
18 | appComponents.push(...[
19 | "tns-core-modules/ui/frame",
20 | "tns-core-modules/ui/frame/activity",
21 | ]);
22 |
23 | const platform = env && (env.android && "android" || env.ios && "ios" || env.platform);
24 | if (!platform) {
25 | throw new Error("You need to provide a target platform!");
26 | }
27 |
28 | const platforms = ["ios", "android"];
29 | const projectRoot = __dirname;
30 |
31 | if (env.platform) {
32 | platforms.push(env.platform);
33 | }
34 |
35 | // Default destination inside platforms//...
36 | const dist = resolve(projectRoot, nsWebpack.getAppPath(platform, projectRoot));
37 |
38 | const {
39 | // The 'appPath' and 'appResourcesPath' values are fetched from
40 | // the nsconfig.json configuration file.
41 | appPath = "app",
42 | appResourcesPath = "app/App_Resources",
43 |
44 | // You can provide the following flags when running 'tns run android|ios'
45 | snapshot, // --env.snapshot
46 | production, // --env.production
47 | uglify, // --env.uglify
48 | report, // --env.report
49 | sourceMap, // --env.sourceMap
50 | hiddenSourceMap, // --env.hiddenSourceMap
51 | hmr, // --env.hmr,
52 | unitTesting, // --env.unitTesting,
53 | verbose, // --env.verbose
54 | snapshotInDocker, // --env.snapshotInDocker
55 | skipSnapshotTools, // --env.skipSnapshotTools
56 | compileSnapshot // --env.compileSnapshot
57 | } = env;
58 |
59 | const useLibs = compileSnapshot;
60 | const isAnySourceMapEnabled = !!sourceMap || !!hiddenSourceMap;
61 | const externals = nsWebpack.getConvertedExternals(env.externals);
62 |
63 | const appFullPath = resolve(projectRoot, appPath);
64 | const hasRootLevelScopedModules = nsWebpack.hasRootLevelScopedModules({ projectDir: projectRoot });
65 | let coreModulesPackageName = "tns-core-modules";
66 | const alias = env.alias || {};
67 | alias['~'] = appFullPath;
68 |
69 | if (hasRootLevelScopedModules) {
70 | coreModulesPackageName = "@nativescript/core";
71 | alias["tns-core-modules"] = coreModulesPackageName;
72 | }
73 | const appResourcesFullPath = resolve(projectRoot, appResourcesPath);
74 |
75 | const entryModule = nsWebpack.getEntryModule(appFullPath, platform);
76 | const entryPath = `.${sep}${entryModule}.ts`;
77 | const entries = env.entries || {};
78 | entries.bundle = entryPath;
79 |
80 | const tsConfigPath = resolve(projectRoot, "tsconfig.tns.json");
81 |
82 | const areCoreModulesExternal = Array.isArray(env.externals) && env.externals.some(e => e.indexOf("tns-core-modules") > -1);
83 | if (platform === "ios" && !areCoreModulesExternal) {
84 | entries["tns_modules/tns-core-modules/inspector_modules"] = "inspector_modules";
85 | };
86 |
87 | let sourceMapFilename = nsWebpack.getSourceMapFilename(hiddenSourceMap, __dirname, dist);
88 |
89 | const itemsToClean = [`${dist}/**/*`];
90 | if (platform === "android") {
91 | itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "src", "main", "assets", "snapshots")}`);
92 | itemsToClean.push(`${join(projectRoot, "platforms", "android", "app", "build", "configurations", "nativescript-android-snapshot")}`);
93 | }
94 |
95 | const noEmitOnErrorFromTSConfig = getNoEmitOnErrorFromTSConfig(tsConfigPath);
96 |
97 | nsWebpack.processAppComponents(appComponents, platform);
98 | const config = {
99 | mode: production ? "production" : "development",
100 | context: appFullPath,
101 | externals,
102 | watchOptions: {
103 | ignored: [
104 | appResourcesFullPath,
105 | // Don't watch hidden files
106 | "**/.*",
107 | ]
108 | },
109 | target: nativescriptTarget,
110 | entry: entries,
111 | output: {
112 | pathinfo: false,
113 | path: dist,
114 | sourceMapFilename,
115 | libraryTarget: "commonjs2",
116 | filename: "[name].js",
117 | globalObject: "global",
118 | hashSalt
119 | },
120 | resolve: {
121 | extensions: [".ts", ".js", ".scss", ".css"],
122 | // Resolve {N} system modules from tns-core-modules
123 | modules: [
124 | resolve(__dirname, `node_modules/${coreModulesPackageName}`),
125 | resolve(__dirname, "node_modules"),
126 | `node_modules/${coreModulesPackageName}`,
127 | "node_modules",
128 | ],
129 | alias,
130 | // resolve symlinks to symlinked modules
131 | symlinks: true
132 | },
133 | resolveLoader: {
134 | // don't resolve symlinks to symlinked loaders
135 | symlinks: false
136 | },
137 | node: {
138 | // Disable node shims that conflict with NativeScript
139 | "http": false,
140 | "timers": false,
141 | "setImmediate": false,
142 | "fs": "empty",
143 | "__dirname": false,
144 | },
145 | devtool: hiddenSourceMap ? "hidden-source-map" : (sourceMap ? "inline-source-map" : "none"),
146 | optimization: {
147 | runtimeChunk: "single",
148 | noEmitOnErrors: noEmitOnErrorFromTSConfig,
149 | splitChunks: {
150 | cacheGroups: {
151 | vendor: {
152 | name: "vendor",
153 | chunks: "all",
154 | test: (module, chunks) => {
155 | const moduleName = module.nameForCondition ? module.nameForCondition() : '';
156 | return /[\\/]node_modules[\\/]/.test(moduleName) ||
157 | appComponents.some(comp => comp === moduleName);
158 |
159 | },
160 | enforce: true,
161 | },
162 | }
163 | },
164 | minimize: !!uglify,
165 | minimizer: [
166 | new TerserPlugin({
167 | parallel: true,
168 | cache: true,
169 | sourceMap: isAnySourceMapEnabled,
170 | terserOptions: {
171 | output: {
172 | comments: false,
173 | semicolons: !isAnySourceMapEnabled
174 | },
175 | compress: {
176 | // The Android SBG has problems parsing the output
177 | // when these options are enabled
178 | 'collapse_vars': platform !== "android",
179 | sequences: platform !== "android",
180 | }
181 | }
182 | })
183 | ],
184 | },
185 | module: {
186 | rules: [
187 | {
188 | include: join(appFullPath, entryPath),
189 | use: [
190 | // Require all Android app components
191 | platform === "android" && {
192 | loader: "nativescript-dev-webpack/android-app-components-loader",
193 | options: { modules: appComponents }
194 | },
195 |
196 | {
197 | loader: "nativescript-dev-webpack/bundle-config-loader",
198 | options: {
199 | loadCss: !snapshot, // load the application css if in debug mode
200 | unitTesting,
201 | appFullPath,
202 | projectRoot,
203 | ignoredFiles: nsWebpack.getUserDefinedEntries(entries, platform)
204 | }
205 | },
206 | ].filter(loader => !!loader)
207 | },
208 |
209 | {
210 | test: /\.(ts|css|scss|html|xml)$/,
211 | use: "nativescript-dev-webpack/hmr/hot-loader"
212 | },
213 |
214 | { test: /\.(html|xml)$/, use: "nativescript-dev-webpack/xml-namespace-loader" },
215 |
216 | {
217 | test: /\.css$/,
218 | use: "nativescript-dev-webpack/css2json-loader"
219 | },
220 |
221 | {
222 | test: /\.scss$/,
223 | use: [
224 | "nativescript-dev-webpack/css2json-loader",
225 | "sass-loader"
226 | ]
227 | },
228 |
229 | {
230 | test: /\.ts$/,
231 | use: {
232 | loader: "ts-loader",
233 | options: {
234 | configFile: tsConfigPath,
235 | // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
236 | // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
237 | transpileOnly: true,
238 | allowTsInNodeModules: true,
239 | compilerOptions: {
240 | sourceMap: isAnySourceMapEnabled,
241 | declaration: false
242 | }
243 | },
244 | }
245 | },
246 | ]
247 | },
248 | plugins: [
249 | // Define useful constants like TNS_WEBPACK
250 | new webpack.DefinePlugin({
251 | "global.TNS_WEBPACK": "true",
252 | "process": "global.process",
253 | }),
254 | // Remove all files from the out dir.
255 | new CleanWebpackPlugin(itemsToClean, { verbose: !!verbose }),
256 | // Copy assets to out dir. Add your own globs as needed.
257 | new CopyWebpackPlugin([
258 | { from: { glob: "fonts/**" } },
259 | { from: { glob: "**/*.jpg" } },
260 | { from: { glob: "**/*.png" } },
261 | ], { ignore: [`${relative(appPath, appResourcesFullPath)}/**`] }),
262 | new nsWebpack.GenerateNativeScriptEntryPointsPlugin("bundle"),
263 | // For instructions on how to set up workers with webpack
264 | // check out https://github.com/nativescript/worker-loader
265 | new NativeScriptWorkerPlugin(),
266 | new nsWebpack.PlatformFSPlugin({
267 | platform,
268 | platforms,
269 | }),
270 | // Does IPC communication with the {N} CLI to notify events when running in watch mode.
271 | new nsWebpack.WatchStateLoggerPlugin(),
272 | // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#faster-builds
273 | // https://github.com/TypeStrong/ts-loader/blob/ea2fcf925ec158d0a536d1e766adfec6567f5fb4/README.md#hot-module-replacement
274 | new ForkTsCheckerWebpackPlugin({
275 | tsconfig: tsConfigPath,
276 | async: false,
277 | useTypescriptIncrementalApi: true,
278 | checkSyntacticErrors: true,
279 | memoryLimit: 4096
280 | })
281 | ],
282 | };
283 |
284 | if (report) {
285 | // Generate report files for bundles content
286 | config.plugins.push(new BundleAnalyzerPlugin({
287 | analyzerMode: "static",
288 | openAnalyzer: false,
289 | generateStatsFile: true,
290 | reportFilename: resolve(projectRoot, "report", `report.html`),
291 | statsFilename: resolve(projectRoot, "report", `stats.json`),
292 | }));
293 | }
294 |
295 | if (snapshot) {
296 | config.plugins.push(new nsWebpack.NativeScriptSnapshotPlugin({
297 | chunk: "vendor",
298 | requireModules: [
299 | "tns-core-modules/bundle-entry-points",
300 | ],
301 | projectRoot,
302 | webpackConfig: config,
303 | snapshotInDocker,
304 | skipSnapshotTools,
305 | useLibs
306 | }));
307 | }
308 |
309 | if (hmr) {
310 | config.plugins.push(new webpack.HotModuleReplacementPlugin());
311 | }
312 |
313 |
314 | return config;
315 | };
316 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-pdf-view",
3 | "version": "0.0.0-development",
4 | "lockfileVersion": 1,
5 | "requires": true,
6 | "dependencies": {
7 | "@babel/code-frame": {
8 | "version": "7.10.4",
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
10 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
11 | "dev": true,
12 | "requires": {
13 | "@babel/highlight": "^7.10.4"
14 | }
15 | },
16 | "@babel/helper-validator-identifier": {
17 | "version": "7.10.4",
18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
19 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
20 | "dev": true
21 | },
22 | "@babel/highlight": {
23 | "version": "7.10.4",
24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
25 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
26 | "dev": true,
27 | "requires": {
28 | "@babel/helper-validator-identifier": "^7.10.4",
29 | "chalk": "^2.0.0",
30 | "js-tokens": "^4.0.0"
31 | }
32 | },
33 | "@commitlint/execute-rule": {
34 | "version": "9.1.1",
35 | "resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-9.1.1.tgz",
36 | "integrity": "sha512-kCncHMXfVDfmUx1NExl7T+s7udAWEOh039DFGR9R5MWoy+zm2cJsCdsbWFFuNbcPWCKor57ywdIUN2t048P6Yg==",
37 | "dev": true,
38 | "optional": true
39 | },
40 | "@commitlint/load": {
41 | "version": "9.1.1",
42 | "resolved": "https://registry.npmjs.org/@commitlint/load/-/load-9.1.1.tgz",
43 | "integrity": "sha512-RCIX44M8nq3bW98vuxA6C2rM0wAnZlneFls2OVi5l2BvD/rsQ2R9CZYwPt/MYU6RbwMmlGhkuHdScwK6pJeUqA==",
44 | "dev": true,
45 | "optional": true,
46 | "requires": {
47 | "@commitlint/execute-rule": "^9.1.1",
48 | "@commitlint/resolve-extends": "^9.1.1",
49 | "@commitlint/types": "^9.1.1",
50 | "chalk": "4.1.0",
51 | "cosmiconfig": "^6.0.0",
52 | "lodash": "^4.17.15",
53 | "resolve-from": "^5.0.0"
54 | },
55 | "dependencies": {
56 | "ansi-styles": {
57 | "version": "4.2.1",
58 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
59 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
60 | "dev": true,
61 | "optional": true,
62 | "requires": {
63 | "@types/color-name": "^1.1.1",
64 | "color-convert": "^2.0.1"
65 | }
66 | },
67 | "chalk": {
68 | "version": "4.1.0",
69 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
70 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
71 | "dev": true,
72 | "optional": true,
73 | "requires": {
74 | "ansi-styles": "^4.1.0",
75 | "supports-color": "^7.1.0"
76 | }
77 | },
78 | "color-convert": {
79 | "version": "2.0.1",
80 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
81 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
82 | "dev": true,
83 | "optional": true,
84 | "requires": {
85 | "color-name": "~1.1.4"
86 | }
87 | },
88 | "color-name": {
89 | "version": "1.1.4",
90 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
91 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
92 | "dev": true,
93 | "optional": true
94 | },
95 | "has-flag": {
96 | "version": "4.0.0",
97 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
98 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
99 | "dev": true,
100 | "optional": true
101 | },
102 | "supports-color": {
103 | "version": "7.1.0",
104 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
105 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
106 | "dev": true,
107 | "optional": true,
108 | "requires": {
109 | "has-flag": "^4.0.0"
110 | }
111 | }
112 | }
113 | },
114 | "@commitlint/resolve-extends": {
115 | "version": "9.1.1",
116 | "resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-9.1.1.tgz",
117 | "integrity": "sha512-IxxNaSUT+dPhSCQPAMpQyHQlcSVikDxQWJFP6uwGJUU5rQff+0yQTuC3taWI2NWaATukjNWboAbH2vgBDnrDrg==",
118 | "dev": true,
119 | "optional": true,
120 | "requires": {
121 | "import-fresh": "^3.0.0",
122 | "lodash": "^4.17.15",
123 | "resolve-from": "^5.0.0",
124 | "resolve-global": "^1.0.0"
125 | }
126 | },
127 | "@commitlint/types": {
128 | "version": "9.1.1",
129 | "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-9.1.1.tgz",
130 | "integrity": "sha512-SXY8bCQ1qacJ8AUTUxjabY8G6OjSmMPLN9MBCzGaKOjpPNX6z8zbXTbk9oU3GHZLtcxweWLCi2n49IRS4iQlwg==",
131 | "dev": true,
132 | "optional": true
133 | },
134 | "@types/color-name": {
135 | "version": "1.1.1",
136 | "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
137 | "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
138 | "dev": true,
139 | "optional": true
140 | },
141 | "@types/parse-json": {
142 | "version": "4.0.0",
143 | "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
144 | "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==",
145 | "dev": true,
146 | "optional": true
147 | },
148 | "ansi-escapes": {
149 | "version": "3.2.0",
150 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
151 | "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
152 | "dev": true
153 | },
154 | "ansi-regex": {
155 | "version": "3.0.0",
156 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
157 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
158 | "dev": true
159 | },
160 | "ansi-styles": {
161 | "version": "3.2.1",
162 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
163 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
164 | "dev": true,
165 | "requires": {
166 | "color-convert": "^1.9.0"
167 | }
168 | },
169 | "app-root-path": {
170 | "version": "1.0.0",
171 | "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-1.0.0.tgz",
172 | "integrity": "sha1-LHKZF0vGHLhv46SnmOAeSTt9U30=",
173 | "dev": true
174 | },
175 | "argparse": {
176 | "version": "1.0.10",
177 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
178 | "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
179 | "dev": true,
180 | "requires": {
181 | "sprintf-js": "~1.0.2"
182 | }
183 | },
184 | "arr-diff": {
185 | "version": "4.0.0",
186 | "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
187 | "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
188 | "dev": true
189 | },
190 | "arr-flatten": {
191 | "version": "1.1.0",
192 | "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
193 | "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
194 | "dev": true
195 | },
196 | "arr-union": {
197 | "version": "3.1.0",
198 | "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
199 | "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
200 | "dev": true
201 | },
202 | "array-unique": {
203 | "version": "0.3.2",
204 | "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
205 | "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
206 | "dev": true
207 | },
208 | "assign-symbols": {
209 | "version": "1.0.0",
210 | "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
211 | "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
212 | "dev": true
213 | },
214 | "async": {
215 | "version": "0.9.2",
216 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
217 | "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
218 | "dev": true
219 | },
220 | "atob": {
221 | "version": "2.1.2",
222 | "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
223 | "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
224 | "dev": true
225 | },
226 | "balanced-match": {
227 | "version": "1.0.0",
228 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
229 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
230 | "dev": true
231 | },
232 | "base": {
233 | "version": "0.11.2",
234 | "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
235 | "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
236 | "dev": true,
237 | "requires": {
238 | "cache-base": "^1.0.1",
239 | "class-utils": "^0.3.5",
240 | "component-emitter": "^1.2.1",
241 | "define-property": "^1.0.0",
242 | "isobject": "^3.0.1",
243 | "mixin-deep": "^1.2.0",
244 | "pascalcase": "^0.1.1"
245 | },
246 | "dependencies": {
247 | "define-property": {
248 | "version": "1.0.0",
249 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
250 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
251 | "dev": true,
252 | "requires": {
253 | "is-descriptor": "^1.0.0"
254 | }
255 | },
256 | "is-accessor-descriptor": {
257 | "version": "1.0.0",
258 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
259 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
260 | "dev": true,
261 | "requires": {
262 | "kind-of": "^6.0.0"
263 | }
264 | },
265 | "is-data-descriptor": {
266 | "version": "1.0.0",
267 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
268 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
269 | "dev": true,
270 | "requires": {
271 | "kind-of": "^6.0.0"
272 | }
273 | },
274 | "is-descriptor": {
275 | "version": "1.0.2",
276 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
277 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
278 | "dev": true,
279 | "requires": {
280 | "is-accessor-descriptor": "^1.0.0",
281 | "is-data-descriptor": "^1.0.0",
282 | "kind-of": "^6.0.2"
283 | }
284 | }
285 | }
286 | },
287 | "brace-expansion": {
288 | "version": "1.1.11",
289 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
290 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
291 | "dev": true,
292 | "requires": {
293 | "balanced-match": "^1.0.0",
294 | "concat-map": "0.0.1"
295 | }
296 | },
297 | "braces": {
298 | "version": "2.3.2",
299 | "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
300 | "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
301 | "dev": true,
302 | "requires": {
303 | "arr-flatten": "^1.1.0",
304 | "array-unique": "^0.3.2",
305 | "extend-shallow": "^2.0.1",
306 | "fill-range": "^4.0.0",
307 | "isobject": "^3.0.1",
308 | "repeat-element": "^1.1.2",
309 | "snapdragon": "^0.8.1",
310 | "snapdragon-node": "^2.0.1",
311 | "split-string": "^3.0.2",
312 | "to-regex": "^3.0.1"
313 | },
314 | "dependencies": {
315 | "extend-shallow": {
316 | "version": "2.0.1",
317 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
318 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
319 | "dev": true,
320 | "requires": {
321 | "is-extendable": "^0.1.0"
322 | }
323 | }
324 | }
325 | },
326 | "builtin-modules": {
327 | "version": "1.1.1",
328 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
329 | "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
330 | "dev": true
331 | },
332 | "cache-base": {
333 | "version": "1.0.1",
334 | "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
335 | "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
336 | "dev": true,
337 | "requires": {
338 | "collection-visit": "^1.0.0",
339 | "component-emitter": "^1.2.1",
340 | "get-value": "^2.0.6",
341 | "has-value": "^1.0.0",
342 | "isobject": "^3.0.1",
343 | "set-value": "^2.0.0",
344 | "to-object-path": "^0.3.0",
345 | "union-value": "^1.0.0",
346 | "unset-value": "^1.0.0"
347 | }
348 | },
349 | "cachedir": {
350 | "version": "2.2.0",
351 | "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.2.0.tgz",
352 | "integrity": "sha512-VvxA0xhNqIIfg0V9AmJkDg91DaJwryutH5rVEZAhcNi4iJFj9f+QxmAjgK1LT9I8OgToX27fypX6/MeCXVbBjQ==",
353 | "dev": true
354 | },
355 | "callsites": {
356 | "version": "3.1.0",
357 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
358 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
359 | "dev": true,
360 | "optional": true
361 | },
362 | "chalk": {
363 | "version": "2.4.2",
364 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
365 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
366 | "dev": true,
367 | "requires": {
368 | "ansi-styles": "^3.2.1",
369 | "escape-string-regexp": "^1.0.5",
370 | "supports-color": "^5.3.0"
371 | }
372 | },
373 | "chardet": {
374 | "version": "0.7.0",
375 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
376 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
377 | "dev": true
378 | },
379 | "ci-info": {
380 | "version": "1.6.0",
381 | "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz",
382 | "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==",
383 | "dev": true
384 | },
385 | "class-utils": {
386 | "version": "0.3.6",
387 | "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
388 | "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
389 | "dev": true,
390 | "requires": {
391 | "arr-union": "^3.1.0",
392 | "define-property": "^0.2.5",
393 | "isobject": "^3.0.0",
394 | "static-extend": "^0.1.1"
395 | },
396 | "dependencies": {
397 | "define-property": {
398 | "version": "0.2.5",
399 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
400 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
401 | "dev": true,
402 | "requires": {
403 | "is-descriptor": "^0.1.0"
404 | }
405 | }
406 | }
407 | },
408 | "cli-cursor": {
409 | "version": "2.1.0",
410 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz",
411 | "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=",
412 | "dev": true,
413 | "requires": {
414 | "restore-cursor": "^2.0.0"
415 | }
416 | },
417 | "cli-width": {
418 | "version": "2.2.1",
419 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz",
420 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==",
421 | "dev": true
422 | },
423 | "collection-visit": {
424 | "version": "1.0.0",
425 | "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
426 | "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
427 | "dev": true,
428 | "requires": {
429 | "map-visit": "^1.0.0",
430 | "object-visit": "^1.0.0"
431 | }
432 | },
433 | "color-convert": {
434 | "version": "1.9.3",
435 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
436 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
437 | "dev": true,
438 | "requires": {
439 | "color-name": "1.1.3"
440 | }
441 | },
442 | "color-name": {
443 | "version": "1.1.3",
444 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
445 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
446 | "dev": true
447 | },
448 | "colors": {
449 | "version": "1.4.0",
450 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
451 | "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==",
452 | "dev": true
453 | },
454 | "commander": {
455 | "version": "2.20.3",
456 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
457 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
458 | "dev": true
459 | },
460 | "commitizen": {
461 | "version": "4.1.2",
462 | "resolved": "https://registry.npmjs.org/commitizen/-/commitizen-4.1.2.tgz",
463 | "integrity": "sha512-LBxTQKHbVgroMz9ohpm86N+GfJobonGyvDc3zBGdZazbwCLz2tqLa48Rf2TnAdKx7/06W1i1R3SXUt5QW97qVQ==",
464 | "dev": true,
465 | "requires": {
466 | "cachedir": "2.2.0",
467 | "cz-conventional-changelog": "3.2.0",
468 | "dedent": "0.7.0",
469 | "detect-indent": "6.0.0",
470 | "find-node-modules": "2.0.0",
471 | "find-root": "1.1.0",
472 | "fs-extra": "8.1.0",
473 | "glob": "7.1.4",
474 | "inquirer": "6.5.0",
475 | "is-utf8": "^0.2.1",
476 | "lodash": "4.17.15",
477 | "minimist": "1.2.5",
478 | "strip-bom": "4.0.0",
479 | "strip-json-comments": "3.0.1"
480 | },
481 | "dependencies": {
482 | "lodash": {
483 | "version": "4.17.15",
484 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
485 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
486 | "dev": true
487 | }
488 | }
489 | },
490 | "component-emitter": {
491 | "version": "1.3.0",
492 | "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
493 | "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
494 | "dev": true
495 | },
496 | "concat-map": {
497 | "version": "0.0.1",
498 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
499 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
500 | "dev": true
501 | },
502 | "conventional-commit-types": {
503 | "version": "3.0.0",
504 | "resolved": "https://registry.npmjs.org/conventional-commit-types/-/conventional-commit-types-3.0.0.tgz",
505 | "integrity": "sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==",
506 | "dev": true
507 | },
508 | "copy-descriptor": {
509 | "version": "0.1.1",
510 | "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
511 | "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
512 | "dev": true
513 | },
514 | "cosmiconfig": {
515 | "version": "6.0.0",
516 | "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz",
517 | "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==",
518 | "dev": true,
519 | "optional": true,
520 | "requires": {
521 | "@types/parse-json": "^4.0.0",
522 | "import-fresh": "^3.1.0",
523 | "parse-json": "^5.0.0",
524 | "path-type": "^4.0.0",
525 | "yaml": "^1.7.2"
526 | }
527 | },
528 | "cycle": {
529 | "version": "1.0.3",
530 | "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
531 | "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
532 | "dev": true
533 | },
534 | "cz-conventional-changelog": {
535 | "version": "3.2.0",
536 | "resolved": "https://registry.npmjs.org/cz-conventional-changelog/-/cz-conventional-changelog-3.2.0.tgz",
537 | "integrity": "sha512-yAYxeGpVi27hqIilG1nh4A9Bnx4J3Ov+eXy4koL3drrR+IO9GaWPsKjik20ht608Asqi8TQPf0mczhEeyAtMzg==",
538 | "dev": true,
539 | "requires": {
540 | "@commitlint/load": ">6.1.1",
541 | "chalk": "^2.4.1",
542 | "commitizen": "^4.0.3",
543 | "conventional-commit-types": "^3.0.0",
544 | "lodash.map": "^4.5.1",
545 | "longest": "^2.0.1",
546 | "word-wrap": "^1.0.3"
547 | }
548 | },
549 | "cz-customizable": {
550 | "version": "6.3.0",
551 | "resolved": "https://registry.npmjs.org/cz-customizable/-/cz-customizable-6.3.0.tgz",
552 | "integrity": "sha512-MWGmWa45v4Ds3NJNNwQc3GCFdjtH3k4ypDWoWkwultMVLf7aOHR9VaXGYGZHLOQS4sMfbkBSjNUYoXCSmLuRSA==",
553 | "dev": true,
554 | "requires": {
555 | "editor": "1.0.0",
556 | "find-config": "^1.0.0",
557 | "inquirer": "^6.3.1",
558 | "lodash": "^4.17.19",
559 | "temp": "^0.9.0",
560 | "word-wrap": "^1.2.3"
561 | }
562 | },
563 | "cz-customizable-ghooks": {
564 | "version": "1.5.0",
565 | "resolved": "https://registry.npmjs.org/cz-customizable-ghooks/-/cz-customizable-ghooks-1.5.0.tgz",
566 | "integrity": "sha1-SuojTNcAOJ9FL8m6ocX3yTci/jA=",
567 | "dev": true,
568 | "requires": {
569 | "app-root-path": "1.0.0",
570 | "chalk": "1.1.3"
571 | },
572 | "dependencies": {
573 | "ansi-regex": {
574 | "version": "2.1.1",
575 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
576 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
577 | "dev": true
578 | },
579 | "ansi-styles": {
580 | "version": "2.2.1",
581 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
582 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
583 | "dev": true
584 | },
585 | "chalk": {
586 | "version": "1.1.3",
587 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
588 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
589 | "dev": true,
590 | "requires": {
591 | "ansi-styles": "^2.2.1",
592 | "escape-string-regexp": "^1.0.2",
593 | "has-ansi": "^2.0.0",
594 | "strip-ansi": "^3.0.0",
595 | "supports-color": "^2.0.0"
596 | }
597 | },
598 | "strip-ansi": {
599 | "version": "3.0.1",
600 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
601 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
602 | "dev": true,
603 | "requires": {
604 | "ansi-regex": "^2.0.0"
605 | }
606 | },
607 | "supports-color": {
608 | "version": "2.0.0",
609 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
610 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
611 | "dev": true
612 | }
613 | }
614 | },
615 | "decode-uri-component": {
616 | "version": "0.2.0",
617 | "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
618 | "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
619 | "dev": true
620 | },
621 | "dedent": {
622 | "version": "0.7.0",
623 | "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
624 | "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=",
625 | "dev": true
626 | },
627 | "deep-equal": {
628 | "version": "0.2.2",
629 | "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz",
630 | "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=",
631 | "dev": true
632 | },
633 | "define-property": {
634 | "version": "2.0.2",
635 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
636 | "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
637 | "dev": true,
638 | "requires": {
639 | "is-descriptor": "^1.0.2",
640 | "isobject": "^3.0.1"
641 | },
642 | "dependencies": {
643 | "is-accessor-descriptor": {
644 | "version": "1.0.0",
645 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
646 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
647 | "dev": true,
648 | "requires": {
649 | "kind-of": "^6.0.0"
650 | }
651 | },
652 | "is-data-descriptor": {
653 | "version": "1.0.0",
654 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
655 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
656 | "dev": true,
657 | "requires": {
658 | "kind-of": "^6.0.0"
659 | }
660 | },
661 | "is-descriptor": {
662 | "version": "1.0.2",
663 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
664 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
665 | "dev": true,
666 | "requires": {
667 | "is-accessor-descriptor": "^1.0.0",
668 | "is-data-descriptor": "^1.0.0",
669 | "kind-of": "^6.0.2"
670 | }
671 | }
672 | }
673 | },
674 | "detect-file": {
675 | "version": "1.0.0",
676 | "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
677 | "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
678 | "dev": true
679 | },
680 | "detect-indent": {
681 | "version": "6.0.0",
682 | "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
683 | "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==",
684 | "dev": true
685 | },
686 | "diff": {
687 | "version": "4.0.2",
688 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
689 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
690 | "dev": true
691 | },
692 | "editor": {
693 | "version": "1.0.0",
694 | "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz",
695 | "integrity": "sha1-YMf4e9YrzGqJT6jM1q+3gjok90I=",
696 | "dev": true
697 | },
698 | "error-ex": {
699 | "version": "1.3.2",
700 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
701 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
702 | "dev": true,
703 | "optional": true,
704 | "requires": {
705 | "is-arrayish": "^0.2.1"
706 | }
707 | },
708 | "escape-string-regexp": {
709 | "version": "1.0.5",
710 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
711 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
712 | "dev": true
713 | },
714 | "esprima": {
715 | "version": "4.0.1",
716 | "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
717 | "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
718 | "dev": true
719 | },
720 | "expand-brackets": {
721 | "version": "2.1.4",
722 | "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
723 | "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
724 | "dev": true,
725 | "requires": {
726 | "debug": "^2.3.3",
727 | "define-property": "^0.2.5",
728 | "extend-shallow": "^2.0.1",
729 | "posix-character-classes": "^0.1.0",
730 | "regex-not": "^1.0.0",
731 | "snapdragon": "^0.8.1",
732 | "to-regex": "^3.0.1"
733 | },
734 | "dependencies": {
735 | "debug": {
736 | "version": "2.6.9",
737 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
738 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
739 | "dev": true,
740 | "requires": {
741 | "ms": "2.0.0"
742 | }
743 | },
744 | "define-property": {
745 | "version": "0.2.5",
746 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
747 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
748 | "dev": true,
749 | "requires": {
750 | "is-descriptor": "^0.1.0"
751 | }
752 | },
753 | "extend-shallow": {
754 | "version": "2.0.1",
755 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
756 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
757 | "dev": true,
758 | "requires": {
759 | "is-extendable": "^0.1.0"
760 | }
761 | },
762 | "ms": {
763 | "version": "2.0.0",
764 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
765 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
766 | "dev": true
767 | }
768 | }
769 | },
770 | "expand-tilde": {
771 | "version": "2.0.2",
772 | "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
773 | "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
774 | "dev": true,
775 | "requires": {
776 | "homedir-polyfill": "^1.0.1"
777 | }
778 | },
779 | "extend-shallow": {
780 | "version": "3.0.2",
781 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
782 | "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
783 | "dev": true,
784 | "requires": {
785 | "assign-symbols": "^1.0.0",
786 | "is-extendable": "^1.0.1"
787 | },
788 | "dependencies": {
789 | "is-extendable": {
790 | "version": "1.0.1",
791 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
792 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
793 | "dev": true,
794 | "requires": {
795 | "is-plain-object": "^2.0.4"
796 | }
797 | }
798 | }
799 | },
800 | "external-editor": {
801 | "version": "3.1.0",
802 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz",
803 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==",
804 | "dev": true,
805 | "requires": {
806 | "chardet": "^0.7.0",
807 | "iconv-lite": "^0.4.24",
808 | "tmp": "^0.0.33"
809 | }
810 | },
811 | "extglob": {
812 | "version": "2.0.4",
813 | "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
814 | "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
815 | "dev": true,
816 | "requires": {
817 | "array-unique": "^0.3.2",
818 | "define-property": "^1.0.0",
819 | "expand-brackets": "^2.1.4",
820 | "extend-shallow": "^2.0.1",
821 | "fragment-cache": "^0.2.1",
822 | "regex-not": "^1.0.0",
823 | "snapdragon": "^0.8.1",
824 | "to-regex": "^3.0.1"
825 | },
826 | "dependencies": {
827 | "define-property": {
828 | "version": "1.0.0",
829 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
830 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
831 | "dev": true,
832 | "requires": {
833 | "is-descriptor": "^1.0.0"
834 | }
835 | },
836 | "extend-shallow": {
837 | "version": "2.0.1",
838 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
839 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
840 | "dev": true,
841 | "requires": {
842 | "is-extendable": "^0.1.0"
843 | }
844 | },
845 | "is-accessor-descriptor": {
846 | "version": "1.0.0",
847 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
848 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
849 | "dev": true,
850 | "requires": {
851 | "kind-of": "^6.0.0"
852 | }
853 | },
854 | "is-data-descriptor": {
855 | "version": "1.0.0",
856 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
857 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
858 | "dev": true,
859 | "requires": {
860 | "kind-of": "^6.0.0"
861 | }
862 | },
863 | "is-descriptor": {
864 | "version": "1.0.2",
865 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
866 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
867 | "dev": true,
868 | "requires": {
869 | "is-accessor-descriptor": "^1.0.0",
870 | "is-data-descriptor": "^1.0.0",
871 | "kind-of": "^6.0.2"
872 | }
873 | }
874 | }
875 | },
876 | "eyes": {
877 | "version": "0.1.8",
878 | "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
879 | "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
880 | "dev": true
881 | },
882 | "figures": {
883 | "version": "2.0.0",
884 | "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
885 | "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
886 | "dev": true,
887 | "requires": {
888 | "escape-string-regexp": "^1.0.5"
889 | }
890 | },
891 | "fill-range": {
892 | "version": "4.0.0",
893 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
894 | "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
895 | "dev": true,
896 | "requires": {
897 | "extend-shallow": "^2.0.1",
898 | "is-number": "^3.0.0",
899 | "repeat-string": "^1.6.1",
900 | "to-regex-range": "^2.1.0"
901 | },
902 | "dependencies": {
903 | "extend-shallow": {
904 | "version": "2.0.1",
905 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
906 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
907 | "dev": true,
908 | "requires": {
909 | "is-extendable": "^0.1.0"
910 | }
911 | }
912 | }
913 | },
914 | "find-config": {
915 | "version": "1.0.0",
916 | "resolved": "https://registry.npmjs.org/find-config/-/find-config-1.0.0.tgz",
917 | "integrity": "sha1-6vorm8B/qckOmgw++c7PHMgA9TA=",
918 | "dev": true,
919 | "requires": {
920 | "user-home": "^2.0.0"
921 | }
922 | },
923 | "find-node-modules": {
924 | "version": "2.0.0",
925 | "resolved": "https://registry.npmjs.org/find-node-modules/-/find-node-modules-2.0.0.tgz",
926 | "integrity": "sha512-8MWIBRgJi/WpjjfVXumjPKCtmQ10B+fjx6zmSA+770GMJirLhWIzg8l763rhjl9xaeaHbnxPNRQKq2mgMhr+aw==",
927 | "dev": true,
928 | "requires": {
929 | "findup-sync": "^3.0.0",
930 | "merge": "^1.2.1"
931 | }
932 | },
933 | "find-parent-dir": {
934 | "version": "0.3.0",
935 | "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz",
936 | "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=",
937 | "dev": true
938 | },
939 | "find-root": {
940 | "version": "1.1.0",
941 | "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz",
942 | "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==",
943 | "dev": true
944 | },
945 | "findup-sync": {
946 | "version": "3.0.0",
947 | "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz",
948 | "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==",
949 | "dev": true,
950 | "requires": {
951 | "detect-file": "^1.0.0",
952 | "is-glob": "^4.0.0",
953 | "micromatch": "^3.0.4",
954 | "resolve-dir": "^1.0.1"
955 | }
956 | },
957 | "for-in": {
958 | "version": "1.0.2",
959 | "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
960 | "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
961 | "dev": true
962 | },
963 | "fragment-cache": {
964 | "version": "0.2.1",
965 | "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
966 | "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
967 | "dev": true,
968 | "requires": {
969 | "map-cache": "^0.2.2"
970 | }
971 | },
972 | "fs-extra": {
973 | "version": "8.1.0",
974 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
975 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
976 | "dev": true,
977 | "requires": {
978 | "graceful-fs": "^4.2.0",
979 | "jsonfile": "^4.0.0",
980 | "universalify": "^0.1.0"
981 | }
982 | },
983 | "fs.realpath": {
984 | "version": "1.0.0",
985 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
986 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
987 | "dev": true
988 | },
989 | "get-value": {
990 | "version": "2.0.6",
991 | "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
992 | "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
993 | "dev": true
994 | },
995 | "glob": {
996 | "version": "7.1.4",
997 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
998 | "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
999 | "dev": true,
1000 | "requires": {
1001 | "fs.realpath": "^1.0.0",
1002 | "inflight": "^1.0.4",
1003 | "inherits": "2",
1004 | "minimatch": "^3.0.4",
1005 | "once": "^1.3.0",
1006 | "path-is-absolute": "^1.0.0"
1007 | }
1008 | },
1009 | "global-dirs": {
1010 | "version": "0.1.1",
1011 | "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
1012 | "integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
1013 | "dev": true,
1014 | "optional": true,
1015 | "requires": {
1016 | "ini": "^1.3.4"
1017 | }
1018 | },
1019 | "global-modules": {
1020 | "version": "1.0.0",
1021 | "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
1022 | "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
1023 | "dev": true,
1024 | "requires": {
1025 | "global-prefix": "^1.0.1",
1026 | "is-windows": "^1.0.1",
1027 | "resolve-dir": "^1.0.0"
1028 | }
1029 | },
1030 | "global-prefix": {
1031 | "version": "1.0.2",
1032 | "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
1033 | "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
1034 | "dev": true,
1035 | "requires": {
1036 | "expand-tilde": "^2.0.2",
1037 | "homedir-polyfill": "^1.0.1",
1038 | "ini": "^1.3.4",
1039 | "is-windows": "^1.0.1",
1040 | "which": "^1.2.14"
1041 | }
1042 | },
1043 | "graceful-fs": {
1044 | "version": "4.2.4",
1045 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
1046 | "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==",
1047 | "dev": true
1048 | },
1049 | "has-ansi": {
1050 | "version": "2.0.0",
1051 | "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
1052 | "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
1053 | "dev": true,
1054 | "requires": {
1055 | "ansi-regex": "^2.0.0"
1056 | },
1057 | "dependencies": {
1058 | "ansi-regex": {
1059 | "version": "2.1.1",
1060 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1061 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1062 | "dev": true
1063 | }
1064 | }
1065 | },
1066 | "has-flag": {
1067 | "version": "3.0.0",
1068 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1069 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1070 | "dev": true
1071 | },
1072 | "has-value": {
1073 | "version": "1.0.0",
1074 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
1075 | "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
1076 | "dev": true,
1077 | "requires": {
1078 | "get-value": "^2.0.6",
1079 | "has-values": "^1.0.0",
1080 | "isobject": "^3.0.0"
1081 | }
1082 | },
1083 | "has-values": {
1084 | "version": "1.0.0",
1085 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
1086 | "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
1087 | "dev": true,
1088 | "requires": {
1089 | "is-number": "^3.0.0",
1090 | "kind-of": "^4.0.0"
1091 | },
1092 | "dependencies": {
1093 | "kind-of": {
1094 | "version": "4.0.0",
1095 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
1096 | "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
1097 | "dev": true,
1098 | "requires": {
1099 | "is-buffer": "^1.1.5"
1100 | }
1101 | }
1102 | }
1103 | },
1104 | "homedir-polyfill": {
1105 | "version": "1.0.3",
1106 | "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
1107 | "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
1108 | "dev": true,
1109 | "requires": {
1110 | "parse-passwd": "^1.0.0"
1111 | }
1112 | },
1113 | "husky": {
1114 | "version": "0.13.4",
1115 | "resolved": "https://registry.npmjs.org/husky/-/husky-0.13.4.tgz",
1116 | "integrity": "sha1-SHhcUCjeNFKlHEjBLE+UshJKFAc=",
1117 | "dev": true,
1118 | "requires": {
1119 | "chalk": "^1.1.3",
1120 | "find-parent-dir": "^0.3.0",
1121 | "is-ci": "^1.0.9",
1122 | "normalize-path": "^1.0.0"
1123 | },
1124 | "dependencies": {
1125 | "ansi-regex": {
1126 | "version": "2.1.1",
1127 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
1128 | "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
1129 | "dev": true
1130 | },
1131 | "ansi-styles": {
1132 | "version": "2.2.1",
1133 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
1134 | "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
1135 | "dev": true
1136 | },
1137 | "chalk": {
1138 | "version": "1.1.3",
1139 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
1140 | "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
1141 | "dev": true,
1142 | "requires": {
1143 | "ansi-styles": "^2.2.1",
1144 | "escape-string-regexp": "^1.0.2",
1145 | "has-ansi": "^2.0.0",
1146 | "strip-ansi": "^3.0.0",
1147 | "supports-color": "^2.0.0"
1148 | }
1149 | },
1150 | "strip-ansi": {
1151 | "version": "3.0.1",
1152 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
1153 | "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
1154 | "dev": true,
1155 | "requires": {
1156 | "ansi-regex": "^2.0.0"
1157 | }
1158 | },
1159 | "supports-color": {
1160 | "version": "2.0.0",
1161 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
1162 | "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
1163 | "dev": true
1164 | }
1165 | }
1166 | },
1167 | "i": {
1168 | "version": "0.3.6",
1169 | "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
1170 | "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
1171 | "dev": true
1172 | },
1173 | "iconv-lite": {
1174 | "version": "0.4.24",
1175 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1176 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1177 | "dev": true,
1178 | "requires": {
1179 | "safer-buffer": ">= 2.1.2 < 3"
1180 | }
1181 | },
1182 | "import-fresh": {
1183 | "version": "3.2.1",
1184 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
1185 | "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
1186 | "dev": true,
1187 | "optional": true,
1188 | "requires": {
1189 | "parent-module": "^1.0.0",
1190 | "resolve-from": "^4.0.0"
1191 | },
1192 | "dependencies": {
1193 | "resolve-from": {
1194 | "version": "4.0.0",
1195 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1196 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1197 | "dev": true,
1198 | "optional": true
1199 | }
1200 | }
1201 | },
1202 | "inflight": {
1203 | "version": "1.0.6",
1204 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1205 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1206 | "dev": true,
1207 | "requires": {
1208 | "once": "^1.3.0",
1209 | "wrappy": "1"
1210 | }
1211 | },
1212 | "inherits": {
1213 | "version": "2.0.4",
1214 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1215 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1216 | "dev": true
1217 | },
1218 | "ini": {
1219 | "version": "1.3.5",
1220 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
1221 | "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
1222 | "dev": true
1223 | },
1224 | "inquirer": {
1225 | "version": "6.5.0",
1226 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.0.tgz",
1227 | "integrity": "sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==",
1228 | "dev": true,
1229 | "requires": {
1230 | "ansi-escapes": "^3.2.0",
1231 | "chalk": "^2.4.2",
1232 | "cli-cursor": "^2.1.0",
1233 | "cli-width": "^2.0.0",
1234 | "external-editor": "^3.0.3",
1235 | "figures": "^2.0.0",
1236 | "lodash": "^4.17.12",
1237 | "mute-stream": "0.0.7",
1238 | "run-async": "^2.2.0",
1239 | "rxjs": "^6.4.0",
1240 | "string-width": "^2.1.0",
1241 | "strip-ansi": "^5.1.0",
1242 | "through": "^2.3.6"
1243 | }
1244 | },
1245 | "is-accessor-descriptor": {
1246 | "version": "0.1.6",
1247 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
1248 | "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
1249 | "dev": true,
1250 | "requires": {
1251 | "kind-of": "^3.0.2"
1252 | },
1253 | "dependencies": {
1254 | "kind-of": {
1255 | "version": "3.2.2",
1256 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1257 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1258 | "dev": true,
1259 | "requires": {
1260 | "is-buffer": "^1.1.5"
1261 | }
1262 | }
1263 | }
1264 | },
1265 | "is-arrayish": {
1266 | "version": "0.2.1",
1267 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
1268 | "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
1269 | "dev": true,
1270 | "optional": true
1271 | },
1272 | "is-buffer": {
1273 | "version": "1.1.6",
1274 | "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
1275 | "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
1276 | "dev": true
1277 | },
1278 | "is-ci": {
1279 | "version": "1.2.1",
1280 | "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz",
1281 | "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==",
1282 | "dev": true,
1283 | "requires": {
1284 | "ci-info": "^1.5.0"
1285 | }
1286 | },
1287 | "is-data-descriptor": {
1288 | "version": "0.1.4",
1289 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
1290 | "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
1291 | "dev": true,
1292 | "requires": {
1293 | "kind-of": "^3.0.2"
1294 | },
1295 | "dependencies": {
1296 | "kind-of": {
1297 | "version": "3.2.2",
1298 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1299 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1300 | "dev": true,
1301 | "requires": {
1302 | "is-buffer": "^1.1.5"
1303 | }
1304 | }
1305 | }
1306 | },
1307 | "is-descriptor": {
1308 | "version": "0.1.6",
1309 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
1310 | "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
1311 | "dev": true,
1312 | "requires": {
1313 | "is-accessor-descriptor": "^0.1.6",
1314 | "is-data-descriptor": "^0.1.4",
1315 | "kind-of": "^5.0.0"
1316 | },
1317 | "dependencies": {
1318 | "kind-of": {
1319 | "version": "5.1.0",
1320 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
1321 | "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
1322 | "dev": true
1323 | }
1324 | }
1325 | },
1326 | "is-extendable": {
1327 | "version": "0.1.1",
1328 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
1329 | "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
1330 | "dev": true
1331 | },
1332 | "is-extglob": {
1333 | "version": "2.1.1",
1334 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1335 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1336 | "dev": true
1337 | },
1338 | "is-fullwidth-code-point": {
1339 | "version": "2.0.0",
1340 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz",
1341 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=",
1342 | "dev": true
1343 | },
1344 | "is-glob": {
1345 | "version": "4.0.1",
1346 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1347 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1348 | "dev": true,
1349 | "requires": {
1350 | "is-extglob": "^2.1.1"
1351 | }
1352 | },
1353 | "is-number": {
1354 | "version": "3.0.0",
1355 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
1356 | "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
1357 | "dev": true,
1358 | "requires": {
1359 | "kind-of": "^3.0.2"
1360 | },
1361 | "dependencies": {
1362 | "kind-of": {
1363 | "version": "3.2.2",
1364 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1365 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1366 | "dev": true,
1367 | "requires": {
1368 | "is-buffer": "^1.1.5"
1369 | }
1370 | }
1371 | }
1372 | },
1373 | "is-plain-object": {
1374 | "version": "2.0.4",
1375 | "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
1376 | "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
1377 | "dev": true,
1378 | "requires": {
1379 | "isobject": "^3.0.1"
1380 | }
1381 | },
1382 | "is-utf8": {
1383 | "version": "0.2.1",
1384 | "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
1385 | "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
1386 | "dev": true
1387 | },
1388 | "is-windows": {
1389 | "version": "1.0.2",
1390 | "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
1391 | "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
1392 | "dev": true
1393 | },
1394 | "isarray": {
1395 | "version": "1.0.0",
1396 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
1397 | "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
1398 | "dev": true
1399 | },
1400 | "isexe": {
1401 | "version": "2.0.0",
1402 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1403 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
1404 | "dev": true
1405 | },
1406 | "isobject": {
1407 | "version": "3.0.1",
1408 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
1409 | "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
1410 | "dev": true
1411 | },
1412 | "isstream": {
1413 | "version": "0.1.2",
1414 | "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
1415 | "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
1416 | "dev": true
1417 | },
1418 | "js-tokens": {
1419 | "version": "4.0.0",
1420 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1421 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1422 | "dev": true
1423 | },
1424 | "js-yaml": {
1425 | "version": "3.14.0",
1426 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz",
1427 | "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==",
1428 | "dev": true,
1429 | "requires": {
1430 | "argparse": "^1.0.7",
1431 | "esprima": "^4.0.0"
1432 | }
1433 | },
1434 | "json-parse-better-errors": {
1435 | "version": "1.0.2",
1436 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz",
1437 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
1438 | "dev": true,
1439 | "optional": true
1440 | },
1441 | "jsonfile": {
1442 | "version": "4.0.0",
1443 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
1444 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
1445 | "dev": true,
1446 | "requires": {
1447 | "graceful-fs": "^4.1.6"
1448 | }
1449 | },
1450 | "kind-of": {
1451 | "version": "6.0.3",
1452 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
1453 | "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
1454 | "dev": true
1455 | },
1456 | "lines-and-columns": {
1457 | "version": "1.1.6",
1458 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",
1459 | "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=",
1460 | "dev": true,
1461 | "optional": true
1462 | },
1463 | "lodash": {
1464 | "version": "4.17.19",
1465 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
1466 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
1467 | "dev": true
1468 | },
1469 | "lodash.map": {
1470 | "version": "4.6.0",
1471 | "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz",
1472 | "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=",
1473 | "dev": true
1474 | },
1475 | "longest": {
1476 | "version": "2.0.1",
1477 | "resolved": "https://registry.npmjs.org/longest/-/longest-2.0.1.tgz",
1478 | "integrity": "sha1-eB4YMpaqlPbU2RbcM10NF676I/g=",
1479 | "dev": true
1480 | },
1481 | "map-cache": {
1482 | "version": "0.2.2",
1483 | "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
1484 | "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
1485 | "dev": true
1486 | },
1487 | "map-visit": {
1488 | "version": "1.0.0",
1489 | "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
1490 | "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
1491 | "dev": true,
1492 | "requires": {
1493 | "object-visit": "^1.0.0"
1494 | }
1495 | },
1496 | "merge": {
1497 | "version": "1.2.1",
1498 | "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
1499 | "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
1500 | "dev": true
1501 | },
1502 | "micromatch": {
1503 | "version": "3.1.10",
1504 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
1505 | "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
1506 | "dev": true,
1507 | "requires": {
1508 | "arr-diff": "^4.0.0",
1509 | "array-unique": "^0.3.2",
1510 | "braces": "^2.3.1",
1511 | "define-property": "^2.0.2",
1512 | "extend-shallow": "^3.0.2",
1513 | "extglob": "^2.0.4",
1514 | "fragment-cache": "^0.2.1",
1515 | "kind-of": "^6.0.2",
1516 | "nanomatch": "^1.2.9",
1517 | "object.pick": "^1.3.0",
1518 | "regex-not": "^1.0.0",
1519 | "snapdragon": "^0.8.1",
1520 | "to-regex": "^3.0.2"
1521 | }
1522 | },
1523 | "mimic-fn": {
1524 | "version": "1.2.0",
1525 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz",
1526 | "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==",
1527 | "dev": true
1528 | },
1529 | "minimatch": {
1530 | "version": "3.0.4",
1531 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1532 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1533 | "dev": true,
1534 | "requires": {
1535 | "brace-expansion": "^1.1.7"
1536 | }
1537 | },
1538 | "minimist": {
1539 | "version": "1.2.5",
1540 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
1541 | "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
1542 | "dev": true
1543 | },
1544 | "mixin-deep": {
1545 | "version": "1.3.2",
1546 | "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
1547 | "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
1548 | "dev": true,
1549 | "requires": {
1550 | "for-in": "^1.0.2",
1551 | "is-extendable": "^1.0.1"
1552 | },
1553 | "dependencies": {
1554 | "is-extendable": {
1555 | "version": "1.0.1",
1556 | "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
1557 | "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
1558 | "dev": true,
1559 | "requires": {
1560 | "is-plain-object": "^2.0.4"
1561 | }
1562 | }
1563 | }
1564 | },
1565 | "mkdirp": {
1566 | "version": "0.5.5",
1567 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
1568 | "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
1569 | "dev": true,
1570 | "requires": {
1571 | "minimist": "^1.2.5"
1572 | }
1573 | },
1574 | "mute-stream": {
1575 | "version": "0.0.7",
1576 | "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
1577 | "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
1578 | "dev": true
1579 | },
1580 | "nanomatch": {
1581 | "version": "1.2.13",
1582 | "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
1583 | "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
1584 | "dev": true,
1585 | "requires": {
1586 | "arr-diff": "^4.0.0",
1587 | "array-unique": "^0.3.2",
1588 | "define-property": "^2.0.2",
1589 | "extend-shallow": "^3.0.2",
1590 | "fragment-cache": "^0.2.1",
1591 | "is-windows": "^1.0.2",
1592 | "kind-of": "^6.0.2",
1593 | "object.pick": "^1.3.0",
1594 | "regex-not": "^1.0.0",
1595 | "snapdragon": "^0.8.1",
1596 | "to-regex": "^3.0.1"
1597 | }
1598 | },
1599 | "ncp": {
1600 | "version": "1.0.1",
1601 | "resolved": "https://registry.npmjs.org/ncp/-/ncp-1.0.1.tgz",
1602 | "integrity": "sha1-0VNn5cuHQyuhF9K/gP30Wuz7QkY=",
1603 | "dev": true
1604 | },
1605 | "normalize-path": {
1606 | "version": "1.0.0",
1607 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz",
1608 | "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=",
1609 | "dev": true
1610 | },
1611 | "object-copy": {
1612 | "version": "0.1.0",
1613 | "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
1614 | "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
1615 | "dev": true,
1616 | "requires": {
1617 | "copy-descriptor": "^0.1.0",
1618 | "define-property": "^0.2.5",
1619 | "kind-of": "^3.0.3"
1620 | },
1621 | "dependencies": {
1622 | "define-property": {
1623 | "version": "0.2.5",
1624 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1625 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1626 | "dev": true,
1627 | "requires": {
1628 | "is-descriptor": "^0.1.0"
1629 | }
1630 | },
1631 | "kind-of": {
1632 | "version": "3.2.2",
1633 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
1634 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
1635 | "dev": true,
1636 | "requires": {
1637 | "is-buffer": "^1.1.5"
1638 | }
1639 | }
1640 | }
1641 | },
1642 | "object-visit": {
1643 | "version": "1.0.1",
1644 | "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
1645 | "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
1646 | "dev": true,
1647 | "requires": {
1648 | "isobject": "^3.0.0"
1649 | }
1650 | },
1651 | "object.pick": {
1652 | "version": "1.3.0",
1653 | "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
1654 | "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
1655 | "dev": true,
1656 | "requires": {
1657 | "isobject": "^3.0.1"
1658 | }
1659 | },
1660 | "once": {
1661 | "version": "1.4.0",
1662 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1663 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1664 | "dev": true,
1665 | "requires": {
1666 | "wrappy": "1"
1667 | }
1668 | },
1669 | "onetime": {
1670 | "version": "2.0.1",
1671 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz",
1672 | "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=",
1673 | "dev": true,
1674 | "requires": {
1675 | "mimic-fn": "^1.0.0"
1676 | }
1677 | },
1678 | "os-homedir": {
1679 | "version": "1.0.2",
1680 | "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
1681 | "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
1682 | "dev": true
1683 | },
1684 | "os-tmpdir": {
1685 | "version": "1.0.2",
1686 | "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
1687 | "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
1688 | "dev": true
1689 | },
1690 | "parent-module": {
1691 | "version": "1.0.1",
1692 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1693 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1694 | "dev": true,
1695 | "optional": true,
1696 | "requires": {
1697 | "callsites": "^3.0.0"
1698 | }
1699 | },
1700 | "parse-json": {
1701 | "version": "5.0.1",
1702 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.1.tgz",
1703 | "integrity": "sha512-ztoZ4/DYeXQq4E21v169sC8qWINGpcosGv9XhTDvg9/hWvx/zrFkc9BiWxR58OJLHGk28j5BL0SDLeV2WmFZlQ==",
1704 | "dev": true,
1705 | "optional": true,
1706 | "requires": {
1707 | "@babel/code-frame": "^7.0.0",
1708 | "error-ex": "^1.3.1",
1709 | "json-parse-better-errors": "^1.0.1",
1710 | "lines-and-columns": "^1.1.6"
1711 | }
1712 | },
1713 | "parse-passwd": {
1714 | "version": "1.0.0",
1715 | "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
1716 | "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
1717 | "dev": true
1718 | },
1719 | "pascalcase": {
1720 | "version": "0.1.1",
1721 | "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
1722 | "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
1723 | "dev": true
1724 | },
1725 | "path-is-absolute": {
1726 | "version": "1.0.1",
1727 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1728 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1729 | "dev": true
1730 | },
1731 | "path-parse": {
1732 | "version": "1.0.6",
1733 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1734 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1735 | "dev": true
1736 | },
1737 | "path-type": {
1738 | "version": "4.0.0",
1739 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
1740 | "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
1741 | "dev": true,
1742 | "optional": true
1743 | },
1744 | "pkginfo": {
1745 | "version": "0.4.1",
1746 | "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
1747 | "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
1748 | "dev": true
1749 | },
1750 | "posix-character-classes": {
1751 | "version": "0.1.1",
1752 | "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
1753 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
1754 | "dev": true
1755 | },
1756 | "prompt": {
1757 | "version": "1.0.0",
1758 | "resolved": "https://registry.npmjs.org/prompt/-/prompt-1.0.0.tgz",
1759 | "integrity": "sha1-jlcSPDlquYiJf7Mn/Trtw+c15P4=",
1760 | "dev": true,
1761 | "requires": {
1762 | "colors": "^1.1.2",
1763 | "pkginfo": "0.x.x",
1764 | "read": "1.0.x",
1765 | "revalidator": "0.1.x",
1766 | "utile": "0.3.x",
1767 | "winston": "2.1.x"
1768 | }
1769 | },
1770 | "read": {
1771 | "version": "1.0.7",
1772 | "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
1773 | "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
1774 | "dev": true,
1775 | "requires": {
1776 | "mute-stream": "~0.0.4"
1777 | }
1778 | },
1779 | "regex-not": {
1780 | "version": "1.0.2",
1781 | "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
1782 | "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
1783 | "dev": true,
1784 | "requires": {
1785 | "extend-shallow": "^3.0.2",
1786 | "safe-regex": "^1.1.0"
1787 | }
1788 | },
1789 | "repeat-element": {
1790 | "version": "1.1.3",
1791 | "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
1792 | "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
1793 | "dev": true
1794 | },
1795 | "repeat-string": {
1796 | "version": "1.6.1",
1797 | "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
1798 | "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
1799 | "dev": true
1800 | },
1801 | "resolve": {
1802 | "version": "1.17.0",
1803 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz",
1804 | "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==",
1805 | "dev": true,
1806 | "requires": {
1807 | "path-parse": "^1.0.6"
1808 | }
1809 | },
1810 | "resolve-dir": {
1811 | "version": "1.0.1",
1812 | "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
1813 | "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
1814 | "dev": true,
1815 | "requires": {
1816 | "expand-tilde": "^2.0.0",
1817 | "global-modules": "^1.0.0"
1818 | }
1819 | },
1820 | "resolve-from": {
1821 | "version": "5.0.0",
1822 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
1823 | "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
1824 | "dev": true,
1825 | "optional": true
1826 | },
1827 | "resolve-global": {
1828 | "version": "1.0.0",
1829 | "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
1830 | "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
1831 | "dev": true,
1832 | "optional": true,
1833 | "requires": {
1834 | "global-dirs": "^0.1.1"
1835 | }
1836 | },
1837 | "resolve-url": {
1838 | "version": "0.2.1",
1839 | "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
1840 | "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
1841 | "dev": true
1842 | },
1843 | "restore-cursor": {
1844 | "version": "2.0.0",
1845 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz",
1846 | "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=",
1847 | "dev": true,
1848 | "requires": {
1849 | "onetime": "^2.0.0",
1850 | "signal-exit": "^3.0.2"
1851 | }
1852 | },
1853 | "ret": {
1854 | "version": "0.1.15",
1855 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
1856 | "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
1857 | "dev": true
1858 | },
1859 | "revalidator": {
1860 | "version": "0.1.8",
1861 | "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
1862 | "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=",
1863 | "dev": true
1864 | },
1865 | "rimraf": {
1866 | "version": "3.0.0",
1867 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.0.tgz",
1868 | "integrity": "sha512-NDGVxTsjqfunkds7CqsOiEnxln4Bo7Nddl3XhS4pXg5OzwkLqJ971ZVAAnB+DDLnF76N+VnDEiBHaVV8I06SUg==",
1869 | "dev": true,
1870 | "requires": {
1871 | "glob": "^7.1.3"
1872 | }
1873 | },
1874 | "run-async": {
1875 | "version": "2.4.1",
1876 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz",
1877 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==",
1878 | "dev": true
1879 | },
1880 | "rxjs": {
1881 | "version": "6.6.2",
1882 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.2.tgz",
1883 | "integrity": "sha512-BHdBMVoWC2sL26w//BCu3YzKT4s2jip/WhwsGEDmeKYBhKDZeYezVUnHatYB7L85v5xs0BAQmg6BEYJEKxBabg==",
1884 | "dev": true,
1885 | "requires": {
1886 | "tslib": "^1.9.0"
1887 | }
1888 | },
1889 | "safe-regex": {
1890 | "version": "1.1.0",
1891 | "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
1892 | "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
1893 | "dev": true,
1894 | "requires": {
1895 | "ret": "~0.1.10"
1896 | }
1897 | },
1898 | "safer-buffer": {
1899 | "version": "2.1.2",
1900 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1901 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
1902 | "dev": true
1903 | },
1904 | "set-value": {
1905 | "version": "2.0.1",
1906 | "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
1907 | "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
1908 | "dev": true,
1909 | "requires": {
1910 | "extend-shallow": "^2.0.1",
1911 | "is-extendable": "^0.1.1",
1912 | "is-plain-object": "^2.0.3",
1913 | "split-string": "^3.0.1"
1914 | },
1915 | "dependencies": {
1916 | "extend-shallow": {
1917 | "version": "2.0.1",
1918 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1919 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1920 | "dev": true,
1921 | "requires": {
1922 | "is-extendable": "^0.1.0"
1923 | }
1924 | }
1925 | }
1926 | },
1927 | "signal-exit": {
1928 | "version": "3.0.3",
1929 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz",
1930 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==",
1931 | "dev": true
1932 | },
1933 | "snapdragon": {
1934 | "version": "0.8.2",
1935 | "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
1936 | "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
1937 | "dev": true,
1938 | "requires": {
1939 | "base": "^0.11.1",
1940 | "debug": "^2.2.0",
1941 | "define-property": "^0.2.5",
1942 | "extend-shallow": "^2.0.1",
1943 | "map-cache": "^0.2.2",
1944 | "source-map": "^0.5.6",
1945 | "source-map-resolve": "^0.5.0",
1946 | "use": "^3.1.0"
1947 | },
1948 | "dependencies": {
1949 | "debug": {
1950 | "version": "2.6.9",
1951 | "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
1952 | "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
1953 | "dev": true,
1954 | "requires": {
1955 | "ms": "2.0.0"
1956 | }
1957 | },
1958 | "define-property": {
1959 | "version": "0.2.5",
1960 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
1961 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
1962 | "dev": true,
1963 | "requires": {
1964 | "is-descriptor": "^0.1.0"
1965 | }
1966 | },
1967 | "extend-shallow": {
1968 | "version": "2.0.1",
1969 | "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
1970 | "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
1971 | "dev": true,
1972 | "requires": {
1973 | "is-extendable": "^0.1.0"
1974 | }
1975 | },
1976 | "ms": {
1977 | "version": "2.0.0",
1978 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1979 | "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
1980 | "dev": true
1981 | },
1982 | "source-map": {
1983 | "version": "0.5.7",
1984 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
1985 | "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
1986 | "dev": true
1987 | }
1988 | }
1989 | },
1990 | "snapdragon-node": {
1991 | "version": "2.1.1",
1992 | "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
1993 | "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
1994 | "dev": true,
1995 | "requires": {
1996 | "define-property": "^1.0.0",
1997 | "isobject": "^3.0.0",
1998 | "snapdragon-util": "^3.0.1"
1999 | },
2000 | "dependencies": {
2001 | "define-property": {
2002 | "version": "1.0.0",
2003 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
2004 | "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
2005 | "dev": true,
2006 | "requires": {
2007 | "is-descriptor": "^1.0.0"
2008 | }
2009 | },
2010 | "is-accessor-descriptor": {
2011 | "version": "1.0.0",
2012 | "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
2013 | "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
2014 | "dev": true,
2015 | "requires": {
2016 | "kind-of": "^6.0.0"
2017 | }
2018 | },
2019 | "is-data-descriptor": {
2020 | "version": "1.0.0",
2021 | "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
2022 | "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
2023 | "dev": true,
2024 | "requires": {
2025 | "kind-of": "^6.0.0"
2026 | }
2027 | },
2028 | "is-descriptor": {
2029 | "version": "1.0.2",
2030 | "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
2031 | "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
2032 | "dev": true,
2033 | "requires": {
2034 | "is-accessor-descriptor": "^1.0.0",
2035 | "is-data-descriptor": "^1.0.0",
2036 | "kind-of": "^6.0.2"
2037 | }
2038 | }
2039 | }
2040 | },
2041 | "snapdragon-util": {
2042 | "version": "3.0.1",
2043 | "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
2044 | "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
2045 | "dev": true,
2046 | "requires": {
2047 | "kind-of": "^3.2.0"
2048 | },
2049 | "dependencies": {
2050 | "kind-of": {
2051 | "version": "3.2.2",
2052 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2053 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2054 | "dev": true,
2055 | "requires": {
2056 | "is-buffer": "^1.1.5"
2057 | }
2058 | }
2059 | }
2060 | },
2061 | "source-map-resolve": {
2062 | "version": "0.5.3",
2063 | "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz",
2064 | "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==",
2065 | "dev": true,
2066 | "requires": {
2067 | "atob": "^2.1.2",
2068 | "decode-uri-component": "^0.2.0",
2069 | "resolve-url": "^0.2.1",
2070 | "source-map-url": "^0.4.0",
2071 | "urix": "^0.1.0"
2072 | }
2073 | },
2074 | "source-map-url": {
2075 | "version": "0.4.0",
2076 | "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
2077 | "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
2078 | "dev": true
2079 | },
2080 | "split-string": {
2081 | "version": "3.1.0",
2082 | "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
2083 | "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
2084 | "dev": true,
2085 | "requires": {
2086 | "extend-shallow": "^3.0.0"
2087 | }
2088 | },
2089 | "sprintf-js": {
2090 | "version": "1.0.3",
2091 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
2092 | "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
2093 | "dev": true
2094 | },
2095 | "stack-trace": {
2096 | "version": "0.0.10",
2097 | "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
2098 | "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
2099 | "dev": true
2100 | },
2101 | "static-extend": {
2102 | "version": "0.1.2",
2103 | "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
2104 | "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
2105 | "dev": true,
2106 | "requires": {
2107 | "define-property": "^0.2.5",
2108 | "object-copy": "^0.1.0"
2109 | },
2110 | "dependencies": {
2111 | "define-property": {
2112 | "version": "0.2.5",
2113 | "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
2114 | "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
2115 | "dev": true,
2116 | "requires": {
2117 | "is-descriptor": "^0.1.0"
2118 | }
2119 | }
2120 | }
2121 | },
2122 | "string-width": {
2123 | "version": "2.1.1",
2124 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
2125 | "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==",
2126 | "dev": true,
2127 | "requires": {
2128 | "is-fullwidth-code-point": "^2.0.0",
2129 | "strip-ansi": "^4.0.0"
2130 | },
2131 | "dependencies": {
2132 | "strip-ansi": {
2133 | "version": "4.0.0",
2134 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
2135 | "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
2136 | "dev": true,
2137 | "requires": {
2138 | "ansi-regex": "^3.0.0"
2139 | }
2140 | }
2141 | }
2142 | },
2143 | "strip-ansi": {
2144 | "version": "5.2.0",
2145 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
2146 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==",
2147 | "dev": true,
2148 | "requires": {
2149 | "ansi-regex": "^4.1.0"
2150 | },
2151 | "dependencies": {
2152 | "ansi-regex": {
2153 | "version": "4.1.0",
2154 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz",
2155 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==",
2156 | "dev": true
2157 | }
2158 | }
2159 | },
2160 | "strip-bom": {
2161 | "version": "4.0.0",
2162 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
2163 | "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
2164 | "dev": true
2165 | },
2166 | "strip-json-comments": {
2167 | "version": "3.0.1",
2168 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
2169 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==",
2170 | "dev": true
2171 | },
2172 | "supports-color": {
2173 | "version": "5.5.0",
2174 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
2175 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
2176 | "dev": true,
2177 | "requires": {
2178 | "has-flag": "^3.0.0"
2179 | }
2180 | },
2181 | "temp": {
2182 | "version": "0.9.1",
2183 | "resolved": "https://registry.npmjs.org/temp/-/temp-0.9.1.tgz",
2184 | "integrity": "sha512-WMuOgiua1xb5R56lE0eH6ivpVmg/lq2OHm4+LtT/xtEtPQ+sz6N3bBM6WZ5FvO1lO4IKIOb43qnhoc4qxP5OeA==",
2185 | "dev": true,
2186 | "requires": {
2187 | "rimraf": "~2.6.2"
2188 | },
2189 | "dependencies": {
2190 | "rimraf": {
2191 | "version": "2.6.3",
2192 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
2193 | "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
2194 | "dev": true,
2195 | "requires": {
2196 | "glob": "^7.1.3"
2197 | }
2198 | }
2199 | }
2200 | },
2201 | "through": {
2202 | "version": "2.3.8",
2203 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
2204 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
2205 | "dev": true
2206 | },
2207 | "tmp": {
2208 | "version": "0.0.33",
2209 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
2210 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
2211 | "dev": true,
2212 | "requires": {
2213 | "os-tmpdir": "~1.0.2"
2214 | }
2215 | },
2216 | "to-object-path": {
2217 | "version": "0.3.0",
2218 | "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
2219 | "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
2220 | "dev": true,
2221 | "requires": {
2222 | "kind-of": "^3.0.2"
2223 | },
2224 | "dependencies": {
2225 | "kind-of": {
2226 | "version": "3.2.2",
2227 | "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
2228 | "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
2229 | "dev": true,
2230 | "requires": {
2231 | "is-buffer": "^1.1.5"
2232 | }
2233 | }
2234 | }
2235 | },
2236 | "to-regex": {
2237 | "version": "3.0.2",
2238 | "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
2239 | "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
2240 | "dev": true,
2241 | "requires": {
2242 | "define-property": "^2.0.2",
2243 | "extend-shallow": "^3.0.2",
2244 | "regex-not": "^1.0.2",
2245 | "safe-regex": "^1.1.0"
2246 | }
2247 | },
2248 | "to-regex-range": {
2249 | "version": "2.1.1",
2250 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
2251 | "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
2252 | "dev": true,
2253 | "requires": {
2254 | "is-number": "^3.0.0",
2255 | "repeat-string": "^1.6.1"
2256 | }
2257 | },
2258 | "tslib": {
2259 | "version": "1.13.0",
2260 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz",
2261 | "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==",
2262 | "dev": true
2263 | },
2264 | "tslint": {
2265 | "version": "5.20.1",
2266 | "resolved": "https://registry.npmjs.org/tslint/-/tslint-5.20.1.tgz",
2267 | "integrity": "sha512-EcMxhzCFt8k+/UP5r8waCf/lzmeSyVlqxqMEDQE7rWYiQky8KpIBz1JAoYXfROHrPZ1XXd43q8yQnULOLiBRQg==",
2268 | "dev": true,
2269 | "requires": {
2270 | "@babel/code-frame": "^7.0.0",
2271 | "builtin-modules": "^1.1.1",
2272 | "chalk": "^2.3.0",
2273 | "commander": "^2.12.1",
2274 | "diff": "^4.0.1",
2275 | "glob": "^7.1.1",
2276 | "js-yaml": "^3.13.1",
2277 | "minimatch": "^3.0.4",
2278 | "mkdirp": "^0.5.1",
2279 | "resolve": "^1.3.2",
2280 | "semver": "^5.3.0",
2281 | "tslib": "^1.8.0",
2282 | "tsutils": "^2.29.0"
2283 | },
2284 | "dependencies": {
2285 | "semver": {
2286 | "version": "5.7.1",
2287 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2288 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2289 | "dev": true
2290 | }
2291 | }
2292 | },
2293 | "tsutils": {
2294 | "version": "2.29.0",
2295 | "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
2296 | "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
2297 | "dev": true,
2298 | "requires": {
2299 | "tslib": "^1.8.1"
2300 | }
2301 | },
2302 | "typescript": {
2303 | "version": "2.3.4",
2304 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-2.3.4.tgz",
2305 | "integrity": "sha1-PTgyGCgjHkNPKHUUlZw3qCtin0I=",
2306 | "dev": true
2307 | },
2308 | "union-value": {
2309 | "version": "1.0.1",
2310 | "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
2311 | "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
2312 | "dev": true,
2313 | "requires": {
2314 | "arr-union": "^3.1.0",
2315 | "get-value": "^2.0.6",
2316 | "is-extendable": "^0.1.1",
2317 | "set-value": "^2.0.1"
2318 | }
2319 | },
2320 | "universalify": {
2321 | "version": "0.1.2",
2322 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
2323 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
2324 | "dev": true
2325 | },
2326 | "unset-value": {
2327 | "version": "1.0.0",
2328 | "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
2329 | "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
2330 | "dev": true,
2331 | "requires": {
2332 | "has-value": "^0.3.1",
2333 | "isobject": "^3.0.0"
2334 | },
2335 | "dependencies": {
2336 | "has-value": {
2337 | "version": "0.3.1",
2338 | "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
2339 | "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
2340 | "dev": true,
2341 | "requires": {
2342 | "get-value": "^2.0.3",
2343 | "has-values": "^0.1.4",
2344 | "isobject": "^2.0.0"
2345 | },
2346 | "dependencies": {
2347 | "isobject": {
2348 | "version": "2.1.0",
2349 | "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
2350 | "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
2351 | "dev": true,
2352 | "requires": {
2353 | "isarray": "1.0.0"
2354 | }
2355 | }
2356 | }
2357 | },
2358 | "has-values": {
2359 | "version": "0.1.4",
2360 | "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
2361 | "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
2362 | "dev": true
2363 | }
2364 | }
2365 | },
2366 | "urix": {
2367 | "version": "0.1.0",
2368 | "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
2369 | "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
2370 | "dev": true
2371 | },
2372 | "use": {
2373 | "version": "3.1.1",
2374 | "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
2375 | "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
2376 | "dev": true
2377 | },
2378 | "user-home": {
2379 | "version": "2.0.0",
2380 | "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
2381 | "integrity": "sha1-nHC/2Babwdy/SGBODwS4tJzenp8=",
2382 | "dev": true,
2383 | "requires": {
2384 | "os-homedir": "^1.0.0"
2385 | }
2386 | },
2387 | "utile": {
2388 | "version": "0.3.0",
2389 | "resolved": "https://registry.npmjs.org/utile/-/utile-0.3.0.tgz",
2390 | "integrity": "sha1-E1LDQOuCDk2N26A5pPv6oy7U7zo=",
2391 | "dev": true,
2392 | "requires": {
2393 | "async": "~0.9.0",
2394 | "deep-equal": "~0.2.1",
2395 | "i": "0.3.x",
2396 | "mkdirp": "0.x.x",
2397 | "ncp": "1.0.x",
2398 | "rimraf": "2.x.x"
2399 | },
2400 | "dependencies": {
2401 | "rimraf": {
2402 | "version": "2.7.1",
2403 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
2404 | "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
2405 | "dev": true,
2406 | "requires": {
2407 | "glob": "^7.1.3"
2408 | }
2409 | }
2410 | }
2411 | },
2412 | "which": {
2413 | "version": "1.3.1",
2414 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
2415 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
2416 | "dev": true,
2417 | "requires": {
2418 | "isexe": "^2.0.0"
2419 | }
2420 | },
2421 | "winston": {
2422 | "version": "2.1.1",
2423 | "resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz",
2424 | "integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=",
2425 | "dev": true,
2426 | "requires": {
2427 | "async": "~1.0.0",
2428 | "colors": "1.0.x",
2429 | "cycle": "1.0.x",
2430 | "eyes": "0.1.x",
2431 | "isstream": "0.1.x",
2432 | "pkginfo": "0.3.x",
2433 | "stack-trace": "0.0.x"
2434 | },
2435 | "dependencies": {
2436 | "async": {
2437 | "version": "1.0.0",
2438 | "resolved": "https://registry.npmjs.org/async/-/async-1.0.0.tgz",
2439 | "integrity": "sha1-+PwEyjoTeErenhZBr5hXjPvWR6k=",
2440 | "dev": true
2441 | },
2442 | "colors": {
2443 | "version": "1.0.3",
2444 | "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
2445 | "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
2446 | "dev": true
2447 | },
2448 | "pkginfo": {
2449 | "version": "0.3.1",
2450 | "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
2451 | "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=",
2452 | "dev": true
2453 | }
2454 | }
2455 | },
2456 | "word-wrap": {
2457 | "version": "1.2.3",
2458 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2459 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2460 | "dev": true
2461 | },
2462 | "wrappy": {
2463 | "version": "1.0.2",
2464 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2465 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
2466 | "dev": true
2467 | },
2468 | "yaml": {
2469 | "version": "1.10.0",
2470 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz",
2471 | "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==",
2472 | "dev": true,
2473 | "optional": true
2474 | }
2475 | }
2476 | }
2477 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-pdf-view",
3 | "version": "0.0.0-development",
4 | "description": "A NativeScript plugin to display PDF files on iOS and Android",
5 | "main": "index.js",
6 | "scripts": {
7 | "commit": "git-cz",
8 | "commitmsg": "cz-customizable-ghooks",
9 | "setup": "cd src && npm ci && cd demo && npm ci && cd .. && npm run build && cd demo && tns plugin add .. && cd .."
10 | },
11 | "release": {
12 | "generateNotes": "./node_modules/@semantic-release/release-notes-generator"
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "https://github.com/madmas/nativescript-pdf-view.git"
17 | },
18 | "author": "Markus Schlichting",
19 | "keywords": [
20 | "Android",
21 | "JavaScript",
22 | "NativeScript",
23 | "PDF",
24 | "View",
25 | "iOS"
26 | ],
27 | "contributors": [
28 | {
29 | "name": "Merott Movahedi",
30 | "email": "merott@merott.com"
31 | },
32 | {
33 | "name": "Markus Schlichting",
34 | "email": "m.schlichting@mynethome.de"
35 | }
36 | ],
37 | "bugs": {
38 | "url": "https://github.com/madmas/nativescript-pdf-view/issues"
39 | },
40 | "license": "MIT",
41 | "homepage": "https://github.com/madmas/nativescript-pdf-view#readme",
42 | "readmeFilename": "README.md",
43 | "devDependencies": {
44 | "commitizen": "^4.1.2",
45 | "cz-customizable": "^6.3.0",
46 | "cz-customizable-ghooks": "^1.5.0",
47 | "husky": "^0.13.4",
48 | "prompt": "~1.0.0",
49 | "rimraf": "3.0.0",
50 | "tslint": "^5.2.0",
51 | "typescript": "~2.3.2"
52 | },
53 | "config": {
54 | "commitizen": {
55 | "path": "./node_modules/cz-customizable"
56 | },
57 | "cz-customizable": {
58 | "config": ".cz-config.js"
59 | }
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/src/.gitignore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/madmas/nativescript-pdf-view/5728eb73314ff0c1acf15c1e91c8a2ddaef84c2a/src/.gitignore
--------------------------------------------------------------------------------
/src/.npmignore:
--------------------------------------------------------------------------------
1 | pdf-view.android.ts
2 | pdf-view.ios.ts
3 | pdf-view.common.ts
--------------------------------------------------------------------------------
/src/AndroidPdfViewer.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | declare module com {
4 | export module github {
5 | export module barteksc {
6 | export module pdfviewer {
7 | export class PDFView {
8 | public static class: java.lang.Class;
9 | public static DEFAULT_MAX_SCALE: number;
10 | public static DEFAULT_MID_SCALE: number;
11 | public static DEFAULT_MIN_SCALE: number;
12 | public toRealScale(param0: number): number;
13 | public isFitEachPage(): boolean;
14 | public recycle(): void;
15 | public isZooming(): boolean;
16 | public moveRelativeTo(param0: number, param1: number): void;
17 | public fromUri(param0: globalAndroid.net.Uri): com.github.barteksc.pdfviewer.PDFView.Configurator;
18 | public zoomWithAnimation(param0: number): void;
19 | public getMaxZoom(): number;
20 | public doRenderDuringScale(): boolean;
21 | public constructor(param0: globalAndroid.content.Context, param1: globalAndroid.util.AttributeSet);
22 | public jumpTo(param0: number): void;
23 | public isAnnotationRendering(): boolean;
24 | public zoomWithAnimation(param0: number, param1: number, param2: number): void;
25 | public zoomCenteredRelativeTo(param0: number, param1: globalAndroid.graphics.PointF): void;
26 | public enableRenderDuringScale(param0: boolean): void;
27 | public isBestQuality(): boolean;
28 | public setPageSnap(param0: boolean): void;
29 | public jumpTo(param0: number, param1: boolean): void;
30 | public performPageSnap(): void;
31 | public onDraw(param0: globalAndroid.graphics.Canvas): void;
32 | public enableAnnotationRendering(param0: boolean): void;
33 | public fromAsset(param0: string): com.github.barteksc.pdfviewer.PDFView.Configurator;
34 | public setNightMode(param0: boolean): void;
35 | public computeScroll(): void;
36 | public getCurrentPage(): number;
37 | public setSwipeEnabled(param0: boolean): void;
38 | public canScrollVertically(param0: number): boolean;
39 | public isPageFlingEnabled(): boolean;
40 | public getCurrentYOffset(): number;
41 | public getMinZoom(): number;
42 | public fromFile(param0: java.io.File): com.github.barteksc.pdfviewer.PDFView.Configurator;
43 | public documentFitsView(): boolean;
44 | public isSwipeVertical(): boolean;
45 | public getMidZoom(): number;
46 | public setPositionOffset(param0: number, param1: boolean): void;
47 | public isSwipeEnabled(): boolean;
48 | public setMinZoom(param0: number): void;
49 | public useBestQuality(param0: boolean): void;
50 | public isAutoSpacingEnabled(): boolean;
51 | public getCurrentXOffset(): number;
52 | public zoomCenteredTo(param0: number, param1: globalAndroid.graphics.PointF): void;
53 | public setMaxZoom(param0: number): void;
54 | public fitToWidth(param0: number): void;
55 | public setPositionOffset(param0: number): void;
56 | public setPageFling(param0: boolean): void;
57 | public fromBytes(param0: native.Array): com.github.barteksc.pdfviewer.PDFView.Configurator;
58 | public getZoom(): number;
59 | public pageFillsScreen(): boolean;
60 | public isPageSnap(): boolean;
61 | public onDetachedFromWindow(): void;
62 | public moveTo(param0: number, param1: number): void;
63 | public moveTo(param0: number, param1: number, param2: boolean): void;
64 | public getPageAtPositionOffset(param0: number): number;
65 | public fromStream(param0: java.io.InputStream): com.github.barteksc.pdfviewer.PDFView.Configurator;
66 | public setMidZoom(param0: number): void;
67 | public resetZoom(): void;
68 | public canScrollHorizontally(param0: number): boolean;
69 | public zoomTo(param0: number): void;
70 | public onSizeChanged(param0: number, param1: number, param2: number, param3: number): void;
71 | public getPositionOffset(): number;
72 | public getPageCount(): number;
73 | public loadPages(): void;
74 | public stopFling(): void;
75 | public enableAntialiasing(param0: boolean): void;
76 | public isRecycled(): boolean;
77 | public toCurrentScale(param0: number): number;
78 | public isAntialiasing(): boolean;
79 | public resetZoomWithAnimation(): void;
80 | public getSpacingPx(): number;
81 | }
82 | export module PDFView {
83 | export class Configurator {
84 | public static class: java.lang.Class;
85 | public enableAnnotationRendering(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
86 | public nightMode(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
87 | public spacing(param0: number): com.github.barteksc.pdfviewer.PDFView.Configurator;
88 | public fitEachPage(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
89 | public pageSnap(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
90 | public enableAntialiasing(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
91 | public load(): void;
92 | public disableLongpress(): com.github.barteksc.pdfviewer.PDFView.Configurator;
93 | public enableSwipe(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
94 | public defaultPage(param0: number): com.github.barteksc.pdfviewer.PDFView.Configurator;
95 | public swipeHorizontal(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
96 | public enableDoubletap(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
97 | public password(param0: string): com.github.barteksc.pdfviewer.PDFView.Configurator;
98 | public onLoad(param0: com.github.barteksc.pdfviewer.listener.OnLoadCompleteListener): com.github.barteksc.pdfviewer.PDFView.Configurator;
99 | public autoSpacing(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
100 | public pageFling(param0: boolean): com.github.barteksc.pdfviewer.PDFView.Configurator;
101 | public pages(param0: native.Array): com.github.barteksc.pdfviewer.PDFView.Configurator;
102 | }
103 | export class ScrollDir {
104 | public static class: java.lang.Class;
105 | public static NONE: com.github.barteksc.pdfviewer.PDFView.ScrollDir;
106 | public static START: com.github.barteksc.pdfviewer.PDFView.ScrollDir;
107 | public static END: com.github.barteksc.pdfviewer.PDFView.ScrollDir;
108 | public static values(): native.Array;
109 | public static valueOf(param0: string): com.github.barteksc.pdfviewer.PDFView.ScrollDir;
110 | }
111 | export class State {
112 | public static class: java.lang.Class;
113 | public static DEFAULT: com.github.barteksc.pdfviewer.PDFView.State;
114 | public static LOADED: com.github.barteksc.pdfviewer.PDFView.State;
115 | public static SHOWN: com.github.barteksc.pdfviewer.PDFView.State;
116 | public static ERROR: com.github.barteksc.pdfviewer.PDFView.State;
117 | public static valueOf(param0: string): com.github.barteksc.pdfviewer.PDFView.State;
118 | public static values(): native.Array;
119 | }
120 | }
121 |
122 | export module listener {
123 | export interface OnErrorListener {
124 | onError(throwable: java.lang.Throwable): void;
125 | }
126 |
127 | interface IOnLoadCompleteListener {
128 | /**
129 | * Called when the PDF is loaded
130 | * @param numPages the number of pages in this PDF file
131 | */
132 | loadComplete(numPages: number): void;
133 | }
134 |
135 | export class OnLoadCompleteListener implements IOnLoadCompleteListener {
136 | constructor(implementation: IOnLoadCompleteListener);
137 |
138 | /**
139 | * Called when the PDF is loaded
140 | * @param numPages the number of pages in this PDF file
141 | */
142 | loadComplete(numPages: number): void;
143 | }
144 | }
145 | }
146 | }
147 | }
148 | }
149 |
150 | import pdfviewer = com.github.barteksc.pdfviewer;
151 |
152 | declare class Configurator {
153 | load(): void;
154 | defaultPage(pageNumber: number): this;
155 | pages(...pageNumbers: number[]): this;
156 | enableAnnotationRendering(enable: boolean): this;
157 | enableDoubletap(enable: boolean): this;
158 | enableSwipe(enable: boolean): this;
159 | fitEachPage(enable: boolean): this;
160 | spacing(spacing: number): this;
161 | onLoad(
162 | onLoadCompleteListener: pdfviewer.listener.OnLoadCompleteListener
163 | ): this;
164 | autoSpacing(enable: boolean): this;
165 | swipeHorizontal(horizontal: boolean): this;
166 | }
167 |
--------------------------------------------------------------------------------
/src/index.d.ts:
--------------------------------------------------------------------------------
1 | import { PDFViewCommon } from './pdf-view.common';
2 |
3 | export declare class PDFView extends PDFViewCommon {
4 | public loadPDF(src: string): void;
5 |
6 | public static loadEvent: string;
7 | public static notifyOfEvent(
8 | eventName: string,
9 | pdfViewRef: WeakRef,
10 | ): void;
11 | }
12 |
--------------------------------------------------------------------------------
/src/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "nativescript-pdf-view",
3 | "version": "0.0.0-development",
4 | "description": "A NativeScript plugin to display PDF files on iOS and Android",
5 | "main": "pdf-view",
6 | "typings": "index.d.ts",
7 | "nativescript": {
8 | "platforms": {
9 | "android": "3.0.0",
10 | "ios": "3.0.0"
11 | }
12 | },
13 | "scripts": {
14 | "build": "tsc",
15 | "commit": "git-cz",
16 | "commitmsg": "cz-customizable-ghooks",
17 | "demo.ios": "npm run preparedemo && cd ../demo && tns run ios --emulator",
18 | "demo.ios.device": "npm run preparedemo && cd ../demo && tns run ios",
19 | "demo.android": "npm run preparedemo && cd ../demo && tns run android --emulator",
20 | "lint": "tslint --project tsconfig.json -t stylish",
21 | "test.ios": "cd ../demo && tns test ios --emulator",
22 | "test.ios.device": "cd ../demo && tns test ios",
23 | "test.android": "cd ../demo && tns test android",
24 | "preparedemo": "npm run build && cd ../demo && tns plugin remove nativescript-pdf-view && tns plugin add ../src && tns install",
25 | "prepare": "npm run build",
26 | "semantic-release": "semantic-release",
27 | "setup": "npm ci && cd demo && npm ci && cd .. && npm run build && cd demo && tns plugin add .. && cd .."
28 | },
29 | "release": {
30 | "generateNotes": "./node_modules/@semantic-release/release-notes-generator"
31 | },
32 | "repository": {
33 | "type": "git",
34 | "url": "https://github.com/madmas/nativescript-pdf-view.git"
35 | },
36 | "keywords": [
37 | "Android",
38 | "JavaScript",
39 | "NativeScript",
40 | "PDF",
41 | "View",
42 | "iOS"
43 | ],
44 | "contributors": [
45 | {
46 | "name": "Merott Movahedi",
47 | "email": "merott@merott.com"
48 | },
49 | {
50 | "name": "Markus Schlichting",
51 | "email": "m.schlichting@mynethome.de"
52 | }
53 | ],
54 | "bugs": {
55 | "url": "https://github.com/madmas/nativescript-pdf-view/issues"
56 | },
57 | "license": "MIT",
58 | "homepage": "https://github.com/madmas/nativescript-pdf-view",
59 | "readmeFilename": "README.md",
60 | "devDependencies": {
61 | "@nativescript/core": "~6.5.15",
62 | "@semantic-release/release-notes-generator": "^9.0.1",
63 | "semantic-release": "^17.1.1",
64 | "prompt": "~1.0.0",
65 | "rimraf": "3.0.0",
66 | "tns-platform-declarations": "^6.5.15",
67 | "tslint": "^6.1.0",
68 | "typescript": "~3.9.7"
69 | }
70 | }
71 |
--------------------------------------------------------------------------------
/src/pdf-view.android.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import pdfviewer = com.github.barteksc.pdfviewer;
3 | import { PDFViewCommon } from './pdf-view.common';
4 | export declare class PDFView extends PDFViewCommon {
5 | private promise;
6 | private onLoadHandler;
7 | get android(): pdfviewer.PDFView;
8 | set android(value: pdfviewer.PDFView);
9 | createNativeView(): pdfviewer.PDFView;
10 | loadPDF(src: string): void;
11 | private cacheThenLoad;
12 | }
13 |
--------------------------------------------------------------------------------
/src/pdf-view.android.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
3 | import pdfviewer = com.github.barteksc.pdfviewer;
4 | import * as http from '@nativescript/core/http';
5 |
6 | import { PDFViewCommon, srcProperty } from './pdf-view.common';
7 |
8 | export class PDFView extends PDFViewCommon {
9 | private promise: Promise;
10 |
11 | private onLoadHandler = (() => {
12 | const pdfViewRef = new WeakRef(this);
13 |
14 | return new pdfviewer.listener.OnLoadCompleteListener({
15 | loadComplete: numPages => {
16 | PDFViewCommon.notifyOfEvent(PDFViewCommon.loadEvent, pdfViewRef);
17 | },
18 | });
19 | })();
20 |
21 | public get android() {
22 | return this.nativeView as pdfviewer.PDFView;
23 | }
24 |
25 | public set android(value) {
26 | this.nativeView = value;
27 | }
28 |
29 | public createNativeView() {
30 | // tslint:disable-next-line:no-unsafe-any
31 | return new pdfviewer.PDFView(this._context, void 0);
32 | }
33 |
34 | public [srcProperty.setNative](value: string) {
35 | this.loadPDF(value);
36 | }
37 |
38 | public loadPDF(src: string) {
39 | if (!src || !this.android) {
40 | return;
41 | }
42 |
43 | // reset any previous promise since we've called loadPDF again
44 | this.promise = void 0;
45 |
46 | // detect base64 stream
47 | const base64prefix = 'data:application/pdf;base64,';
48 | if (src.indexOf(base64prefix) === 0) {
49 | const base64data = android.util.Base64.decode(
50 | src.substr(base64prefix.length),
51 | android.util.Base64.DEFAULT);
52 | this.createTempFile(base64data);
53 | return;
54 | }
55 |
56 | if (src.indexOf('://') === -1) {
57 | src = 'file://' + src;
58 | } else if (src.indexOf('file://') !== 0) {
59 | // AndroidPdfViewer cannot load from remote URLs, download to cache
60 | this.cacheThenLoad(src);
61 | return;
62 | }
63 |
64 | const uri = android.net.Uri.parse(src);
65 |
66 | const defaultSpacingDP = 8;
67 | this.android
68 | .fromUri(uri)
69 | .onLoad(this.onLoadHandler)
70 | .spacing(defaultSpacingDP)
71 | .enableAnnotationRendering(this.enableAnnotationRendering)
72 | .fitEachPage(true)
73 | .load();
74 | }
75 |
76 | private cacheThenLoad(url: string) {
77 | // clear everything in cache
78 | this.tempFolder.clear().then(() => {
79 |
80 | // download to cache
81 | const promise = this.promise = http
82 | .getFile(url, `${this.tempFolder.path}/${Date.now()}.pdf`)
83 | .then(file => {
84 | if (this.promise === promise) { // make sure we haven't switched
85 | this.loadPDF(file.path);
86 | }
87 | }).catch(error => {
88 | console.error(error);
89 | });
90 | });
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/src/pdf-view.common.d.ts:
--------------------------------------------------------------------------------
1 | import * as fs from '@nativescript/core/file-system';
2 | import { Property, View } from '@nativescript/core/ui/core/view';
3 | export declare abstract class PDFViewCommon extends View {
4 | static loadEvent: string;
5 | enableAnnotationRendering: boolean;
6 | src: string;
7 | protected tempFolder: fs.Folder;
8 | static notifyOfEvent(eventName: string, pdfViewRef: WeakRef): void;
9 | abstract loadPDF(src: string): any;
10 | protected createTempFile(base64data: any): void;
11 | }
12 | export declare const enableAnnotationRenderingProperty: Property;
13 | export declare const srcProperty: Property;
14 |
--------------------------------------------------------------------------------
/src/pdf-view.common.ts:
--------------------------------------------------------------------------------
1 | import * as fs from '@nativescript/core/file-system';
2 | import { Property, View } from '@nativescript/core/ui/core/view';
3 |
4 | export abstract class PDFViewCommon extends View {
5 | public static loadEvent = 'load';
6 |
7 | /**
8 | * Render annotations (such as comments, colors or forms) on Android
9 | */
10 | public enableAnnotationRendering: boolean;
11 |
12 | /**
13 | * the source url of the PDF to show
14 | */
15 | public src: string;
16 |
17 | protected tempFolder = fs.knownFolders.temp().getFolder('PDFViewer.temp/');
18 |
19 | public static notifyOfEvent(
20 | eventName: string,
21 | // tslint:disable-next-line: no-any
22 | pdfViewRef: WeakRef,
23 | ) {
24 | const viewer = pdfViewRef.get();
25 |
26 | if (viewer) {
27 | // tslint:disable-next-line: no-unsafe-any
28 | viewer.notify({ eventName, object: viewer });
29 | }
30 | }
31 |
32 | public abstract loadPDF(src: string);
33 |
34 | // tslint:disable-next-line: no-any
35 | protected createTempFile(base64data: any) {
36 | this.tempFolder.clear().then(() => {
37 | const file = fs.Folder.fromPath(this.tempFolder.path)
38 | .getFile(`_${Date.now()}.pdf`);
39 | file.writeSync(base64data);
40 | this.loadPDF(file.path);
41 | });
42 | }
43 | }
44 |
45 | export const enableAnnotationRenderingProperty = new Property({
46 | defaultValue: false,
47 | name: 'enableAnnotationRendering',
48 | });
49 | enableAnnotationRenderingProperty.register(PDFViewCommon);
50 |
51 | export const srcProperty = new Property({
52 | name: 'src',
53 | });
54 | srcProperty.register(PDFViewCommon);
55 |
--------------------------------------------------------------------------------
/src/pdf-view.ios.d.ts:
--------------------------------------------------------------------------------
1 | import { PDFViewCommon } from './pdf-view.common';
2 | export declare class PDFView extends PDFViewCommon {
3 | private delegate;
4 | constructor();
5 | get ios(): WKWebView;
6 | set ios(value: WKWebView);
7 | onLoaded(): void;
8 | onUnloaded(): void;
9 | loadPDF(src: string): void;
10 | private init;
11 | private get mainScreen();
12 | }
13 |
--------------------------------------------------------------------------------
/src/pdf-view.ios.ts:
--------------------------------------------------------------------------------
1 | import { screen } from '@nativescript/core/platform';
2 |
3 | import { PDFViewCommon, srcProperty } from './pdf-view.common';
4 |
5 | class PDFViewDelegate extends NSObject implements WKNavigationDelegate {
6 | public static ObjCProtocols = [WKNavigationDelegate];
7 |
8 | private owner: WeakRef;
9 |
10 | public static initWithOwner(owner: WeakRef): PDFViewDelegate {
11 | const delegate = PDFViewDelegate.new() as PDFViewDelegate;
12 | delegate.owner = owner;
13 | return delegate;
14 | }
15 |
16 | public webViewDidFinishNavigation(webView: WKWebView) {
17 | PDFViewCommon.notifyOfEvent(PDFViewCommon.loadEvent, this.owner);
18 | }
19 | }
20 |
21 | export class PDFView extends PDFViewCommon {
22 | private delegate: PDFViewDelegate;
23 |
24 | public constructor() {
25 | super();
26 | this.init();
27 | }
28 |
29 | public get ios() {
30 | return this.nativeView as WKWebView;
31 | }
32 |
33 | public set ios(value: WKWebView) {
34 | this.nativeView = value;
35 | }
36 |
37 | public [srcProperty.setNative](value: string) {
38 | this.loadPDF(value);
39 | }
40 |
41 | public onLoaded() {
42 | super.onLoaded();
43 | this.ios.navigationDelegate = this.delegate;
44 | }
45 |
46 | public onUnloaded() {
47 | this.ios.navigationDelegate = void 0;
48 | super.onUnloaded();
49 | }
50 |
51 | public loadPDF(src: string) {
52 | if (!src) {
53 | return;
54 | }
55 |
56 | let url: NSURL;
57 |
58 | // detect base64 stream
59 | const base64prefix = 'data:application/pdf;base64,';
60 | if (src.indexOf(base64prefix) === 0) {
61 | const base64data = NSData.alloc().initWithBase64EncodedStringOptions(src.substr(base64prefix.length), 0);
62 | this.createTempFile(base64data);
63 | return;
64 | }
65 |
66 | if (src.indexOf('://') === -1) {
67 | url = NSURL.fileURLWithPath(src);
68 | this.ios.loadFileURLAllowingReadAccessToURL(url, url);
69 | } else {
70 | url = NSURL.URLWithString(src);
71 | const urlRequest = NSURLRequest.requestWithURL(url);
72 | this.ios.loadRequest(urlRequest);
73 | }
74 | }
75 |
76 | private init() {
77 | this.delegate = PDFViewDelegate.initWithOwner(new WeakRef(this));
78 |
79 | this.ios = new WKWebView({
80 | configuration: WKWebViewConfiguration.new(),
81 | frame: this.mainScreen.bounds,
82 | });
83 |
84 | this.ios.opaque = false;
85 | this.ios.autoresizingMask =
86 | // tslint:disable-next-line:no-bitwise
87 | UIViewAutoresizing.FlexibleWidth |
88 | UIViewAutoresizing.FlexibleHeight;
89 | }
90 |
91 | private get mainScreen(): UIScreen {
92 | return UIScreen.mainScreen;
93 | }
94 | }
95 |
--------------------------------------------------------------------------------
/src/platforms/android/include.gradle:
--------------------------------------------------------------------------------
1 | repositories {
2 | maven { url 'https://jitpack.io' }
3 | }
4 |
5 | dependencies {
6 | implementation 'com.github.TalbotGooday:AndroidPdfViewer:3.1.0-beta.3'
7 | }
8 |
--------------------------------------------------------------------------------
/src/references.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
--------------------------------------------------------------------------------
/src/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "commonjs",
5 | "declaration": true,
6 | "removeComments": true,
7 | "noLib": false,
8 | "emitDecoratorMetadata": true,
9 | "experimentalDecorators": true,
10 | "lib": [
11 | "es6",
12 | "dom"
13 | ],
14 | "baseUrl": ".",
15 | "paths": {
16 | "*": [
17 | "./node_modules/@nativescript/core/*",
18 | "./node_modules/*"
19 | ]
20 | },
21 | "sourceMap": true,
22 | "pretty": true,
23 | "allowUnreachableCode": false,
24 | "allowUnusedLabels": false,
25 | "noEmitHelpers": true,
26 | "noEmitOnError": false,
27 | "noImplicitAny": false,
28 | "noImplicitReturns": true,
29 | "noImplicitUseStrict": false,
30 | "noFallthroughCasesInSwitch": true,
31 | "typeRoots": [
32 | "./node_modules/@types",
33 | "./node_modules"
34 | ],
35 | "types": [
36 | ]
37 | },
38 | "exclude": [
39 | "demo",
40 | "node_modules",
41 | "out"
42 | ],
43 | "compileOnSave": false
44 | }
45 |
--------------------------------------------------------------------------------
/src/tslint.json:
--------------------------------------------------------------------------------
1 | {
2 | "defaultSeverity": "error",
3 | "rules": {
4 | "adjacent-overload-signatures": true,
5 | "align": [
6 | true,
7 | "parameters",
8 | "statements"
9 | ],
10 | "array-type": [
11 | true,
12 | "array-simple"
13 | ],
14 | "arrow-parens": [
15 | true,
16 | "ban-single-arg-parens"
17 | ],
18 | "arrow-return-shorthand": true,
19 | "await-promise": true,
20 | "ban": false,
21 | "ban-types": [
22 | true,
23 | [
24 | "Object",
25 | "Avoid using the `Object` type. Did you mean `object`?"
26 | ],
27 | [
28 | "Function",
29 | "Avoid using the `Function` type. Prefer a specific function type, like `() => void`."
30 | ],
31 | [
32 | "Boolean",
33 | "Avoid using the `Boolean` type. Did you mean `boolean`?"
34 | ],
35 | [
36 | "Number",
37 | "Avoid using the `Number` type. Did you mean `number`?"
38 | ],
39 | [
40 | "String",
41 | "Avoid using the `String` type. Did you mean `string`?"
42 | ],
43 | [
44 | "Symbol",
45 | "Avoid using the `Symbol` type. Did you mean `symbol`?"
46 | ]
47 | ],
48 | "callable-types": true,
49 | "class-name": true,
50 | "comment-format": [
51 | true,
52 | "check-space"
53 | ],
54 | "curly": true,
55 | "cyclomatic-complexity": [
56 | true
57 | ],
58 | "eofline": true,
59 | "file-header": [
60 | false
61 | ],
62 | "forin": true,
63 | "import-blacklist": [
64 | true,
65 | "rxjs"
66 | ],
67 | "import-spacing": true,
68 | "indent": [
69 | true,
70 | "spaces"
71 | ],
72 | "interface-name": [
73 | true,
74 | "never-prefix"
75 | ],
76 | "interface-over-type-literal": true,
77 | "jsdoc-format": true,
78 | "label-position": true,
79 | "linebreak-style": [
80 | false,
81 | "LF"
82 | ],
83 | "match-default-export-name": [
84 | true
85 | ],
86 | "max-classes-per-file": [
87 | true,
88 | 2
89 | ],
90 | "max-file-line-count": [
91 | true,
92 | 499
93 | ],
94 | "max-line-length": [
95 | false
96 | ], // using ter-max-len because it has more options
97 | "member-access": [
98 | true,
99 | "check-accessor",
100 | "check-constructor"
101 | ],
102 | "member-ordering": [
103 | true,
104 | "static-before-instance",
105 | "variables-before-functions"
106 | ],
107 | "new-parens": true,
108 | "newline-before-return": false,
109 | "no-angle-bracket-type-assertion": true,
110 | "no-any": true,
111 | "no-arg": true,
112 | "no-bitwise": true,
113 | "no-boolean-literal-compare": false,
114 | "no-conditional-assignment": true,
115 | "no-consecutive-blank-lines": [
116 | true
117 | ],
118 | "no-console": [
119 | true,
120 | "debug",
121 | "info",
122 | "log",
123 | "time",
124 | "timeEnd",
125 | "trace"
126 | ],
127 | "no-construct": true,
128 | "no-debugger": true,
129 | "no-default-export": true,
130 | "no-duplicate-super": true,
131 | "no-duplicate-variable": true,
132 | "no-empty": true,
133 | "no-empty-interface": true,
134 | "no-eval": true,
135 | "no-floating-promises": [
136 | false
137 | ],
138 | "no-for-in-array": true,
139 | "no-import-side-effect": [
140 | false
141 | ],
142 | "no-inferrable-types": [
143 | true,
144 | "ignore-params"
145 | ],
146 | "no-inferred-empty-object-type": true,
147 | "no-internal-module": true,
148 | "no-invalid-template-strings": true,
149 | "no-invalid-this": false,
150 | "no-magic-numbers": true,
151 | "no-mergeable-namespace": true,
152 | "no-misused-new": true,
153 | "no-namespace": true,
154 | "no-non-null-assertion": true,
155 | "no-null-keyword": true,
156 | "no-parameter-properties": false,
157 | "no-reference": false,
158 | "no-reference-import": false,
159 | "no-require-imports": true,
160 | "no-shadowed-variable": true,
161 | "no-sparse-arrays": true,
162 | "no-string-literal": true,
163 | "no-string-throw": true,
164 | "no-switch-case-fall-through": true,
165 | "no-trailing-whitespace": true,
166 | "no-unbound-method": true,
167 | "no-unnecessary-callback-wrapper": false,
168 | "no-unnecessary-initializer": true,
169 | "no-unnecessary-qualifier": true,
170 | "no-unsafe-any": true,
171 | "no-unsafe-finally": true,
172 | "no-unused-expression": true,
173 | "no-use-before-declare": true,
174 | "no-var-keyword": true,
175 | "no-var-requires": true,
176 | "no-void-expression": [
177 | true,
178 | "ignore-arrow-function-shorthand"
179 | ],
180 | "object-literal-key-quotes": [
181 | true,
182 | "consistent-as-needed"
183 | ],
184 | "object-literal-shorthand": true,
185 | "object-literal-sort-keys": true,
186 | "one-line": [
187 | true,
188 | "check-catch",
189 | "check-else",
190 | "check-finally",
191 | "check-open-brace",
192 | "check-whitespace"
193 | ],
194 | "one-variable-per-declaration": [
195 | true,
196 | "ignore-for-loop"
197 | ],
198 | "only-arrow-functions": [
199 | true,
200 | "allow-declarations",
201 | "allow-named-functions"
202 | ],
203 | "ordered-imports": [
204 | true,
205 | {
206 | "import-sources-order": "case-insensitive",
207 | "named-imports-order": "case-insensitive"
208 | }
209 | ],
210 | "prefer-const": true,
211 | "prefer-for-of": true,
212 | "prefer-function-over-method": [
213 | false
214 | ],
215 | "prefer-method-signature": true,
216 | "prefer-template": [
217 | true,
218 | "allow-single-concat"
219 | ],
220 | "promise-function-async": true,
221 | "quotemark": [
222 | true,
223 | "single",
224 | "avoid-escape"
225 | ],
226 | "radix": true,
227 | "restrict-plus-operands": true,
228 | "return-undefined": false,
229 | "semicolon": [
230 | true,
231 | "always"
232 | ],
233 | "space-before-function-paren": [
234 | true,
235 | {
236 | "anonymous": "never",
237 | "asyncArrow": "always",
238 | "constructor": "never",
239 | "method": "never",
240 | "named": "never"
241 | }
242 | ],
243 | "strict-boolean-expressions": false,
244 | "strict-type-predicates": true,
245 | "switch-default": false,
246 | "trailing-comma": [
247 | true,
248 | {
249 | "multiline": "always",
250 | "singleline": "never"
251 | }
252 | ],
253 | "triple-equals": [
254 | true,
255 | "allow-null-check"
256 | ],
257 | "typedef": [
258 | false
259 | ],
260 | "typedef-whitespace": [
261 | true,
262 | {
263 | "call-signature": "nospace",
264 | "index-signature": "nospace",
265 | "parameter": "nospace",
266 | "property-declaration": "nospace",
267 | "variable-declaration": "nospace"
268 | },
269 | {
270 | "call-signature": "onespace",
271 | "index-signature": "onespace",
272 | "parameter": "onespace",
273 | "property-declaration": "onespace",
274 | "variable-declaration": "onespace"
275 | }
276 | ],
277 | "unified-signatures": true,
278 | "use-isnan": true,
279 | "variable-name": [
280 | true,
281 | "allow-leading-underscore",
282 | "allow-pascal-case",
283 | "ban-keywords",
284 | "check-format"
285 | ],
286 | "whitespace": [
287 | true,
288 | "check-branch",
289 | "check-decl",
290 | "check-operator",
291 | "check-module",
292 | "check-separator",
293 | "check-type",
294 | "check-preblock"
295 | ]
296 | }
297 | }
--------------------------------------------------------------------------------